1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | const { packageJson, file } = require('mrm-core')
|
11 | const { execSync } = require('child_process')
|
12 |
|
13 | const TsPreset = require('./TsPreset')
|
14 | const mergeConfig = require('../utils/mergeConfig')
|
15 | const buildJapaFile = require('../utils/buildJapaFile')
|
16 |
|
17 | const baseDependencies = ['japa']
|
18 |
|
19 | function task (config) {
|
20 | mergeConfig(config, { services: [], license: 'UNLICENSED' })
|
21 |
|
22 | |
23 |
|
24 |
|
25 | const initialPkgFile = packageJson()
|
26 | if (!initialPkgFile.exists()) {
|
27 | execSync('npm init --yes')
|
28 | }
|
29 |
|
30 | TsPreset.install(baseDependencies)
|
31 |
|
32 | const pkgFile = packageJson()
|
33 |
|
34 | |
35 |
|
36 |
|
37 |
|
38 | pkgFile.setScript('mrm', 'mrm --preset=@adonisjs/mrm-preset')
|
39 | pkgFile.setScript('test', 'node japaFile.js')
|
40 | pkgFile.setScript('pretest', 'npm run lint')
|
41 | pkgFile.set('license', config.license)
|
42 |
|
43 | TsPreset.up(pkgFile)
|
44 |
|
45 | |
46 |
|
47 |
|
48 | pkgFile.save()
|
49 |
|
50 | |
51 |
|
52 |
|
53 | const japaFile = file('japaFile.js')
|
54 | japaFile.save(buildJapaFile(japaFile.get(), config.ts))
|
55 | }
|
56 |
|
57 | task.description = 'Adds package.json file and configures/installs dependencies'
|
58 | module.exports = task
|