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/apps/build-piral.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { join, resolve } from 'path';
|
|
2
2
|
import { callPiralBuild } from '../bundler';
|
|
3
3
|
import { LogLevels, PiralBuildType } from '../types';
|
|
4
4
|
import {
|
|
@@ -15,33 +15,15 @@ import {
|
|
|
15
15
|
logInfo,
|
|
16
16
|
runScript,
|
|
17
17
|
packageEmulator,
|
|
18
|
+
normalizePublicUrl,
|
|
19
|
+
getDestination,
|
|
20
|
+
validateSharedDependencies,
|
|
18
21
|
} from '../common';
|
|
19
22
|
|
|
20
23
|
const releaseName = 'release';
|
|
21
24
|
const emulatorName = 'emulator';
|
|
22
25
|
const emulatorSourcesName = 'emulator-sources';
|
|
23
26
|
|
|
24
|
-
interface Destination {
|
|
25
|
-
outDir: string;
|
|
26
|
-
outFile: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function getDestination(entryFiles: string, target: string): Destination {
|
|
30
|
-
const isdir = extname(target) !== '.html';
|
|
31
|
-
|
|
32
|
-
if (isdir) {
|
|
33
|
-
return {
|
|
34
|
-
outDir: target,
|
|
35
|
-
outFile: basename(entryFiles),
|
|
36
|
-
};
|
|
37
|
-
} else {
|
|
38
|
-
return {
|
|
39
|
-
outDir: dirname(target),
|
|
40
|
-
outFile: basename(target),
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
27
|
export interface BuildPiralOptions {
|
|
46
28
|
/**
|
|
47
29
|
* The location of the piral
|
|
@@ -54,7 +36,7 @@ export interface BuildPiralOptions {
|
|
|
54
36
|
target?: string;
|
|
55
37
|
|
|
56
38
|
/**
|
|
57
|
-
* Sets the public URL (path) of the bundle.
|
|
39
|
+
* Sets the public URL (path) of the bundle. Only for release output.
|
|
58
40
|
*/
|
|
59
41
|
publicUrl?: string;
|
|
60
42
|
|
|
@@ -88,6 +70,11 @@ export interface BuildPiralOptions {
|
|
|
88
70
|
*/
|
|
89
71
|
sourceMaps?: boolean;
|
|
90
72
|
|
|
73
|
+
/**
|
|
74
|
+
* States if the build should run continuously and re-build when files change.
|
|
75
|
+
*/
|
|
76
|
+
watch?: boolean;
|
|
77
|
+
|
|
91
78
|
/**
|
|
92
79
|
* Sets the bundler to use for building, if any specific.
|
|
93
80
|
*/
|
|
@@ -107,6 +94,20 @@ export interface BuildPiralOptions {
|
|
|
107
94
|
* Additional arguments for a specific bundler.
|
|
108
95
|
*/
|
|
109
96
|
_?: Record<string, any>;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Hooks to be triggered at various stages.
|
|
100
|
+
*/
|
|
101
|
+
hooks?: {
|
|
102
|
+
onBegin?(e: any): Promise<void>;
|
|
103
|
+
beforeBuild?(e: any): Promise<void>;
|
|
104
|
+
afterBuild?(e: any): Promise<void>;
|
|
105
|
+
beforeEmulator?(e: any): Promise<void>;
|
|
106
|
+
afterEmulator?(e: any): Promise<void>;
|
|
107
|
+
beforePackage?(e: any): Promise<void>;
|
|
108
|
+
afterPackage?(e: any): Promise<void>;
|
|
109
|
+
onEnd?(e: any): Promise<void>;
|
|
110
|
+
};
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
export const buildPiralDefaults: BuildPiralOptions = {
|
|
@@ -119,6 +120,7 @@ export const buildPiralDefaults: BuildPiralOptions = {
|
|
|
119
120
|
type: 'all',
|
|
120
121
|
subdir: true,
|
|
121
122
|
sourceMaps: true,
|
|
123
|
+
watch: false,
|
|
122
124
|
contentHash: true,
|
|
123
125
|
optimizeModules: false,
|
|
124
126
|
};
|
|
@@ -139,27 +141,36 @@ export async function buildPiral(baseDir = process.cwd(), options: BuildPiralOpt
|
|
|
139
141
|
const {
|
|
140
142
|
entry = buildPiralDefaults.entry,
|
|
141
143
|
target = buildPiralDefaults.target,
|
|
142
|
-
publicUrl = buildPiralDefaults.publicUrl,
|
|
144
|
+
publicUrl: originalPublicUrl = buildPiralDefaults.publicUrl,
|
|
143
145
|
logLevel = buildPiralDefaults.logLevel,
|
|
144
146
|
minify = buildPiralDefaults.minify,
|
|
145
147
|
sourceMaps = buildPiralDefaults.sourceMaps,
|
|
148
|
+
watch = buildPiralDefaults.watch,
|
|
146
149
|
contentHash = buildPiralDefaults.contentHash,
|
|
147
150
|
subdir = buildPiralDefaults.subdir,
|
|
148
151
|
fresh = buildPiralDefaults.fresh,
|
|
149
152
|
type = buildPiralDefaults.type,
|
|
150
153
|
optimizeModules = buildPiralDefaults.optimizeModules,
|
|
151
154
|
_ = {},
|
|
155
|
+
hooks = {},
|
|
152
156
|
bundlerName,
|
|
153
157
|
} = options;
|
|
158
|
+
const publicUrl = normalizePublicUrl(originalPublicUrl);
|
|
159
|
+
const fullBase = resolve(process.cwd(), baseDir);
|
|
160
|
+
const useSubdir = type === 'all' || subdir;
|
|
154
161
|
setLogLevel(logLevel);
|
|
162
|
+
|
|
163
|
+
await hooks.onBegin?.({ options, fullBase });
|
|
155
164
|
progress('Reading configuration ...');
|
|
156
|
-
const
|
|
157
|
-
const entryFiles = await retrievePiralRoot(baseDir, entry);
|
|
165
|
+
const entryFiles = await retrievePiralRoot(fullBase, entry);
|
|
158
166
|
const { name, root, ignored, externals, scripts } = await retrievePiletsInfo(entryFiles);
|
|
159
|
-
const
|
|
167
|
+
const piralInstances = [name];
|
|
168
|
+
const dest = getDestination(entryFiles, resolve(fullBase, target));
|
|
160
169
|
|
|
161
170
|
await checkCliCompatibility(root);
|
|
162
171
|
|
|
172
|
+
validateSharedDependencies(externals);
|
|
173
|
+
|
|
163
174
|
if (fresh) {
|
|
164
175
|
progress('Removing output directory ...');
|
|
165
176
|
await removeDirectory(dest.outDir);
|
|
@@ -167,44 +178,71 @@ export async function buildPiral(baseDir = process.cwd(), options: BuildPiralOpt
|
|
|
167
178
|
|
|
168
179
|
// everything except release -> build emulator
|
|
169
180
|
if (type !== releaseName) {
|
|
181
|
+
const emulatorPublicUrl = '/';
|
|
170
182
|
const targetDir = useSubdir ? join(dest.outDir, emulatorName) : dest.outDir;
|
|
171
183
|
progress('Starting emulator build ...');
|
|
172
184
|
|
|
173
185
|
// since we create this anyway let's just pretend we want to have it clean!
|
|
174
186
|
await removeDirectory(targetDir);
|
|
175
187
|
|
|
188
|
+
await hooks.beforeBuild?.({ root, publicUrl: emulatorPublicUrl, externals, entryFiles, targetDir, piralInstances });
|
|
189
|
+
|
|
176
190
|
logInfo(`Bundle ${emulatorName} ...`);
|
|
177
|
-
const {
|
|
191
|
+
const {
|
|
192
|
+
dir: outDir,
|
|
193
|
+
name: outFile,
|
|
194
|
+
hash,
|
|
195
|
+
} = await callPiralBuild(
|
|
178
196
|
{
|
|
179
197
|
root,
|
|
180
|
-
|
|
198
|
+
piralInstances,
|
|
181
199
|
emulator: true,
|
|
200
|
+
standalone: false,
|
|
182
201
|
optimizeModules,
|
|
183
202
|
sourceMaps,
|
|
203
|
+
watch,
|
|
184
204
|
contentHash,
|
|
185
205
|
minify: false,
|
|
186
|
-
externals,
|
|
187
|
-
publicUrl,
|
|
188
|
-
outFile: dest.outFile,
|
|
189
|
-
outDir: join(targetDir, 'app'),
|
|
206
|
+
externals: externals.map(m => m.name),
|
|
207
|
+
publicUrl: emulatorPublicUrl,
|
|
190
208
|
entryFiles,
|
|
191
209
|
logLevel,
|
|
192
210
|
ignored,
|
|
211
|
+
outDir: join(targetDir, 'app'),
|
|
212
|
+
outFile: dest.outFile,
|
|
193
213
|
_,
|
|
194
214
|
},
|
|
195
215
|
bundlerName,
|
|
196
216
|
);
|
|
197
217
|
|
|
218
|
+
await hooks.afterBuild?.({
|
|
219
|
+
root,
|
|
220
|
+
publicUrl: emulatorPublicUrl,
|
|
221
|
+
externals,
|
|
222
|
+
entryFiles,
|
|
223
|
+
targetDir,
|
|
224
|
+
piralInstances,
|
|
225
|
+
hash,
|
|
226
|
+
outDir,
|
|
227
|
+
outFile,
|
|
228
|
+
});
|
|
229
|
+
|
|
198
230
|
await runLifecycle(root, scripts, 'piral:postbuild');
|
|
199
231
|
await runLifecycle(root, scripts, `piral:postbuild-${emulatorName}`);
|
|
200
232
|
|
|
201
|
-
|
|
233
|
+
await hooks.beforeEmulator?.({ root, externals, targetDir, outDir });
|
|
234
|
+
|
|
235
|
+
const rootDir = await createEmulatorSources(root, externals, outDir, outFile, logLevel);
|
|
236
|
+
|
|
237
|
+
await hooks.afterEmulator?.({ root, externals, targetDir, outDir, rootDir });
|
|
202
238
|
|
|
203
239
|
if (type !== emulatorSourcesName) {
|
|
240
|
+
await hooks.beforePackage?.({ root, externals, targetDir, outDir, rootDir });
|
|
204
241
|
await packageEmulator(rootDir);
|
|
205
|
-
|
|
206
|
-
} else {
|
|
242
|
+
await hooks.afterPackage?.({ root, externals, targetDir, outDir, rootDir });
|
|
207
243
|
logDone(`Emulator package available in "${rootDir}".`);
|
|
244
|
+
} else {
|
|
245
|
+
logDone(`Emulator sources available in "${rootDir}".`);
|
|
208
246
|
}
|
|
209
247
|
|
|
210
248
|
logReset();
|
|
@@ -219,16 +257,25 @@ export async function buildPiral(baseDir = process.cwd(), options: BuildPiralOpt
|
|
|
219
257
|
await removeDirectory(targetDir);
|
|
220
258
|
|
|
221
259
|
logInfo(`Bundle ${releaseName} ...`);
|
|
222
|
-
|
|
260
|
+
|
|
261
|
+
await hooks.beforeBuild?.({ root, publicUrl, externals, entryFiles, targetDir, piralInstances });
|
|
262
|
+
|
|
263
|
+
const {
|
|
264
|
+
dir: outDir,
|
|
265
|
+
name: outFile,
|
|
266
|
+
hash,
|
|
267
|
+
} = await callPiralBuild(
|
|
223
268
|
{
|
|
224
269
|
root,
|
|
225
|
-
|
|
270
|
+
piralInstances,
|
|
226
271
|
emulator: false,
|
|
272
|
+
standalone: false,
|
|
227
273
|
optimizeModules,
|
|
228
274
|
sourceMaps,
|
|
275
|
+
watch,
|
|
229
276
|
contentHash,
|
|
230
277
|
minify,
|
|
231
|
-
externals,
|
|
278
|
+
externals: externals.map(m => m.name),
|
|
232
279
|
publicUrl,
|
|
233
280
|
outFile: dest.outFile,
|
|
234
281
|
outDir: targetDir,
|
|
@@ -240,10 +287,14 @@ export async function buildPiral(baseDir = process.cwd(), options: BuildPiralOpt
|
|
|
240
287
|
bundlerName,
|
|
241
288
|
);
|
|
242
289
|
|
|
290
|
+
await hooks.afterBuild?.({ root, publicUrl, externals, entryFiles, targetDir, piralInstances, outDir, outFile, hash });
|
|
291
|
+
|
|
243
292
|
await runLifecycle(root, scripts, 'piral:postbuild');
|
|
244
293
|
await runLifecycle(root, scripts, `piral:postbuild-${releaseName}`);
|
|
245
294
|
|
|
246
295
|
logDone(`Files for publication available in "${outDir}".`);
|
|
247
296
|
logReset();
|
|
248
297
|
}
|
|
298
|
+
|
|
299
|
+
await hooks.onEnd?.({ root });
|
|
249
300
|
}
|