|
1 | 1 | #!/usr/bin/env node |
2 | 2 | 'use strict' |
3 | | -// vim: set ft=javascript:ts=2:sw=2 |
4 | | -const program = require('commander') |
5 | | -const pkg = require('../package.json') |
6 | | -const createPackageJson = require('../') |
7 | | -const arrayFromList = require('../lib/array-from-list') |
8 | | - |
9 | | -let directory |
10 | | - |
11 | | -program |
12 | | - .version(pkg.version) |
13 | | - .arguments('<directory>') |
14 | | - .action((dir) => directory = dir) |
15 | | - .option('--ignore-existing', 'Ignore existing package.json') |
16 | | - .option('--existing-package [path]', 'Provide a path to an existing package.json to start with') |
17 | | - .option('--update-deps', 'Update deps which to their latest versions') |
18 | | - .option('--no-prompt', 'Skip prompts and just use input options') |
19 | | - .option('--extended', 'Show extended option prompts (ex. browser, engines, etc)') |
20 | | - .option('--spacer [json spacer]', 'Format character for package json', 2) |
21 | | - .option('--name [name]', 'The package name') |
22 | | - .option('--scope [scope]', 'The package scope') |
23 | | - .option('--ver [version]', 'The package version') |
24 | | - .option('--description [description]', 'The package description') |
25 | | - .option('--author [author]', 'The package author') |
26 | | - .option('--repository [repository]', 'The package repository') |
27 | | - .option('--keywords [keywords]', 'The package keywords') |
28 | | - .option('--license [license]', 'The package license') |
29 | | - .option('--main [main]', 'The package main entry point') |
30 | | - .option('--private', 'This is a private package') |
31 | | - .option('--dependencies [dependencies]', 'Package dependencies') |
32 | | - .option('--dev-dependencies [dependencies]', 'Package dev dependencies') |
33 | | - // .option('--peer-dependencies [dependencies]', 'Package peer dependencies') |
34 | | - .option('--scripts [scripts]', 'Package scripts') |
35 | | - .parse(process.argv) |
36 | | - |
37 | | -// Process scripts as json |
38 | | -if (program.scripts) { |
39 | | - program.scripts = JSON.parse(program.scripts) |
40 | | -} |
41 | | -if (program.dependencies) { |
42 | | - program.dependencies = arrayFromList(program.dependencies) |
43 | | -} |
44 | | -if (program.devDependencies) { |
45 | | - program.devDependencies = arrayFromList(program.devDependencies) |
46 | | -} |
47 | | -// if (program.peerDependencies) { |
48 | | -// program.peerDependencies = arrayFromList(program.peerDependencies) |
49 | | -// } |
50 | | - |
51 | | -// Run the process |
52 | | -createPackageJson({ |
53 | | - directory: directory, |
54 | | - ignoreExisting: program.ignoreExisting, |
55 | | - existingPackage: program.existingPackage, |
56 | | - noPrompt: program.noPrompt, |
57 | | - extended: program.extended, |
58 | | - spacer: program.spacer, |
59 | | - // check if string because there is a .name getter function, same with description |
60 | | - name: typeof program.name === 'string' ? program.name : undefined, |
61 | | - scope: program.scope, |
62 | | - version: program.ver, |
63 | | - description: typeof program.description === 'string' ? program.description : undefined, |
64 | | - author: program.author, |
65 | | - repository: program.repository, |
66 | | - keywords: program.keywords, |
67 | | - license: program.license, |
68 | | - main: program.main, |
69 | | - private: program.private, |
70 | | - scripts: program.scripts, |
71 | | - dependencies: program.dependencies, |
72 | | - devDependencies: program.devDependencies, |
73 | | - updateDeps: program.updateDeps |
74 | | - // peerDependencies: program.peerDependencies |
75 | | -}) |
| 3 | +require('../').cli(process.argv.slice(2)) |
0 commit comments