piral-cli 1.0.0-pre.2296 → 1.0.1-beta.5640
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +30 -7
- package/lib/api.js +23 -23
- package/lib/api.js.map +1 -1
- package/lib/apps/add-piral-instance-pilet.d.ts +26 -0
- package/lib/apps/add-piral-instance-pilet.js +53 -0
- package/lib/apps/add-piral-instance-pilet.js.map +1 -0
- package/lib/apps/build-pilet.d.ts +33 -2
- package/lib/apps/build-pilet.js +159 -32
- package/lib/apps/build-pilet.js.map +1 -1
- package/lib/apps/build-piral.d.ts +18 -1
- package/lib/apps/build-piral.js +68 -52
- package/lib/apps/build-piral.js.map +1 -1
- package/lib/apps/debug-pilet.d.ts +38 -2
- package/lib/apps/debug-pilet.js +150 -108
- package/lib/apps/debug-pilet.js.map +1 -1
- package/lib/apps/debug-piral.d.ts +23 -0
- package/lib/apps/debug-piral.js +63 -52
- package/lib/apps/debug-piral.js.map +1 -1
- package/lib/apps/declaration-piral.js +5 -3
- package/lib/apps/declaration-piral.js.map +1 -1
- package/lib/apps/index.d.ts +3 -0
- package/lib/apps/index.js +8 -1
- package/lib/apps/index.js.map +1 -1
- package/lib/apps/new-pilet.d.ts +7 -3
- package/lib/apps/new-pilet.js +47 -52
- package/lib/apps/new-pilet.js.map +1 -1
- package/lib/apps/new-piral.d.ts +7 -3
- package/lib/apps/new-piral.js +33 -23
- package/lib/apps/new-piral.js.map +1 -1
- package/lib/apps/pack-pilet.d.ts +9 -0
- package/lib/apps/pack-pilet.js +6 -13
- package/lib/apps/pack-pilet.js.map +1 -1
- package/lib/apps/publish-pilet.d.ts +23 -3
- package/lib/apps/publish-pilet.js +112 -62
- package/lib/apps/publish-pilet.js.map +1 -1
- package/lib/apps/publish-piral.d.ts +6 -2
- package/lib/apps/publish-piral.js +30 -26
- package/lib/apps/publish-piral.js.map +1 -1
- package/lib/apps/remove-piral-instance-pilet.d.ts +22 -0
- package/lib/apps/remove-piral-instance-pilet.js +52 -0
- package/lib/apps/remove-piral-instance-pilet.js.map +1 -0
- package/lib/apps/run-emulator-piral.d.ts +34 -0
- package/lib/apps/run-emulator-piral.js +91 -0
- package/lib/apps/run-emulator-piral.js.map +1 -0
- package/lib/apps/upgrade-pilet.d.ts +6 -2
- package/lib/apps/upgrade-pilet.js +41 -43
- package/lib/apps/upgrade-pilet.js.map +1 -1
- package/lib/apps/upgrade-piral.d.ts +2 -2
- package/lib/apps/upgrade-piral.js +21 -20
- package/lib/apps/upgrade-piral.js.map +1 -1
- package/lib/apps/validate-pilet.js +30 -36
- package/lib/apps/validate-pilet.js.map +1 -1
- package/lib/apps/validate-piral.js +13 -10
- package/lib/apps/validate-piral.js.map +1 -1
- package/lib/build/bundler-calls.d.ts +3 -0
- package/lib/build/bundler-calls.js +117 -0
- package/lib/build/bundler-calls.js.map +1 -0
- package/lib/build/run-build-pilet.d.ts +1 -0
- package/lib/build/run-build-pilet.js +65 -0
- package/lib/build/run-build-pilet.js.map +1 -0
- package/lib/build/run-build-piral.d.ts +1 -0
- package/lib/build/run-build-piral.js +67 -0
- package/lib/build/run-build-piral.js.map +1 -0
- package/lib/build/run-debug-mono-piral.d.ts +1 -0
- package/lib/build/run-debug-mono-piral.js +70 -0
- package/lib/build/run-debug-mono-piral.js.map +1 -0
- package/lib/build/run-debug-pilet.d.ts +1 -0
- package/lib/build/run-debug-pilet.js +89 -0
- package/lib/build/run-debug-pilet.js.map +1 -0
- package/lib/build/run-debug-piral.d.ts +1 -0
- package/lib/build/run-debug-piral.js +85 -0
- package/lib/build/run-debug-piral.js.map +1 -0
- package/lib/bundler.js +75 -26
- package/lib/bundler.js.map +1 -1
- package/lib/cli.js +7 -4
- package/lib/cli.js.map +1 -1
- package/lib/commands.js +266 -46
- package/lib/commands.js.map +1 -1
- package/lib/common/archive.d.ts +4 -0
- package/lib/common/archive.js +31 -10
- package/lib/common/archive.js.map +1 -1
- package/lib/common/browser.d.ts +2 -1
- package/lib/common/browser.js +17 -8
- package/lib/common/browser.js.map +1 -1
- package/lib/common/clients/index.d.ts +21 -0
- package/lib/common/clients/index.js +48 -0
- package/lib/common/clients/index.js.map +1 -0
- package/lib/common/clients/lerna.d.ts +7 -1
- package/lib/common/clients/lerna.js +93 -7
- package/lib/common/clients/lerna.js.map +1 -1
- package/lib/common/clients/npm.d.ts +6 -1
- package/lib/common/clients/npm.js +66 -18
- package/lib/common/clients/npm.js.map +1 -1
- package/lib/common/clients/pnp.d.ts +7 -0
- package/lib/common/clients/pnp.js +104 -0
- package/lib/common/clients/pnp.js.map +1 -0
- package/lib/common/clients/pnpm.d.ts +5 -0
- package/lib/common/clients/pnpm.js +55 -6
- package/lib/common/clients/pnpm.js.map +1 -1
- package/lib/common/clients/rush.d.ts +7 -0
- package/lib/common/clients/rush.js +127 -0
- package/lib/common/clients/rush.js.map +1 -0
- package/lib/common/clients/yarn.d.ts +5 -0
- package/lib/common/clients/yarn.js +57 -6
- package/lib/common/clients/yarn.js.map +1 -1
- package/lib/common/compatibility.js +14 -9
- package/lib/common/compatibility.js.map +1 -1
- package/lib/common/config.d.ts +52 -1
- package/lib/common/config.js +10 -30
- package/lib/common/config.js.map +1 -1
- package/lib/common/constants.d.ts +10 -2
- package/lib/common/constants.js +22 -4
- package/lib/common/constants.js.map +1 -1
- package/lib/common/declaration.d.ts +2 -1
- package/lib/common/declaration.js +113 -56
- package/lib/common/declaration.js.map +1 -1
- package/lib/common/emoji.d.ts +8 -0
- package/lib/common/emoji.js +10 -1
- package/lib/common/emoji.js.map +1 -1
- package/lib/common/emulator.d.ts +2 -2
- package/lib/common/emulator.js +45 -32
- package/lib/common/emulator.js.map +1 -1
- package/lib/common/enums.d.ts +0 -4
- package/lib/common/enums.js +1 -6
- package/lib/common/enums.js.map +1 -1
- package/lib/common/envs.js +16 -5
- package/lib/common/envs.js.map +1 -1
- package/lib/common/hash.d.ts +1 -0
- package/lib/common/hash.js +8 -3
- package/lib/common/hash.js.map +1 -1
- package/lib/common/http.d.ts +5 -2
- package/lib/common/http.js +65 -23
- package/lib/common/http.js.map +1 -1
- package/lib/common/importmap.d.ts +2 -0
- package/lib/common/importmap.js +202 -0
- package/lib/common/importmap.js.map +1 -0
- package/lib/common/index.d.ts +10 -0
- package/lib/common/index.js +15 -1
- package/lib/common/index.js.map +1 -1
- package/lib/common/info.d.ts +5 -0
- package/lib/common/info.js +9 -2
- package/lib/common/info.js.map +1 -1
- package/lib/common/injectors.d.ts +36 -8
- package/lib/common/injectors.js +46 -19
- package/lib/common/injectors.js.map +1 -1
- package/lib/common/inspect.d.ts +5 -3
- package/lib/common/inspect.js +15 -15
- package/lib/common/inspect.js.map +1 -1
- package/lib/common/interactive.d.ts +9 -0
- package/lib/common/interactive.js +60 -1
- package/lib/common/interactive.js.map +1 -1
- package/lib/common/io.d.ts +9 -3
- package/lib/common/io.js +219 -116
- package/lib/common/io.js.map +1 -1
- package/lib/common/language.d.ts +9 -6
- package/lib/common/language.js +68 -12
- package/lib/common/language.js.map +1 -1
- package/lib/common/log.d.ts +5 -3
- package/lib/common/log.js +34 -48
- package/lib/common/log.js.map +1 -1
- package/lib/common/npm.d.ts +17 -16
- package/lib/common/npm.js +262 -158
- package/lib/common/npm.js.map +1 -1
- package/lib/common/pack.js +47 -26
- package/lib/common/pack.js.map +1 -1
- package/lib/common/package.d.ts +43 -20
- package/lib/common/package.js +377 -213
- package/lib/common/package.js.map +1 -1
- package/lib/common/parallel.d.ts +1 -0
- package/lib/common/parallel.js +29 -0
- package/lib/common/parallel.js.map +1 -0
- package/lib/common/patcher.js +20 -20
- package/lib/common/patcher.js.map +1 -1
- package/lib/common/platform.d.ts +13 -0
- package/lib/common/platform.js +29 -0
- package/lib/common/platform.js.map +1 -0
- package/lib/common/port.d.ts +1 -0
- package/lib/common/port.js +14 -4
- package/lib/common/port.js.map +1 -1
- package/lib/common/rules.js +4 -4
- package/lib/common/rules.js.map +1 -1
- package/lib/common/scaffold.d.ts +18 -4
- package/lib/common/scaffold.js +59 -36
- package/lib/common/scaffold.js.map +1 -1
- package/lib/common/scripts.js +8 -8
- package/lib/common/scripts.js.map +1 -1
- package/lib/common/shell.d.ts +2 -0
- package/lib/common/shell.js +33 -0
- package/lib/common/shell.js.map +1 -0
- package/lib/common/spec.d.ts +29 -0
- package/lib/common/spec.js +69 -0
- package/lib/common/spec.js.map +1 -0
- package/lib/common/template.d.ts +1 -2
- package/lib/common/template.js +23 -22
- package/lib/common/template.js.map +1 -1
- package/lib/common/url.d.ts +1 -0
- package/lib/common/url.js +17 -0
- package/lib/common/url.js.map +1 -0
- package/lib/common/utils.d.ts +1 -0
- package/lib/common/utils.js +8 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/common/version.d.ts +2 -0
- package/lib/common/version.js +130 -0
- package/lib/common/version.js.map +1 -0
- package/lib/common/watcher.d.ts +13 -0
- package/lib/common/watcher.js +78 -0
- package/lib/common/watcher.js.map +1 -0
- package/lib/external/index.js +59413 -57862
- package/lib/helpers.d.ts +6 -6
- package/lib/helpers.js +10 -25
- package/lib/helpers.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/inject.js +2 -2
- package/lib/inject.js.map +1 -1
- package/lib/injectors/pilet-injector.d.ts +75 -0
- package/lib/injectors/pilet-injector.js +246 -0
- package/lib/injectors/pilet-injector.js.map +1 -0
- package/lib/injectors/{piral.d.ts → piral-injector.d.ts} +10 -2
- package/lib/injectors/piral-injector.js +97 -0
- package/lib/injectors/piral-injector.js.map +1 -0
- package/lib/messages.d.ts +567 -47
- package/lib/messages.js +638 -51
- package/lib/messages.js.map +1 -1
- package/lib/pb-cli.js +1 -1
- package/lib/pb-cli.js.map +1 -1
- package/lib/pilet-cli.js +1 -1
- package/lib/pilet-cli.js.map +1 -1
- package/lib/piral-cli.js +1 -1
- package/lib/piral-cli.js.map +1 -1
- package/lib/platforms/node.d.ts +8 -0
- package/lib/platforms/node.js +30 -0
- package/lib/platforms/node.js.map +1 -0
- package/lib/platforms/web.d.ts +8 -0
- package/lib/platforms/web.js +120 -0
- package/lib/platforms/web.js.map +1 -0
- package/lib/plugin.js +36 -11
- package/lib/plugin.js.map +1 -1
- package/lib/questionnaire.d.ts +1 -1
- package/lib/questionnaire.js +9 -4
- package/lib/questionnaire.js.map +1 -1
- package/lib/release.d.ts +1 -1
- package/lib/release.js +38 -6
- package/lib/release.js.map +1 -1
- package/lib/resolvers.js +13 -13
- package/lib/resolvers.js.map +1 -1
- package/lib/rules/index.js +8 -8
- package/lib/rules/index.js.map +1 -1
- package/lib/rules/pilet-has-externals-as-peers.d.ts +1 -1
- package/lib/rules/pilet-has-externals-as-peers.js +9 -7
- package/lib/rules/pilet-has-externals-as-peers.js.map +1 -1
- package/lib/rules/pilet-has-no-self-reference.d.ts +1 -1
- package/lib/rules/pilet-has-no-self-reference.js +2 -2
- package/lib/rules/pilet-has-no-self-reference.js.map +1 -1
- package/lib/rules/pilet-has-no-third-party-dependency.d.ts +1 -1
- package/lib/rules/pilet-stays-small.d.ts +1 -1
- package/lib/rules/pilet-stays-small.js +4 -4
- package/lib/rules/pilet-stays-small.js.map +1 -1
- package/lib/rules/pilet-uses-latest-piral.d.ts +1 -1
- package/lib/rules/pilet-uses-latest-piral.js +18 -9
- package/lib/rules/pilet-uses-latest-piral.js.map +1 -1
- package/lib/rules/piral-depends-on-piral.d.ts +1 -1
- package/lib/rules/piral-entry-ends-with-html.d.ts +1 -1
- package/lib/rules/piral-entry-ends-with-html.js +1 -1
- package/lib/rules/piral-entry-ends-with-html.js.map +1 -1
- package/lib/rules/piral-has-valid-devDependencies.d.ts +1 -1
- package/lib/rules/piral-has-valid-externals.d.ts +1 -1
- package/lib/rules/piral-has-valid-externals.js +10 -24
- package/lib/rules/piral-has-valid-externals.js.map +1 -1
- package/lib/rules/piral-has-valid-files.d.ts +1 -1
- package/lib/rules/piral-has-valid-files.js +5 -5
- package/lib/rules/piral-has-valid-files.js.map +1 -1
- package/lib/rules/piral-has-valid-scripts.d.ts +1 -1
- package/lib/runner.js +1 -1
- package/lib/runner.js.map +1 -1
- package/lib/select.js +6 -6
- package/lib/select.js.map +1 -1
- package/lib/types/common.d.ts +88 -8
- package/lib/types/common.js.map +1 -1
- package/lib/types/index.js +5 -1
- package/lib/types/index.js.map +1 -1
- package/lib/types/internal.d.ts +12 -13
- package/lib/types/public.d.ts +89 -23
- package/package.json +19 -16
- package/src/apps/add-piral-instance-pilet.ts +98 -0
- package/src/apps/build-pilet.ts +286 -38
- package/src/apps/build-piral.test.ts +20 -7
- package/src/apps/build-piral.ts +90 -39
- package/src/apps/debug-pilet.ts +229 -123
- package/src/apps/debug-piral.ts +121 -68
- package/src/apps/declaration-piral.ts +4 -2
- package/src/apps/index.ts +3 -0
- package/src/apps/new-pilet.test.ts +28 -11
- package/src/apps/new-pilet.ts +60 -48
- package/src/apps/new-piral.test.ts +25 -13
- package/src/apps/new-piral.ts +43 -19
- package/src/apps/pack-pilet.test.ts +2 -2
- package/src/apps/pack-pilet.ts +12 -10
- package/src/apps/publish-pilet.ts +148 -43
- package/src/apps/publish-piral.ts +38 -11
- package/src/apps/remove-piral-instance-pilet.ts +92 -0
- package/src/apps/run-emulator-piral.ts +154 -0
- package/src/apps/upgrade-pilet.ts +37 -31
- package/src/apps/upgrade-piral.ts +9 -7
- package/src/apps/validate-pilet.ts +30 -22
- package/src/apps/validate-piral.ts +5 -2
- package/src/build/bundler-calls.ts +133 -0
- package/src/build/run-build-pilet.ts +91 -0
- package/src/build/run-build-piral.ts +93 -0
- package/src/build/run-debug-mono-piral.ts +86 -0
- package/src/build/run-debug-pilet.ts +116 -0
- package/src/build/run-debug-piral.ts +105 -0
- package/src/bundler.test.ts +86 -68
- package/src/bundler.ts +74 -19
- package/src/cli.ts +6 -2
- package/src/commands.ts +273 -44
- package/src/common/archive.test.ts +51 -45
- package/src/common/archive.ts +28 -1
- package/src/common/browser.test.ts +20 -10
- package/src/common/browser.ts +13 -6
- package/src/common/clients/index.ts +41 -0
- package/src/common/clients/lerna.ts +85 -1
- package/src/common/clients/npm.ts +56 -14
- package/src/common/clients/pnp.ts +84 -0
- package/src/common/clients/pnpm.ts +45 -1
- package/src/common/clients/rush.ts +118 -0
- package/src/common/clients/yarn.ts +49 -3
- package/src/common/compatibility.ts +8 -1
- package/src/common/config.ts +57 -22
- package/src/common/constants.ts +21 -3
- package/src/common/declaration.ts +124 -50
- package/src/common/emoji.ts +9 -0
- package/src/common/emulator.ts +43 -23
- package/src/common/enums.ts +0 -5
- package/src/common/envs.ts +15 -3
- package/src/common/hash.ts +5 -0
- package/src/common/http.test.ts +76 -64
- package/src/common/http.ts +88 -24
- package/src/common/importmap.ts +242 -0
- package/src/common/index.ts +10 -0
- package/src/common/info.ts +9 -1
- package/src/common/injectors.ts +49 -22
- package/src/common/inspect.ts +13 -14
- package/src/common/interactive.test.ts +6 -0
- package/src/common/interactive.ts +69 -1
- package/src/common/io.ts +199 -82
- package/src/common/language.ts +87 -10
- package/src/common/log.ts +32 -46
- package/src/common/npm.test.ts +187 -166
- package/src/common/npm.ts +263 -119
- package/src/common/pack.test.ts +11 -13
- package/src/common/pack.ts +60 -21
- package/src/common/package.test.ts +59 -49
- package/src/common/package.ts +406 -167
- package/src/common/parallel.test.ts +28 -0
- package/src/common/parallel.ts +21 -0
- package/src/common/platform.ts +31 -0
- package/src/common/port.test.ts +4 -1
- package/src/common/port.ts +10 -0
- package/src/common/rules.test.ts +3 -3
- package/src/common/scaffold.ts +69 -41
- package/src/common/scripts.ts +5 -4
- package/src/common/shell.ts +34 -0
- package/src/common/spec.ts +69 -0
- package/src/common/template.ts +20 -18
- package/src/common/url.test.ts +28 -0
- package/src/common/url.ts +15 -0
- package/src/common/utils.ts +3 -0
- package/src/common/version.test.ts +233 -0
- package/src/common/version.ts +142 -0
- package/src/common/watcher.ts +89 -0
- package/src/external/index.test.ts +2 -2
- package/src/external/index.ts +7 -3
- package/src/external/resolve.ts +29 -0
- package/src/helpers.test.ts +2 -22
- package/src/helpers.ts +21 -30
- package/src/injectors/{pilet.test.ts → pilet-injector.test.ts} +13 -4
- package/src/injectors/pilet-injector.ts +346 -0
- package/src/injectors/{piral.test.ts → piral-injector.test.ts} +14 -5
- package/src/injectors/piral-injector.ts +130 -0
- package/src/messages.ts +649 -63
- package/src/platforms/node.ts +16 -0
- package/src/platforms/web.ts +148 -0
- package/src/plugin.ts +34 -5
- package/src/questionnaire.ts +17 -3
- package/src/release.ts +47 -5
- package/src/rules/index.ts +1 -1
- package/src/rules/pilet-has-externals-as-peers.test.ts +3 -2
- package/src/rules/pilet-has-externals-as-peers.ts +9 -7
- package/src/rules/pilet-has-no-self-reference.ts +1 -1
- package/src/rules/pilet-stays-small.ts +1 -1
- package/src/rules/pilet-uses-latest-piral.ts +22 -12
- package/src/rules/piral-has-valid-externals.ts +10 -29
- package/src/types/common.ts +99 -9
- package/src/types/internal.ts +14 -14
- package/src/types/public.ts +93 -27
- package/lib/external/child.js +0 -144
- package/lib/external/classes.trie +0 -0
- package/lib/external/xdg-open +0 -1066
- package/lib/injectors/pilet.d.ts +0 -47
- package/lib/injectors/pilet.js +0 -187
- package/lib/injectors/pilet.js.map +0 -1
- package/lib/injectors/piral.js +0 -62
- package/lib/injectors/piral.js.map +0 -1
- package/src/injectors/pilet.ts +0 -219
- package/src/injectors/piral.ts +0 -76
- package/templates/piral-index.js.ejs +0 -16
package/src/bundler.test.ts
CHANGED
|
@@ -6,50 +6,63 @@ import {
|
|
|
6
6
|
callPiralDebug,
|
|
7
7
|
callDebugPiralFromMonoRepo,
|
|
8
8
|
} from './bundler';
|
|
9
|
+
import { callDynamic, callStatic } from './build/bundler-calls';
|
|
10
|
+
import * as common from './common';
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
let defaults = {
|
|
12
|
+
const defaults = {
|
|
12
13
|
bundler: false,
|
|
13
14
|
};
|
|
14
15
|
|
|
16
|
+
jest.mock('./build/bundler-calls.ts', () => ({
|
|
17
|
+
callDynamic: jest.fn(() =>
|
|
18
|
+
Promise.resolve({
|
|
19
|
+
bundle: {},
|
|
20
|
+
}),
|
|
21
|
+
),
|
|
22
|
+
callStatic: jest.fn(() =>
|
|
23
|
+
Promise.resolve({
|
|
24
|
+
bundle: {},
|
|
25
|
+
}),
|
|
26
|
+
),
|
|
27
|
+
}));
|
|
28
|
+
|
|
15
29
|
jest.mock('./inject', () => ({
|
|
16
30
|
inject() {
|
|
17
31
|
if (defaults.bundler) {
|
|
18
32
|
setBundler({
|
|
19
33
|
name: 'default',
|
|
20
34
|
actions: {
|
|
21
|
-
buildPilet: {
|
|
22
|
-
debugPilet: {
|
|
23
|
-
buildPiral: {
|
|
24
|
-
debugPiral: {
|
|
25
|
-
watchPiral: {
|
|
35
|
+
buildPilet: { path: '' },
|
|
36
|
+
debugPilet: { path: '' },
|
|
37
|
+
buildPiral: { path: '' },
|
|
38
|
+
debugPiral: { path: '' },
|
|
39
|
+
watchPiral: { path: '' },
|
|
26
40
|
} as any,
|
|
27
41
|
});
|
|
28
42
|
}
|
|
29
43
|
},
|
|
30
44
|
}));
|
|
31
45
|
|
|
32
|
-
jest.mock(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
);
|
|
46
|
+
jest.mock('./common', () => ({
|
|
47
|
+
config: {
|
|
48
|
+
bundler: 'parcel',
|
|
49
|
+
},
|
|
50
|
+
promptSelect(msg, choices, defval) {
|
|
51
|
+
return Promise.resolve(defval);
|
|
52
|
+
},
|
|
53
|
+
compatVersion: '1',
|
|
54
|
+
installNpmPackage: jest.fn(),
|
|
55
|
+
fail(msg) {
|
|
56
|
+
throw new Error(msg);
|
|
57
|
+
},
|
|
58
|
+
progress() {},
|
|
59
|
+
log() {},
|
|
60
|
+
determineNpmClient() {
|
|
61
|
+
return 'npm';
|
|
62
|
+
},
|
|
63
|
+
patchModules: jest.fn(),
|
|
64
|
+
logReset() {},
|
|
65
|
+
}));
|
|
53
66
|
|
|
54
67
|
describe('Piral CLI Bundler Module', () => {
|
|
55
68
|
it('fails if no default bundler can be installed, but required', async () => {
|
|
@@ -64,11 +77,11 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
64
77
|
|
|
65
78
|
it('setting the bundler can resolve it properly for call pilet build', async () => {
|
|
66
79
|
const actions = {
|
|
67
|
-
buildPilet: {
|
|
68
|
-
debugPilet: {
|
|
69
|
-
buildPiral: {
|
|
70
|
-
debugPiral: {
|
|
71
|
-
watchPiral: {
|
|
80
|
+
buildPilet: { path: '1' },
|
|
81
|
+
debugPilet: { path: '2' },
|
|
82
|
+
buildPiral: { path: '3' },
|
|
83
|
+
debugPiral: { path: '4' },
|
|
84
|
+
watchPiral: { path: '5' },
|
|
72
85
|
};
|
|
73
86
|
|
|
74
87
|
setBundler({
|
|
@@ -76,17 +89,18 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
76
89
|
actions: actions as any,
|
|
77
90
|
});
|
|
78
91
|
|
|
79
|
-
|
|
80
|
-
|
|
92
|
+
const args = { root: undefined };
|
|
93
|
+
await callPiletBuild(args as any, 'foo1');
|
|
94
|
+
expect(callStatic).toHaveBeenCalledWith('build-pilet', '1', args);
|
|
81
95
|
});
|
|
82
96
|
|
|
83
97
|
it('setting the bundler with optimize modules calls optimize modules', async () => {
|
|
84
98
|
const actions = {
|
|
85
|
-
buildPilet: {
|
|
86
|
-
debugPilet: {
|
|
87
|
-
buildPiral: {
|
|
88
|
-
debugPiral: {
|
|
89
|
-
watchPiral: {
|
|
99
|
+
buildPilet: { path: '' },
|
|
100
|
+
debugPilet: { path: '' },
|
|
101
|
+
buildPiral: { path: '' },
|
|
102
|
+
debugPiral: { path: '' },
|
|
103
|
+
watchPiral: { path: '' },
|
|
90
104
|
};
|
|
91
105
|
|
|
92
106
|
setBundler({
|
|
@@ -105,11 +119,11 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
105
119
|
|
|
106
120
|
it('setting the bundler can resolve it properly for call piral build', async () => {
|
|
107
121
|
const actions = {
|
|
108
|
-
buildPilet: {
|
|
109
|
-
debugPilet: {
|
|
110
|
-
buildPiral: {
|
|
111
|
-
debugPiral: {
|
|
112
|
-
watchPiral: {
|
|
122
|
+
buildPilet: { path: '1' },
|
|
123
|
+
debugPilet: { path: '2' },
|
|
124
|
+
buildPiral: { path: '3' },
|
|
125
|
+
debugPiral: { path: '4' },
|
|
126
|
+
watchPiral: { path: '5' },
|
|
113
127
|
};
|
|
114
128
|
|
|
115
129
|
setBundler({
|
|
@@ -117,17 +131,18 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
117
131
|
actions: actions as any,
|
|
118
132
|
});
|
|
119
133
|
|
|
120
|
-
|
|
121
|
-
|
|
134
|
+
const args = { root: undefined };
|
|
135
|
+
await callPiralBuild(args as any, 'foo2');
|
|
136
|
+
expect(callStatic).toHaveBeenCalledWith('build-piral', '3', args);
|
|
122
137
|
});
|
|
123
138
|
|
|
124
139
|
it('setting the bundler can resolve it properly for call pilet debug', async () => {
|
|
125
140
|
const actions = {
|
|
126
|
-
buildPilet: {
|
|
127
|
-
debugPilet: {
|
|
128
|
-
buildPiral: {
|
|
129
|
-
debugPiral: {
|
|
130
|
-
watchPiral: {
|
|
141
|
+
buildPilet: { path: '0' },
|
|
142
|
+
debugPilet: { path: '1' },
|
|
143
|
+
buildPiral: { path: '2' },
|
|
144
|
+
debugPiral: { path: '3' },
|
|
145
|
+
watchPiral: { path: '4' },
|
|
131
146
|
};
|
|
132
147
|
|
|
133
148
|
setBundler({
|
|
@@ -135,17 +150,18 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
135
150
|
actions: actions as any,
|
|
136
151
|
});
|
|
137
152
|
|
|
138
|
-
|
|
139
|
-
|
|
153
|
+
const args = { root: undefined };
|
|
154
|
+
await callPiletDebug(args as any, 'foo3');
|
|
155
|
+
expect(callDynamic).toHaveBeenCalledWith('debug-pilet', '1', args);
|
|
140
156
|
});
|
|
141
157
|
|
|
142
158
|
it('setting the bundler can resolve it properly for call piral debug', async () => {
|
|
143
159
|
const actions = {
|
|
144
|
-
buildPilet: {
|
|
145
|
-
debugPilet: {
|
|
146
|
-
buildPiral: {
|
|
147
|
-
debugPiral: {
|
|
148
|
-
watchPiral: {
|
|
160
|
+
buildPilet: { path: '7' },
|
|
161
|
+
debugPilet: { path: '8' },
|
|
162
|
+
buildPiral: { path: '9' },
|
|
163
|
+
debugPiral: { path: '10' },
|
|
164
|
+
watchPiral: { path: '11' },
|
|
149
165
|
};
|
|
150
166
|
|
|
151
167
|
setBundler({
|
|
@@ -153,17 +169,18 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
153
169
|
actions: actions as any,
|
|
154
170
|
});
|
|
155
171
|
|
|
156
|
-
|
|
157
|
-
|
|
172
|
+
const args = { root: undefined };
|
|
173
|
+
await callPiralDebug(args as any, 'foo4');
|
|
174
|
+
expect(callDynamic).toHaveBeenCalledWith('debug-piral', '10', args);
|
|
158
175
|
});
|
|
159
176
|
|
|
160
177
|
it('setting the bundler can resolve it properly for call piral watch', async () => {
|
|
161
178
|
const actions = {
|
|
162
|
-
buildPilet: {
|
|
163
|
-
debugPilet: {
|
|
164
|
-
buildPiral: {
|
|
165
|
-
debugPiral: {
|
|
166
|
-
watchPiral: {
|
|
179
|
+
buildPilet: { path: '3' },
|
|
180
|
+
debugPilet: { path: '4' },
|
|
181
|
+
buildPiral: { path: '5' },
|
|
182
|
+
debugPiral: { path: '6' },
|
|
183
|
+
watchPiral: { path: '7' },
|
|
167
184
|
};
|
|
168
185
|
|
|
169
186
|
setBundler({
|
|
@@ -171,8 +188,9 @@ describe('Piral CLI Bundler Module', () => {
|
|
|
171
188
|
actions: actions as any,
|
|
172
189
|
});
|
|
173
190
|
|
|
174
|
-
|
|
175
|
-
|
|
191
|
+
const args = { root: undefined };
|
|
192
|
+
await callDebugPiralFromMonoRepo(args as any, 'foo5');
|
|
193
|
+
expect(callStatic).toHaveBeenCalledWith('debug-mono-piral', '7', args);
|
|
176
194
|
});
|
|
177
195
|
|
|
178
196
|
it('using a non-available bundler should fail', () => {
|
package/src/bundler.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import { callDynamic, callStatic } from './build/bundler-calls';
|
|
1
2
|
import { availableBundlers } from './helpers';
|
|
3
|
+
import { isInteractive } from './external';
|
|
2
4
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
installNpmPackage,
|
|
6
|
+
compatVersion,
|
|
5
7
|
fail,
|
|
6
8
|
progress,
|
|
7
9
|
log,
|
|
8
10
|
determineNpmClient,
|
|
9
11
|
patchModules,
|
|
12
|
+
bundlerNames,
|
|
10
13
|
logReset,
|
|
11
14
|
config,
|
|
15
|
+
promptSelect,
|
|
12
16
|
} from './common';
|
|
13
17
|
import {
|
|
14
18
|
Bundler,
|
|
@@ -20,6 +24,7 @@ import {
|
|
|
20
24
|
DebugPiletParameters,
|
|
21
25
|
BundlerDefinition,
|
|
22
26
|
BaseBundleParameters,
|
|
27
|
+
BaseBundlerDefinition,
|
|
23
28
|
} from './types';
|
|
24
29
|
|
|
25
30
|
export interface QualifiedBundler {
|
|
@@ -29,15 +34,27 @@ export interface QualifiedBundler {
|
|
|
29
34
|
|
|
30
35
|
const bundlers: Array<QualifiedBundler> = [];
|
|
31
36
|
|
|
37
|
+
async function getBundlerToInstall() {
|
|
38
|
+
const selectedBundler = config.bundler || 'webpack5';
|
|
39
|
+
|
|
40
|
+
if (isInteractive()) {
|
|
41
|
+
return await promptSelect('No bundler found. Which one do you want to install?', bundlerNames, selectedBundler);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
log('bundlerNotInstalled_0176');
|
|
45
|
+
return selectedBundler;
|
|
46
|
+
}
|
|
47
|
+
|
|
32
48
|
async function installDefaultBundler(root: string) {
|
|
33
|
-
const selectedBundler =
|
|
34
|
-
log('generalDebug_0003', `Installation of
|
|
49
|
+
const selectedBundler = await getBundlerToInstall();
|
|
50
|
+
log('generalDebug_0003', `Installation of bundler "${selectedBundler}".`);
|
|
35
51
|
const selectedPackage = `piral-cli-${selectedBundler}`;
|
|
36
|
-
log('generalDebug_0003', `Determining
|
|
52
|
+
log('generalDebug_0003', `Determining npm client at "${root}" ...`);
|
|
37
53
|
const client = await determineNpmClient(root);
|
|
38
|
-
|
|
54
|
+
const packageId = `${selectedPackage}@^${compatVersion}`;
|
|
55
|
+
log('generalDebug_0003', `Prepare to install ${packageId} using "${client}" into "${root}".`);
|
|
39
56
|
progress(`Installing ${selectedPackage} ...`);
|
|
40
|
-
await
|
|
57
|
+
await installNpmPackage(client, packageId, root, '--save-dev', '--save-exact');
|
|
41
58
|
log('generalDebug_0003', `Installed bundler from "${selectedPackage}".`);
|
|
42
59
|
|
|
43
60
|
require('./inject').inject(selectedPackage);
|
|
@@ -76,12 +93,18 @@ async function findBundler(root: string, bundlerName?: string) {
|
|
|
76
93
|
return defaultBundler;
|
|
77
94
|
}
|
|
78
95
|
|
|
79
|
-
async function
|
|
96
|
+
async function prepareArgs<T extends BaseBundleParameters>(bundler: BaseBundlerDefinition<T>, args: T): Promise<T> {
|
|
80
97
|
if (args.optimizeModules) {
|
|
81
98
|
progress('Preparing modules ...');
|
|
82
99
|
await patchModules(args.root, args.ignored);
|
|
83
100
|
logReset();
|
|
84
101
|
}
|
|
102
|
+
|
|
103
|
+
if (bundler.prepare) {
|
|
104
|
+
return await bundler.prepare(args);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return args;
|
|
85
108
|
}
|
|
86
109
|
|
|
87
110
|
export function setBundler(bundler: QualifiedBundler) {
|
|
@@ -94,26 +117,52 @@ export function setBundler(bundler: QualifiedBundler) {
|
|
|
94
117
|
|
|
95
118
|
export async function callPiralDebug(args: DebugPiralParameters, bundlerName?: string): Promise<Bundler> {
|
|
96
119
|
const bundler = await findBundler(args.root, bundlerName);
|
|
97
|
-
|
|
98
|
-
|
|
120
|
+
|
|
121
|
+
try {
|
|
122
|
+
const action = bundler.actions.debugPiral;
|
|
123
|
+
const params = await prepareArgs(action, args);
|
|
124
|
+
return await callDynamic('debug-piral', action.path, params);
|
|
125
|
+
} catch (err) {
|
|
126
|
+
fail('bundlingFailed_0174', err);
|
|
127
|
+
}
|
|
99
128
|
}
|
|
100
129
|
|
|
101
130
|
export async function callPiletDebug(args: DebugPiletParameters, bundlerName?: string): Promise<Bundler> {
|
|
102
131
|
const bundler = await findBundler(args.root, bundlerName);
|
|
103
|
-
|
|
104
|
-
|
|
132
|
+
|
|
133
|
+
try {
|
|
134
|
+
const action = bundler.actions.debugPilet;
|
|
135
|
+
const params = await prepareArgs(action, args);
|
|
136
|
+
return await callDynamic('debug-pilet', action.path, params);
|
|
137
|
+
} catch (err) {
|
|
138
|
+
fail('bundlingFailed_0174', err);
|
|
139
|
+
}
|
|
105
140
|
}
|
|
106
141
|
|
|
107
142
|
export async function callPiralBuild(args: BuildPiralParameters, bundlerName?: string): Promise<BundleDetails> {
|
|
108
143
|
const bundler = await findBundler(args.root, bundlerName);
|
|
109
|
-
|
|
110
|
-
|
|
144
|
+
|
|
145
|
+
try {
|
|
146
|
+
const action = bundler.actions.buildPiral;
|
|
147
|
+
const params = await prepareArgs(action, args);
|
|
148
|
+
const instance = await callStatic('build-piral', action.path, params);
|
|
149
|
+
return instance.bundle;
|
|
150
|
+
} catch (err) {
|
|
151
|
+
fail('bundlingFailed_0174', err);
|
|
152
|
+
}
|
|
111
153
|
}
|
|
112
154
|
|
|
113
155
|
export async function callPiletBuild(args: BuildPiletParameters, bundlerName?: string): Promise<BundleDetails> {
|
|
114
156
|
const bundler = await findBundler(args.root, bundlerName);
|
|
115
|
-
|
|
116
|
-
|
|
157
|
+
|
|
158
|
+
try {
|
|
159
|
+
const action = bundler.actions.buildPilet;
|
|
160
|
+
const params = await prepareArgs(action, args);
|
|
161
|
+
const instance = await callStatic('build-pilet', action.path, params);
|
|
162
|
+
return instance.bundle;
|
|
163
|
+
} catch (err) {
|
|
164
|
+
fail('bundlingFailed_0174', err);
|
|
165
|
+
}
|
|
117
166
|
}
|
|
118
167
|
|
|
119
168
|
export async function callDebugPiralFromMonoRepo(
|
|
@@ -121,7 +170,13 @@ export async function callDebugPiralFromMonoRepo(
|
|
|
121
170
|
bundlerName?: string,
|
|
122
171
|
): Promise<BundleDetails> {
|
|
123
172
|
const bundler = await findBundler(args.root, bundlerName);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
173
|
+
|
|
174
|
+
try {
|
|
175
|
+
const action = bundler.actions.watchPiral;
|
|
176
|
+
const params = await prepareArgs(action, args);
|
|
177
|
+
const instance = await callStatic('debug-mono-piral', action.path, params);
|
|
178
|
+
return instance.bundle;
|
|
179
|
+
} catch (err) {
|
|
180
|
+
fail('bundlingFailed_0174', err);
|
|
181
|
+
}
|
|
127
182
|
}
|
package/src/cli.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as yargs from 'yargs';
|
|
2
2
|
import { detailed } from 'yargs-parser';
|
|
3
|
+
import { caterpillerIcon, zapIcon, butterflyIcon, cliName, cliVersion } from './common';
|
|
3
4
|
import { runQuestionnaireFor } from './questionnaire';
|
|
4
5
|
import { ToolCommand } from './types';
|
|
5
6
|
|
|
@@ -42,11 +43,13 @@ export function setupCli(commands: Array<ToolCommand<any>>) {
|
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
45
|
|
|
46
|
+
console.log(`${butterflyIcon} ${cliName} v${cliVersion}`);
|
|
47
|
+
|
|
45
48
|
return runCommand().then(
|
|
46
49
|
() => process.exit(0),
|
|
47
50
|
(err) => {
|
|
48
51
|
err && !err.logged && console.error(err.message);
|
|
49
|
-
console.log(
|
|
52
|
+
console.log(`${caterpillerIcon} Find detailed descriptions at https://docs.piral.io/code/search`);
|
|
50
53
|
process.exit(1);
|
|
51
54
|
},
|
|
52
55
|
);
|
|
@@ -54,5 +57,6 @@ export function setupCli(commands: Array<ToolCommand<any>>) {
|
|
|
54
57
|
);
|
|
55
58
|
}
|
|
56
59
|
|
|
57
|
-
argv.epilog(
|
|
60
|
+
argv.epilog(`${zapIcon} For more information, check out the documentation at https://docs.piral.io`).help().strict()
|
|
61
|
+
.argv;
|
|
58
62
|
}
|