Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const task: TaskFn = (absPath) => {
const env = new EnvFile(absPath)
env.set('PORT', '3333')
env.set('HOST', '0.0.0.0')
env.set('NODE_ENV', 'development')
env.set('APP_KEY', randomstring.generate(32))
env.commit()
logger.create('.env, .env.example')
}
rcFile.set('typescript', true)
rcFile.set('commands', ['./commands'])
rcFile.setExceptionHandler('App/Exceptions/Handler')
rcFile.setAutoload('App', 'app')
rcFile.setAutoload('Contracts', 'contracts')
rcFile.setPreload('./start/routes')
rcFile.setPreload('./start/kernel')
metaFiles[state.boilerplate].forEach((file) => {
rcFile.addMetaFile(file)
})
rcFile.commit()
logger.create('.adonisrc.json')
}
const task: TaskFn = (absPath) => {
const gitignore = new LinesFile(absPath, '.gitignore')
gitignore.add('node_modules')
gitignore.add('build')
gitignore.add('coverage')
gitignore.add('.vscode')
gitignore.add('.DS_STORE')
gitignore.add('.env')
gitignore.commit()
logger.create('.gitignore')
}
end_of_line: 'lf',
charset: 'utf-8',
trim_trailing_whitespace: true,
insert_final_newline: true,
})
editorConfig.set('*.json', {
insert_final_newline: 'ignore',
})
editorConfig.set('*.md', {
trim_trailing_whitespace: false,
})
editorConfig.commit()
logger.create('.editorconfig')
}
const task: TaskFn = (absPath, _app, state) => {
if (!state.eslint) {
return
}
const eslint = new JsonFile(absPath, '.eslintrc.json')
eslint.set('extends', ['plugin:adonis/typescriptApp'])
eslint.commit()
const eslintIgnore = new LinesFile(absPath, '.eslintignore')
eslintIgnore.add('build')
eslintIgnore.commit()
logger.create('.eslintrc.json, .eslintignore')
}
tsconfig.set('include', ['**/*'])
tsconfig.set('exclude', ['node_modules', 'build'])
tsconfig.set('extends', './node_modules/adonis-preset-ts/tsconfig')
tsconfig.set('compilerOptions', {
outDir: 'build',
rootDir: './',
sourceMap: true,
paths: {
'App/*': ['./app/*'],
'Contracts/*': ['./contracts/*'],
},
})
tsconfig.commit()
logger.create('tsconfig.json')
}
.forEach((name: string) => {
const outputFileName = name.replace(/\.txt$/, '.ts')
const src = join(__dirname, '..', 'templates', state.boilerplate, name)
new TemplateFile(absPath, outputFileName, src).apply({}).commit()
logger.create(outputFileName)
})
}
spinner = ora({ interval: 120 })
logInstall(list, spinner, dev)
})
/**
* Commit mutations
*/
const response = await pkg.commitAsync()
spinner && spinner!.stopAndPersist()
if (response && response.status === 1) {
const errorMessage = state.client === 'yarn' ? 'yarn install failed' : 'npm install failed'
logger.fatal({ message: errorMessage, stack: response.stderr.toString() })
throw new Error('Installation failed')
} else {
logger.create('package.json')
}
}