Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export function PackageJsonGenerator(name: string, version: string): Json {
const gen = new Json()
// basic info
gen.set('name', dasherize(name))
gen.set('version', '0.1.0')
gen.set('description', 'my new seagull app')
gen.set('private', true)
gen.set('browser', '.seagull/dist/frontend/index.js')
// enforce node version for lambda compatibility
gen.set('engineStrict', true)
gen.set('engines', { node: '8.10' })
// add CLI scripts
gen.set('scripts', { start: 'seagull-server' })
// add dependencies
gen.set('dependencies', { '@seagull/core': `^${version}` })
gen.set('devDependencies', {
'@types/history': '^4.6.0',
'@types/node': '^8.0.25',
'@types/react': '^16.4.9',
'@types/react-dom': '^16.0.7',
.reduce((obj, [columnName, value]) => ({
...obj,
[camelize(columnName, true)]: {
...value,
columnName,
docName: dasherize(columnName)
}
}), {})
selectColumns(originalSelect) {
const newSelect = {}
for(const originalModelName in originalSelect) {
const newModelName = inflection.dasherize(inflection.underscore(originalModelName))
const newValues = []
const originalValues = originalSelect[originalModelName]
for(const originalAttributeName of originalValues) {
const newAttributeName = inflection.underscore(originalAttributeName)
newValues.push(newAttributeName)
}
newSelect[newModelName] = newValues
}
return this._clone({selectColumns: newSelect})
}
abilities(originalAbilities) {
const newAbilities = {}
for(const originalAbilityName in originalAbilities) {
const newModelName = inflection.dasherize(inflection.underscore(originalAbilityName))
const newValues = []
const originalValues = originalAbilities[originalAbilityName]
for(const originalAbilityName of originalValues) {
const newAbilityName = inflection.underscore(originalAbilityName)
newValues.push(newAbilityName)
}
newAbilities[newModelName] = newValues
}
return this._clone({abilities: newAbilities})
}
return transformKeys(source, key => dasherize(underscore(key), true), deep)
}
function getName (name) {
name = name.toLowerCase()
name = inflection.dasherize(name).replace(/-/g, '_')
name = inflection.camelize(name, true)
return name
}
function formatTitle (title) {
return inflection.dasherize(title);
}
return manager.without_updates(() => {
let columns = opt.columns || 3
let span = 12 / columns
let section = new models.Section()
let definition = new models.DashboardDefinition({
items: [section]
})
let dash = new models.Dashboard({
title: inflection.dasherize(gdash.name),
category: 'Graphite',
tags: ['imported'],
definition: definition
})
let row = new models.Row()
for (let graph of gdash.graphs) {
let [targets, options, render_url] = graph
let is_stacked = render_url.indexOf('stacked') > -1 || (options.areaMode && options.areaMode === 'stacked')
let query_name = 'q' + Object.keys(definition.queries).length
let query = new models.Query({
name: query_name,
targets: options.target || []
})
definition.add_query(query)
select(originalSelect) {
const newSelect = {}
for(const originalModelName in originalSelect) {
const newModelName = inflection.dasherize(inflection.underscore(originalModelName))
const newValues = []
const originalValues = originalSelect[originalModelName]
for(const originalAttributeName of originalValues) {
const newAttributeName = inflection.underscore(originalAttributeName)
newValues.push(newAttributeName)
}
newSelect[newModelName] = newValues
}
return this._clone({select: newSelect})
}