UNPKG

6.29 kBJavaScriptView Raw
1#!/usr/bin/env node
2"use strict";
3const meow = require('meow');
4const updateNotifier = require('update-notifier');
5// init - updates root pkg scripts with required commands, adds tsm-readme.md
6const cli = meow(`
7 Usage
8 $ ngm <command> [options]
9
10 Commands:
11 ----------------------------------------------------------------
12 build - build typescript projects
13 Usage:
14 $ tsm build -p src
15 Mandatory options:
16 -p DIRECTORY, Compile the project in the given directory
17 --project DIRECTORY
18 Optional options (default: false):
19 --no-local Use version numbers from local submodules when building package.json,
20 usually needed only for publish command
21 -w, --watch Watch input files
22 --verbose Enable verbose mode
23 --clean Cleaning dist folders
24 It removes folder, so you will need to rerun commands like 'link', etc...
25 --skip-bundles Works only in --watch mode, allows to skip umd bundling
26
27 ----------------------------------------------------------------
28 link - runs 'npm link' in each submodule dist folder
29 Usage:
30 $ tsm link -p src
31 Hint:
32 'npm link' doesn't track adding new files, please rerun this command if file was added/removed
33 Mandatory options:
34 -p DIRECTORY, Compile the project in the given directory
35 --project DIRECTORY
36 Optional options:
37 --no-deep By default local submodules will be linked to each other
38 --here Links submodules to root package
39
40 ----------------------------------------------------------------
41 publish - runs 'npm publish' in each dist submodule folders, how it works:
42
43 1. Runs git checks (you should be on master branch, without changes in working tree, and up to date with remote history
44 --any-branch - disables on 'master' check
45 --skip-git-check - to skip all git checks
46
47 2. Performs clean install of dependecies
48 --yarn - to install dependencies with 'yarn'
49 --skip-cleanup - to not delete 'node_modules' before installing
50
51 3. Running tests (npm test) from root folder
52
53 4. Running e2e test (npm run e2e), all submodules will be built in local mode and linked (npm link)
54
55 5. Publishing, with separate clean build
56 --skip-publish - skip publishing and clean build, in case you want to double check something
57 --tag - same as 'npm publish --tag next', use in case you want new release without changing 'latest' npm tag
58 --access - same as 'npm publish --access p*'
59 Steps 1-4 can be skipped with --yolo flag
60
61 ----------------------------------------------------------------
62 version - runs 'npm version <version>' in each submodule and than in root folder
63 Usage:
64 $ tsm version prerelease -p src
65 Mandatory options:
66 -m MESSAGE, Commit message when creating a version commit
67 --message MESSAGE
68 --no-git-tag-version Do not create a version commit and tag (applied only to root folder)
69 Optional options:
70 --skip-push Skip pushing of version commit and tags
71 ----------------------------------------------------------------
72
73`, {
74 alias: {
75 m: 'message',
76 p: 'project',
77 w: 'watch',
78 v: 'version',
79 local: 'use-local-dependencies alias'
80 }
81});
82updateNotifier({ pkg: cli.pkg }).notify();
83if (cli.flags.version) {
84 console.log(`${cli.pkg.name} ${cli.pkg.version}`);
85 process.exit();
86}
87// show help and exit by default
88if (cli.input.length === 0) {
89 cli.showHelp(0);
90}
91// project flag is mandatory for now
92if (!cli.flags.project) {
93 console.error('Please provide path to your projects source folder, `-p DIR` ');
94 process.exit(1);
95}
96const ngm_1 = require("../lib/ngm");
97Promise
98 .resolve()
99 .then(() => {
100 // default verbose to true
101 cli.flags.verbose = cli.flags.verbose !== false;
102 return ngm_1.main(cli.input[0], cli);
103})
104 .catch(err => {
105 console.error(`\n` && err.stderr || '');
106 console.error(`\n`, err);
107 process.exit(1);
108});
109//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdtLWNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ20vYmluL25nbS1jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFbEQsNkVBQTZFO0FBRTdFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1FaEIsRUFBRTtJQUNELEtBQUssRUFBRTtRQUNMLENBQUMsRUFBRSxTQUFTO1FBQ1osQ0FBQyxFQUFFLFNBQVM7UUFDWixDQUFDLEVBQUUsT0FBTztRQUNWLENBQUMsRUFBRSxTQUFTO1FBQ1osS0FBSyxFQUFFLDhCQUE4QjtLQUN0QztDQUNGLENBQUMsQ0FBQztBQUVILGNBQWMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUV4QyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNsRCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELGdDQUFnQztBQUNoQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELG9DQUFvQztBQUNwQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7SUFDL0UsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsb0NBQWtDO0FBRWxDLE9BQU87S0FDSixPQUFPLEVBQUU7S0FDVCxJQUFJLENBQUM7SUFDSiwwQkFBMEI7SUFDMUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxVQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUM7S0FDRCxLQUFLLENBQUMsR0FBRztJQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyJ9
\No newline at end of file