@equinor/echo-cli 1.0.3-beta-0 → 1.0.3
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/README.md +355 -354
- package/lib/__test__/utils/merg.test.d.ts +1 -0
- package/lib/__test__/utils/merg.test.js +29 -0
- package/lib/__test__/utils/merg.test.js.map +1 -0
- package/lib/config/common/buildAndCopyEchoHostForProd.d.ts +16 -0
- package/lib/config/common/buildAndCopyEchoHostForProd.js +38 -0
- package/lib/config/common/buildAndCopyEchoHostForProd.js.map +1 -0
- package/lib/config/common/echoManifest.d.ts +3 -0
- package/lib/config/common/echoManifest.js +45 -0
- package/lib/config/common/echoManifest.js.map +1 -0
- package/lib/config/common/echoModuleConfig.d.ts +31 -0
- package/lib/config/common/echoModuleConfig.js +34 -0
- package/lib/config/common/echoModuleConfig.js.map +1 -0
- package/lib/config/common/echoModuleId.d.ts +5 -0
- package/lib/config/common/echoModuleId.js +15 -0
- package/lib/config/common/echoModuleId.js.map +1 -0
- package/lib/config/common/extensions.d.ts +1 -0
- package/lib/config/common/extensions.js +2 -0
- package/lib/config/common/extensions.js.map +1 -0
- package/lib/config/common/getCurrentIndexFile.d.ts +2 -0
- package/lib/config/common/getCurrentIndexFile.js +11 -0
- package/lib/config/common/getCurrentIndexFile.js.map +1 -0
- package/lib/config/common/getPackageJson.d.ts +1 -0
- package/lib/config/common/getPackageJson.js +7 -0
- package/lib/config/common/getPackageJson.js.map +1 -0
- package/lib/config/common/https.d.ts +6 -0
- package/lib/config/common/https.js +16 -0
- package/lib/config/common/https.js.map +1 -0
- package/lib/config/common/initOptions.d.ts +26 -0
- package/lib/config/common/initOptions.js +32 -0
- package/lib/config/common/initOptions.js.map +1 -0
- package/lib/config/common/ssl.d.ts +7 -0
- package/lib/config/common/ssl.js +76 -0
- package/lib/config/common/ssl.js.map +1 -0
- package/lib/config/common/updateEnv.d.ts +6 -0
- package/lib/config/common/updateEnv.js +16 -0
- package/lib/config/common/updateEnv.js.map +1 -0
- package/lib/config/webpack/config.d.ts +3 -0
- package/lib/config/webpack/config.js +36 -0
- package/lib/config/webpack/config.js.map +1 -0
- package/lib/config/webpack/configBuilders/devServer.d.ts +8 -0
- package/lib/config/webpack/configBuilders/devServer.js +60 -0
- package/lib/config/webpack/configBuilders/devServer.js.map +1 -0
- package/lib/config/webpack/configBuilders/entry.d.ts +12 -0
- package/lib/config/webpack/configBuilders/entry.js +13 -0
- package/lib/config/webpack/configBuilders/entry.js.map +1 -0
- package/lib/config/webpack/configBuilders/module.d.ts +8 -0
- package/lib/config/webpack/configBuilders/module.js +124 -0
- package/lib/config/webpack/configBuilders/module.js.map +1 -0
- package/lib/config/webpack/configBuilders/optimization.d.ts +7 -0
- package/lib/config/webpack/configBuilders/optimization.js +30 -0
- package/lib/config/webpack/configBuilders/optimization.js.map +1 -0
- package/lib/config/webpack/configBuilders/output.d.ts +12 -0
- package/lib/config/webpack/configBuilders/output.js +20 -0
- package/lib/config/webpack/configBuilders/output.js.map +1 -0
- package/lib/config/webpack/configBuilders/plugins.d.ts +10 -0
- package/lib/config/webpack/configBuilders/plugins.js +29 -0
- package/lib/config/webpack/configBuilders/plugins.js.map +1 -0
- package/lib/config/webpack/echoWebpackModule.d.ts +2 -0
- package/lib/config/webpack/echoWebpackModule.js +47 -0
- package/lib/config/webpack/echoWebpackModule.js.map +1 -0
- package/lib/config/webpack/server.d.ts +3 -0
- package/lib/config/webpack/server.js +22 -0
- package/lib/config/webpack/server.js.map +1 -0
- package/lib/const/common.d.ts +6 -0
- package/lib/const/common.js +15 -0
- package/lib/const/common.js.map +1 -0
- package/lib/echo-build-dev-host.d.ts +6 -0
- package/lib/echo-build-dev-host.js +19 -0
- package/lib/echo-build-dev-host.js.map +1 -0
- package/lib/echo-build.d.ts +34 -0
- package/lib/echo-build.js +83 -0
- package/lib/echo-build.js.map +1 -0
- package/lib/echo-create.d.ts +16 -0
- package/lib/echo-create.js +35 -0
- package/lib/echo-create.js.map +1 -0
- package/lib/echo-dev-host/.env +29 -0
- package/lib/echo-dev-host/README.md +121 -0
- package/lib/echo-dev-host/babel.config.js +11 -0
- package/lib/echo-dev-host/env.sh +51 -0
- package/lib/echo-dev-host/jest.config.js +21 -0
- package/lib/echo-dev-host/package-lock.json +12555 -0
- package/lib/echo-dev-host/package.json +80 -0
- package/lib/echo-dev-host/public/env-config.js +17 -0
- package/lib/echo-dev-host/public/index.css +60 -0
- package/lib/echo-dev-host/public/index.html +21 -0
- package/lib/echo-dev-host/src/api/api-plants.ts +23 -0
- package/lib/echo-dev-host/src/app.css +12 -0
- package/lib/echo-dev-host/src/app.tsx +43 -0
- package/lib/echo-dev-host/src/components/Home/Home.tsx +23 -0
- package/lib/echo-dev-host/src/components/Home/home.module.css +38 -0
- package/lib/echo-dev-host/src/components/dummySearchPanel/DummySearchPanel.tsx +28 -0
- package/lib/echo-dev-host/src/components/dummySearchPanel/dummySearchPanel.module.css +13 -0
- package/lib/echo-dev-host/src/components/legend.tsx +3 -0
- package/lib/echo-dev-host/src/images/frontpage-brand-placeholder.jpg +0 -0
- package/lib/echo-dev-host/src/index.tsx +91 -0
- package/lib/echo-dev-host/src/setupTests.ts +25 -0
- package/lib/echo-dev-host/src/utils/plants.test.ts +33 -0
- package/lib/echo-dev-host/src/utils/plants.ts +12 -0
- package/lib/echo-dev-host/src/utils/setupSkipAuth.ts +43 -0
- package/lib/echo-dev-host/tsconfig.json +21 -0
- package/lib/echo-dev-host/webpack.config.js +145 -0
- package/lib/echo-manifest.d.ts +6 -0
- package/lib/echo-manifest.js +13 -0
- package/lib/echo-manifest.js.map +1 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.d.ts +29 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.js +135 -0
- package/lib/tools/buildScripts/buildAndCopyDevHost.js.map +1 -0
- package/lib/tools/buildScripts/webpackBuilds.d.ts +3 -0
- package/lib/tools/buildScripts/webpackBuilds.js +87 -0
- package/lib/tools/buildScripts/webpackBuilds.js.map +1 -0
- package/lib/tools/create/copyFile.d.ts +2 -0
- package/lib/tools/create/copyFile.js +16 -0
- package/lib/tools/create/copyFile.js.map +1 -0
- package/lib/tools/create/createProject.d.ts +2 -0
- package/lib/tools/create/createProject.js +83 -0
- package/lib/tools/create/createProject.js.map +1 -0
- package/lib/tools/create/createSetTargetDirectory.d.ts +1 -0
- package/lib/tools/create/createSetTargetDirectory.js +12 -0
- package/lib/tools/create/createSetTargetDirectory.js.map +1 -0
- package/lib/tools/create/getAppTemplateName.d.ts +1 -0
- package/lib/tools/create/getAppTemplateName.js +22 -0
- package/lib/tools/create/getAppTemplateName.js.map +1 -0
- package/lib/tools/create/gitInit.d.ts +1 -0
- package/lib/tools/create/gitInit.js +19 -0
- package/lib/tools/create/gitInit.js.map +1 -0
- package/lib/tools/create/promptOptions.d.ts +2 -0
- package/lib/tools/create/promptOptions.js +88 -0
- package/lib/tools/create/promptOptions.js.map +1 -0
- package/lib/tools/create/updatePackageConfig.d.ts +2 -0
- package/lib/tools/create/updatePackageConfig.js +28 -0
- package/lib/tools/create/updatePackageConfig.js.map +1 -0
- package/lib/tools/create/updateReadme.d.ts +2 -0
- package/lib/tools/create/updateReadme.js +23 -0
- package/lib/tools/create/updateReadme.js.map +1 -0
- package/lib/types/createTypes.d.ts +23 -0
- package/lib/types/createTypes.js +2 -0
- package/lib/types/createTypes.js.map +1 -0
- package/lib/types/types.d.ts +4 -0
- package/lib/types/types.js +2 -0
- package/lib/types/types.js.map +1 -0
- package/lib/update-echo-libs.d.ts +9 -0
- package/lib/update-echo-libs.js +188 -0
- package/lib/update-echo-libs.js.map +1 -0
- package/lib/utils/findConsumerAppPackageJson.d.ts +11 -0
- package/lib/utils/findConsumerAppPackageJson.js +55 -0
- package/lib/utils/findConsumerAppPackageJson.js.map +1 -0
- package/lib/utils/findTopLevelNodeModulesWithCli.d.ts +12 -0
- package/lib/utils/findTopLevelNodeModulesWithCli.js +28 -0
- package/lib/utils/findTopLevelNodeModulesWithCli.js.map +1 -0
- package/lib/utils/getFile.d.ts +34 -0
- package/lib/utils/getFile.js +72 -0
- package/lib/utils/getFile.js.map +1 -0
- package/lib/utils/getFilePath.d.ts +1 -0
- package/lib/utils/getFilePath.js +22 -0
- package/lib/utils/getFilePath.js.map +1 -0
- package/lib/utils/getLatestPkgVersion.d.ts +14 -0
- package/lib/utils/getLatestPkgVersion.js +30 -0
- package/lib/utils/getLatestPkgVersion.js.map +1 -0
- package/lib/utils/logo.d.ts +1 -0
- package/lib/utils/logo.js +12 -0
- package/lib/utils/logo.js.map +1 -0
- package/lib/utils/merge.d.ts +1 -0
- package/lib/utils/merge.js +8 -0
- package/lib/utils/merge.js.map +1 -0
- package/lib/utils/printEchoLibsVersions.d.ts +23 -0
- package/lib/utils/printEchoLibsVersions.js +162 -0
- package/lib/utils/printEchoLibsVersions.js.map +1 -0
- package/lib/utils/timer.d.ts +0 -0
- package/lib/utils/timer.js +2 -0
- package/lib/utils/timer.js.map +1 -0
- package/package.json +110 -110
- package/templates/echoAppTemplate/.gitattributes +3 -3
- package/templates/echoAppTemplate/package.json +35 -35
- package/templates/echoAppTemplate/readme.md +41 -41
- package/templates/echoAppTemplate/tsconfig.json +25 -25
- package/templates/echoAppTemplateTutorial/.gitattributes +3 -3
- package/templates/echoAppTemplateTutorial/package.json +36 -36
- package/templates/echoAppTemplateTutorial/readme.md +41 -41
- package/templates/echoAppTemplateTutorial/tsconfig.json +25 -25
- package/templates/echoLibraryTemplate/package.json +35 -35
- package/templates/echoLibraryTemplate/public/index.html +21 -21
- package/templates/echoLibraryTemplate/readme.md +1 -1
- package/templates/echoPluginTemplate/package.json +35 -35
- package/templates/echoPluginTemplate/public/index.html +21 -21
- package/templates/echoPluginTemplate/readme.md +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Defines options for the webpack dev server middleware.
|
|
5
|
+
* @param - Additional options (https://webpack.js.org/configuration/dev-server/)
|
|
6
|
+
* @returns {WebpackDevServerOptions} A settings object.
|
|
7
|
+
*/
|
|
8
|
+
export function defineDevServer(current, root, modulePath, echoModuleConfig) {
|
|
9
|
+
const publicPath = path.join(current, 'build');
|
|
10
|
+
const { port, host, open, logging } = echoModuleConfig.server;
|
|
11
|
+
const { stats } = echoModuleConfig.devMiddleware;
|
|
12
|
+
return {
|
|
13
|
+
host,
|
|
14
|
+
port,
|
|
15
|
+
static: [
|
|
16
|
+
{
|
|
17
|
+
directory: root,
|
|
18
|
+
serveIndex: true,
|
|
19
|
+
publicPath: '/'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
directory: publicPath,
|
|
23
|
+
watch: true
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
hot: true,
|
|
27
|
+
liveReload: true,
|
|
28
|
+
devMiddleware: {
|
|
29
|
+
writeToDisk: true,
|
|
30
|
+
publicPath,
|
|
31
|
+
index: true,
|
|
32
|
+
stats
|
|
33
|
+
},
|
|
34
|
+
server: {
|
|
35
|
+
type: 'https'
|
|
36
|
+
},
|
|
37
|
+
setupMiddlewares: (middlewares, devServer) => {
|
|
38
|
+
if (!devServer.app) {
|
|
39
|
+
throw new Error('webpack-dev-server is not defined');
|
|
40
|
+
}
|
|
41
|
+
devServer.app.use('/', [express.static(root), express.static(publicPath)]);
|
|
42
|
+
middlewares.push({
|
|
43
|
+
path: '*',
|
|
44
|
+
middleware: (req, res) => res.sendFile(root + '/index.html')
|
|
45
|
+
});
|
|
46
|
+
return middlewares;
|
|
47
|
+
},
|
|
48
|
+
client: {
|
|
49
|
+
// overlay: {
|
|
50
|
+
// errors: true,
|
|
51
|
+
// warnings: false
|
|
52
|
+
// },
|
|
53
|
+
logging
|
|
54
|
+
},
|
|
55
|
+
historyApiFallback: true,
|
|
56
|
+
open,
|
|
57
|
+
compress: true
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=devServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,OAAe,EACf,IAAY,EACZ,UAAkB,EAClB,gBAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAEjD,OAAO;QACH,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE;YACJ;gBACI,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,GAAG;aAClB;YACD;gBACI,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,IAAI;aACd;SACJ;QACD,GAAG,EAAE,IAAI;QACT,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACX,WAAW,EAAE,IAAI;YACjB,UAAU;YACV,KAAK,EAAE,IAAI;YACX,KAAK;SACR;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,OAAO;SAChB;QACD,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE3E,WAAW,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;aAC/D,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,EAAE;YACJ,aAAa;YACb,oBAAoB;YACpB,sBAAsB;YACtB,KAAK;YACL,OAAO;SACV;QACD,kBAAkB,EAAE,IAAI;QACxB,IAAI;QACJ,QAAQ,EAAE,IAAI;KACjB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface EntryOptions {
|
|
2
|
+
currentDir: string;
|
|
3
|
+
source: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Defines the WebpackEntry config with polyfills.
|
|
7
|
+
*
|
|
8
|
+
* @export
|
|
9
|
+
* @param {EntryOptions} { currentDir, main } current project directory and main from package.json
|
|
10
|
+
* @return {*} {string}
|
|
11
|
+
*/
|
|
12
|
+
export declare function defineEntry({ currentDir, source }: EntryOptions): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getSrcFilePath } from '../../common/getCurrentIndexFile.js';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the WebpackEntry config with polyfills.
|
|
4
|
+
*
|
|
5
|
+
* @export
|
|
6
|
+
* @param {EntryOptions} { currentDir, main } current project directory and main from package.json
|
|
7
|
+
* @return {*} {string}
|
|
8
|
+
*/
|
|
9
|
+
export function defineEntry({ currentDir, source }) {
|
|
10
|
+
return getSrcFilePath(currentDir, source);
|
|
11
|
+
}
|
|
12
|
+
//'webpack-hot-middleware/client?path=/__webpack_hmr&timeout=20000'
|
|
13
|
+
//# sourceMappingURL=entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAOrE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,EAAgB;IAC5D,OAAO,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AACD,mEAAmE"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// More info:
|
|
2
|
+
// https://webpack.js.org/configuration/module/
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* Defines a rule set for ts-loader targeting ts and tsx files,
|
|
6
|
+
* @return {*} {RuleSetRule} ts-loader rules
|
|
7
|
+
*/
|
|
8
|
+
function defineTsLoader() {
|
|
9
|
+
return {
|
|
10
|
+
test: /\.(ts|tsx)$/,
|
|
11
|
+
loader: 'ts-loader',
|
|
12
|
+
exclude: /node_modules/,
|
|
13
|
+
options: {
|
|
14
|
+
compilerOptions: {
|
|
15
|
+
noEmit: false,
|
|
16
|
+
jsx: 'react-jsx'
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Defines a RuleSetRule for bundling global CSS.
|
|
23
|
+
* @returns {RuleSetRule} Global CSS bundling rules.
|
|
24
|
+
*/
|
|
25
|
+
function defineGlobalCSS() {
|
|
26
|
+
// Handles any bits of third party CSS and whatever we define.
|
|
27
|
+
/**@type RuleSetRule */
|
|
28
|
+
return {
|
|
29
|
+
test: /\.css$/,
|
|
30
|
+
use: [{ loader: 'style-loader' }, { loader: 'css-loader' }],
|
|
31
|
+
exclude: /\.module\.css$/
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Defines a RuleSetRule for bundling global CSS.
|
|
36
|
+
* @returns {RuleSetRule} Global CSS bundling rules.
|
|
37
|
+
*/
|
|
38
|
+
function defineModuleCSS() {
|
|
39
|
+
return {
|
|
40
|
+
test: /\.css$/,
|
|
41
|
+
use: [
|
|
42
|
+
'style-loader',
|
|
43
|
+
{
|
|
44
|
+
loader: 'css-loader',
|
|
45
|
+
options: {
|
|
46
|
+
importLoaders: 1,
|
|
47
|
+
modules: {
|
|
48
|
+
mode: 'local',
|
|
49
|
+
localIdentName: 'echo-[folder]__[local]-[hash:base64:5]',
|
|
50
|
+
namedExport: false,
|
|
51
|
+
exportLocalsConvention: 'as-is'
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
include: /\.module\.css$/
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Defines a RuleSetRule for bundling images.
|
|
61
|
+
* @returns {RuleSetRule} Image bundling rules.
|
|
62
|
+
*/
|
|
63
|
+
function defineImages() {
|
|
64
|
+
return {
|
|
65
|
+
test: /\.(png|jpg|gif|jpeg)$/,
|
|
66
|
+
type: 'asset/resource',
|
|
67
|
+
generator: {
|
|
68
|
+
filename: 'resources/images/[name].[ext]'
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Defines a RuleSetRule for bundling worker.
|
|
74
|
+
* @returns {RuleSetRule} Worker resources.
|
|
75
|
+
*/
|
|
76
|
+
function defineWorkers() {
|
|
77
|
+
return {
|
|
78
|
+
test: /\.worker\.(c|m)?ts$/i,
|
|
79
|
+
use: [
|
|
80
|
+
{
|
|
81
|
+
loader: 'worker-loader'
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
loader: 'babel-loader',
|
|
85
|
+
options: {
|
|
86
|
+
presets: ['@babel/preset-env']
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
*
|
|
94
|
+
*
|
|
95
|
+
* @return {*} {RuleSetRule} SVG rules
|
|
96
|
+
*/
|
|
97
|
+
function defineSvg() {
|
|
98
|
+
return {
|
|
99
|
+
test: /\.svg$/,
|
|
100
|
+
type: 'asset/inline'
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
*
|
|
105
|
+
*
|
|
106
|
+
* @export
|
|
107
|
+
* @return {*} {ModuleOptions}
|
|
108
|
+
*/
|
|
109
|
+
export function defineModule(excludeTsLoader) {
|
|
110
|
+
const tsLoader = defineTsLoader();
|
|
111
|
+
const images = defineImages();
|
|
112
|
+
const svg = defineSvg();
|
|
113
|
+
const moduleCSS = defineModuleCSS();
|
|
114
|
+
const globalCSS = defineGlobalCSS();
|
|
115
|
+
const worker = defineWorkers();
|
|
116
|
+
const rules = [moduleCSS, globalCSS, worker, svg, images];
|
|
117
|
+
if (!excludeTsLoader) {
|
|
118
|
+
rules.push(tsLoader);
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
rules
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/module.ts"],"names":[],"mappings":"AAEA,aAAa;AACb,+CAA+C;AAE/C;;;;GAIG;AACH,SAAS,cAAc;IACnB,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE;YACL,eAAe,EAAE;gBACb,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,WAAW;aACnB;SACJ;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe;IACpB,+DAA+D;IAC/D,uBAAuB;IACvB,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC3D,OAAO,EAAE,gBAAgB;KAC5B,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe;IACpB,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE;YACD,cAAc;YACd;gBACI,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE;oBACL,aAAa,EAAE,CAAC;oBAChB,OAAO,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,cAAc,EAAE,wCAAwC;wBACxD,WAAW,EAAE,KAAK;wBAClB,sBAAsB,EAAE,OAAO;qBAClC;iBACJ;aACJ;SACJ;QACD,OAAO,EAAE,gBAAgB;KAC5B,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY;IACjB,OAAO;QACH,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE;YACP,QAAQ,EAAE,+BAA+B;SAC5C;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa;IAClB,OAAO;QACH,IAAI,EAAE,sBAAsB;QAC5B,GAAG,EAAE;YACD;gBACI,MAAM,EAAE,eAAe;aAC1B;YACD;gBACI,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE;oBACL,OAAO,EAAE,CAAC,mBAAmB,CAAC;iBACjC;aACJ;SACJ;KACJ,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS;IACd,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,cAAc;KACvB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,eAAyB;IAClD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACH,KAAK;KACR,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines a Webpack Optimization config object.
|
|
3
|
+
* https://webpack.js.org/configuration/optimization/
|
|
4
|
+
* @param {"dev"|"prod"|"test"|undefined} env The environment identifier.
|
|
5
|
+
* @returns {Optimization} Optimization
|
|
6
|
+
*/
|
|
7
|
+
export declare function defineOptimizations(isProduction: boolean): Record<string, unknown>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import TerserPlugin from 'terser-webpack-plugin';
|
|
2
|
+
/**
|
|
3
|
+
* Defines a Webpack Optimization config object.
|
|
4
|
+
* https://webpack.js.org/configuration/optimization/
|
|
5
|
+
* @param {"dev"|"prod"|"test"|undefined} env The environment identifier.
|
|
6
|
+
* @returns {Optimization} Optimization
|
|
7
|
+
*/
|
|
8
|
+
export function defineOptimizations(isProduction) {
|
|
9
|
+
return isProduction
|
|
10
|
+
? {
|
|
11
|
+
minimizer: [
|
|
12
|
+
new TerserPlugin({
|
|
13
|
+
terserOptions: {
|
|
14
|
+
// warnings: false,
|
|
15
|
+
ie8: false,
|
|
16
|
+
output: {
|
|
17
|
+
comments: /^@echo-module/
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
})
|
|
21
|
+
]
|
|
22
|
+
// splitChunks: {
|
|
23
|
+
// chunks: 'all'
|
|
24
|
+
// }
|
|
25
|
+
}
|
|
26
|
+
: {
|
|
27
|
+
minimize: false
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=optimization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimization.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/optimization.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAqB;IACrD,OAAO,YAAY;QACf,CAAC,CAAC;YACI,SAAS,EAAE;gBACP,IAAI,YAAY,CAAC;oBACb,aAAa,EAAE;wBACX,qBAAqB;wBACrB,GAAG,EAAE,KAAK;wBACV,MAAM,EAAE;4BACJ,QAAQ,EAAE,eAAe;yBAC5B;qBACJ;iBACJ,CAAC;aACL;YACD,mBAAmB;YACnB,sBAAsB;YACtB,MAAM;SACT;QACH,CAAC,CAAC;YACI,QAAQ,EAAE,KAAK;SAClB,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EchoWebpackOptions } from '../../common/initOptions.js';
|
|
2
|
+
type LibraryTarget = 'var' | 'assign' | 'this' | 'window' | 'global' | 'commonjs' | 'commonjs2' | 'amd' | 'umd' | 'jsonp' | 'system';
|
|
3
|
+
export interface Output {
|
|
4
|
+
path: string;
|
|
5
|
+
filename: string;
|
|
6
|
+
libraryTarget: LibraryTarget;
|
|
7
|
+
library: string;
|
|
8
|
+
clean: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function defineOutput(options: EchoWebpackOptions): Output;
|
|
11
|
+
export declare function getFileName(filePath: string): string;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
export function defineOutput(options) {
|
|
3
|
+
const { manifest, chunk } = options.echoModuleConfig;
|
|
4
|
+
const shortName = manifest.shortName;
|
|
5
|
+
return {
|
|
6
|
+
clean: options.isProduction,
|
|
7
|
+
path: path.join(options.currentDir, 'build'),
|
|
8
|
+
filename: chunk ? `${shortName}-main.js` : getFileName(options.main), //`${shortName}.echo.bundle.js`,
|
|
9
|
+
library: shortName,
|
|
10
|
+
libraryTarget: 'umd'
|
|
11
|
+
// chunkFilename: `${shortName}.[contenthash].chunk.js`,
|
|
12
|
+
// publicPath: options.isProduction ? '/' : `https://${server.host}:${server.port}/`
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function getFileName(filePath) {
|
|
16
|
+
const arr = filePath.split('/');
|
|
17
|
+
const fileName = arr[arr.length - 1];
|
|
18
|
+
return fileName;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/output.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AA0BxB,MAAM,UAAU,YAAY,CAAC,OAA2B;IACpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAErD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,YAAY;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;QAC5C,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,gCAAgC;QACtG,OAAO,EAAE,SAAS;QAClB,aAAa,EAAE,KAAK;QACpB,wDAAwD;QACxD,oFAAoF;KACvF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Compiler, WebpackPluginInstance } from 'webpack';
|
|
2
|
+
import { EchoWebpackOptions } from '../../common/initOptions.js';
|
|
3
|
+
type WebpackPlugin = ((this: Compiler, compiler: Compiler) => void) | WebpackPluginInstance;
|
|
4
|
+
/**
|
|
5
|
+
* Creates an array of webpack plugins that will be used in the build process.
|
|
6
|
+
* @param {"dev"|"remote"} env
|
|
7
|
+
* @returns {WebpackPlugin[]}
|
|
8
|
+
*/
|
|
9
|
+
export declare function definePlugins(options: EchoWebpackOptions): WebpackPlugin[];
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Dotenv from 'dotenv-webpack';
|
|
2
|
+
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
|
|
3
|
+
import { echoWebpackModulePlugin } from '../echoWebpackModule.js';
|
|
4
|
+
/**
|
|
5
|
+
* Creates an array of webpack plugins that will be used in the build process.
|
|
6
|
+
* @param {"dev"|"remote"} env
|
|
7
|
+
* @returns {WebpackPlugin[]}
|
|
8
|
+
*/
|
|
9
|
+
export function definePlugins(options) {
|
|
10
|
+
const { envPath, analyze } = options;
|
|
11
|
+
const plugins = [
|
|
12
|
+
new Dotenv({
|
|
13
|
+
ignoreStub: false,
|
|
14
|
+
expand: true,
|
|
15
|
+
systemvars: true,
|
|
16
|
+
path: envPath
|
|
17
|
+
}),
|
|
18
|
+
echoWebpackModulePlugin(options)
|
|
19
|
+
];
|
|
20
|
+
if (analyze) {
|
|
21
|
+
plugins.push(new BundleAnalyzerPlugin({
|
|
22
|
+
analyzerPort: options.echoModuleConfig.server.port,
|
|
23
|
+
openAnalyzer: options.echoModuleConfig.server.open,
|
|
24
|
+
analyzerHost: options.echoModuleConfig.server.host
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
return plugins;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/config/webpack/configBuilders/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAA2B;IACrD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,OAAO,GAAG;QACZ,IAAI,MAAM,CAAC;YACP,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,OAAO;SAChB,CAAC;QACF,uBAAuB,CAAC,OAAO,CAAC;KACnC,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CACR,IAAI,oBAAoB,CAAC;YACrB,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI;YAClD,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI;YAClD,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI;SACrD,CAAC,CACL,CAAC;IACN,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import ReplaceInFileWebpackPlugin from 'replace-in-file-webpack-plugin';
|
|
2
|
+
import { REQUIRED_REF } from '../../const/common.js';
|
|
3
|
+
import { getFileName } from './configBuilders/output.js';
|
|
4
|
+
const devModuleCode = `(function webpackUniversalModuleDefinition(root, factory) {
|
|
5
|
+
/* Echo Module definition */
|
|
6
|
+
function define(dependencies, factory){
|
|
7
|
+
const echoModule = factory(...dependencies.map(window["${REQUIRED_REF}"]));
|
|
8
|
+
typeof document!=='undefined' && (document.currentScript.module = echoModule);
|
|
9
|
+
}
|
|
10
|
+
define.amd=!0;`;
|
|
11
|
+
export function echoWebpackModulePlugin(options) {
|
|
12
|
+
const file = options.echoModuleConfig.chunk
|
|
13
|
+
? `${options.echoModuleConfig.manifest.shortName}-main.js`
|
|
14
|
+
: getFileName(options.main);
|
|
15
|
+
return new ReplaceInFileWebpackPlugin([
|
|
16
|
+
{
|
|
17
|
+
dir: './build',
|
|
18
|
+
files: [file],
|
|
19
|
+
rules: options.isProduction
|
|
20
|
+
? [
|
|
21
|
+
{
|
|
22
|
+
search: /^\!function\s?\(e,\s?t\)\s?\{/m,
|
|
23
|
+
replace: `!function(e,t){function define(d,t){const echoModule = t(...d.map(window["${REQUIRED_REF}"])); typeof document!=='undefined' && (document.currentScript.module = echoModule);}define.amd=!0;`
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
search: /^\!function\s?\(t,\s?e\)\s?\{/m,
|
|
27
|
+
replace: `!function(t,e){function define(d,e){const echoModule = e(...d.map(window["${REQUIRED_REF}"])); typeof document!=='undefined' && (document.currentScript.module = echoModule);}define.amd=!0;`
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
search: /^\!function\s?\(e,\s?n\)\s?\{/m,
|
|
31
|
+
replace: `!function(e,n){function define(d,n){const echoModule = n(...d.map(window["${REQUIRED_REF}"])); typeof document!=='undefined' && (document.currentScript.module = echoModule);}define.amd=!0;`
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
search: /^\!function\s?\(e,\s?r\)\s?\{/m,
|
|
35
|
+
replace: `!function(e,r){function define(d,r){const echoModule = r(...d.map(window["${REQUIRED_REF}"])); typeof document!=='undefined' && (document.currentScript.module = echoModule);}define.amd=!0;`
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
: [
|
|
39
|
+
{
|
|
40
|
+
search: /^\(function\s?webpackUniversalModuleDefinition\(root,\s?factory\)\s?\{/m,
|
|
41
|
+
replace: devModuleCode
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=echoWebpackModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echoWebpackModule.js","sourceRoot":"","sources":["../../../src/config/webpack/echoWebpackModule.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,aAAa,GAAG;;;6DAGuC,YAAY;;;eAG1D,CAAC;AAEhB,MAAM,UAAU,uBAAuB,CAAC,OAA2B;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK;QACvC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,UAAU;QAC1D,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,0BAA0B,CAAC;QAClC;YACI,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,OAAO,CAAC,YAAY;gBACvB,CAAC,CAAC;oBACI;wBACI,MAAM,EAAE,gCAAgC;wBACxC,OAAO,EAAE,6EAA6E,YAAY,qGAAqG;qBAC1M;oBACD;wBACI,MAAM,EAAE,gCAAgC;wBACxC,OAAO,EAAE,6EAA6E,YAAY,qGAAqG;qBAC1M;oBACD;wBACI,MAAM,EAAE,gCAAgC;wBACxC,OAAO,EAAE,6EAA6E,YAAY,qGAAqG;qBAC1M;oBACD;wBACI,MAAM,EAAE,gCAAgC;wBACxC,OAAO,EAAE,6EAA6E,YAAY,qGAAqG;qBAC1M;iBACJ;gBACH,CAAC,CAAC;oBACI;wBACI,MAAM,EAAE,yEAAyE;wBACjF,OAAO,EAAE,aAAa;qBACzB;iBACJ;SACV;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import WebpackDevServer from 'webpack-dev-server';
|
|
2
|
+
import { merge } from 'webpack-merge';
|
|
3
|
+
import { defineDevServer } from './configBuilders/devServer.js';
|
|
4
|
+
export function devServer(compiler, options) {
|
|
5
|
+
const defaultDevServerOptions = defineDevServer(options.currentDir, options.wwwRoot, options.echoModuleConfig.manifest.path, options.echoModuleConfig);
|
|
6
|
+
let devServerOptionsToUse = defaultDevServerOptions;
|
|
7
|
+
if (compiler.options.devServer) {
|
|
8
|
+
console.log('EchoCli: Merging devServer values with custom config');
|
|
9
|
+
// Override any default devServer configs with the config in the project webpack.config.js
|
|
10
|
+
devServerOptionsToUse = merge(defaultDevServerOptions, compiler.options.devServer);
|
|
11
|
+
}
|
|
12
|
+
const server = new WebpackDevServer(devServerOptionsToUse, compiler);
|
|
13
|
+
server.startCallback((err) => {
|
|
14
|
+
if (err) {
|
|
15
|
+
console.error('Failed to start webpack dev-server: ' + err);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
console.log(`Starting webpack dev server on https://${devServerOptionsToUse.host}:${devServerOptionsToUse.port}`);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/config/webpack/server.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAC,QAAkB,EAAE,OAA2B;IACrE,MAAM,uBAAuB,GAAG,eAAe,CAC3C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EACtC,OAAO,CAAC,gBAAgB,CAC3B,CAAC;IAEF,IAAI,qBAAqB,GAAG,uBAAuB,CAAC;IACpD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,0FAA0F;QAC1F,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IAErE,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CACP,0CAA0C,qBAAqB,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,EAAE,CACvG,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const REQUIRED_REF = "echoDepLoader";
|
|
2
|
+
export declare const ECHO_MODULE_ID_PATH = "/echoModuleId.json";
|
|
3
|
+
export declare const ECHO_MODULE_CONFIG_PATH = "/echoModule.config.json";
|
|
4
|
+
export declare const ECHO_HOST_BUILD_OUTPUT_FOLDER = "echo-dev-host-build";
|
|
5
|
+
export declare const ECHO_HOST_TEMP_BUILD_FOLDER = "echo-dev-host-tmp";
|
|
6
|
+
export declare const SUPPORTED_ECHO_LIBS: Readonly<Readonly<string>[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const REQUIRED_REF = 'echoDepLoader';
|
|
2
|
+
export const ECHO_MODULE_ID_PATH = '/echoModuleId.json';
|
|
3
|
+
export const ECHO_MODULE_CONFIG_PATH = '/echoModule.config.json';
|
|
4
|
+
export const ECHO_HOST_BUILD_OUTPUT_FOLDER = 'echo-dev-host-build';
|
|
5
|
+
export const ECHO_HOST_TEMP_BUILD_FOLDER = 'echo-dev-host-tmp';
|
|
6
|
+
export const SUPPORTED_ECHO_LIBS = [
|
|
7
|
+
'@equinor/echo-base',
|
|
8
|
+
'@equinor/echo-core',
|
|
9
|
+
'@equinor/echo-utils',
|
|
10
|
+
'@equinor/echo-search',
|
|
11
|
+
'@equinor/echo-components',
|
|
12
|
+
'@equinor/echo-framework',
|
|
13
|
+
'@equinor/echo-cli'
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/const/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AACjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAiC;IAC7D,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,0BAA0B;IAC1B,yBAAyB;IACzB,mBAAmB;CACtB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { ECHO_HOST_BUILD_OUTPUT_FOLDER, ECHO_HOST_TEMP_BUILD_FOLDER } from './const/common.js';
|
|
5
|
+
import { buildAndCopyDevHost } from './tools/buildScripts/buildAndCopyDevHost.js';
|
|
6
|
+
export default class BuildDevHost extends Command {
|
|
7
|
+
static description = 'Build echo-dev-host locally with current echo lib versions';
|
|
8
|
+
async run() {
|
|
9
|
+
const cliNodeModules = path.resolve(process.cwd(), 'node_modules', '@equinor', 'echo-cli');
|
|
10
|
+
const finalOutput = path.join(cliNodeModules, ECHO_HOST_BUILD_OUTPUT_FOLDER);
|
|
11
|
+
await buildAndCopyDevHost({
|
|
12
|
+
cliNodeModules,
|
|
13
|
+
tmpDevHostFolder: path.resolve(process.cwd(), ECHO_HOST_TEMP_BUILD_FOLDER),
|
|
14
|
+
finalOutputDir: finalOutput
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
BuildDevHost.run();
|
|
19
|
+
//# sourceMappingURL=echo-build-dev-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-build-dev-host.js","sourceRoot":"","sources":["../src/echo-build-dev-host.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,GAAG,4DAA4D,CAAC;IAElF,KAAK,CAAC,GAAG;QACL,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,6BAA6B,CAAC,CAAC;QAE7E,MAAM,mBAAmB,CAAC;YACtB,cAAc;YACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,2BAA2B,CAAC;YAC1E,cAAc,EAAE,WAAW;SAC9B,CAAC,CAAC;IACP,CAAC;;AAGL,YAAY,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
/**
|
|
4
|
+
* @class CreateBundle
|
|
5
|
+
* @extends Command
|
|
6
|
+
* @description
|
|
7
|
+
* Command-line utility for creating an Echo Bundle. This command provides options to serve the Echo Client,
|
|
8
|
+
* build in development mode, copy the client to the build folder, and analyze the bundle with an interactive treemap.
|
|
9
|
+
*
|
|
10
|
+
* @flags
|
|
11
|
+
* - `--serve, -s`: Add the serve Echo Client with the app.
|
|
12
|
+
* - `--isDevelopment, -d`: Build in development mode (production is default).
|
|
13
|
+
* - `--copy, -c`: Copy the client to the build folder.
|
|
14
|
+
* - `--analyze, -b`: Analyze the bundle with an interactive treemap.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* The command checks for the presence of the `echo-dev-host` folder before proceeding.
|
|
18
|
+
* If not found, it prompts the user to build it. It also prints the versions of echo libraries used by the dev host.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```sh
|
|
22
|
+
* npx echo-build --serve --isDevelopment
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export default class CreateBundle extends Command {
|
|
26
|
+
static description: string;
|
|
27
|
+
static flags: {
|
|
28
|
+
serve: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
29
|
+
isDevelopment: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
30
|
+
copy: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
31
|
+
analyze: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
32
|
+
};
|
|
33
|
+
run(): Promise<void>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command, Flags } from '@oclif/core';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
import { ECHO_HOST_BUILD_OUTPUT_FOLDER } from './const/common.js';
|
|
8
|
+
import { echoWebpackBuild } from './tools/buildScripts/webpackBuilds.js';
|
|
9
|
+
import { findConsumerAppPackageJson } from './utils/findConsumerAppPackageJson.js';
|
|
10
|
+
import { echoCliLogo } from './utils/logo.js';
|
|
11
|
+
import { printEchoLibsVersions } from './utils/printEchoLibsVersions.js';
|
|
12
|
+
/**
|
|
13
|
+
* @class CreateBundle
|
|
14
|
+
* @extends Command
|
|
15
|
+
* @description
|
|
16
|
+
* Command-line utility for creating an Echo Bundle. This command provides options to serve the Echo Client,
|
|
17
|
+
* build in development mode, copy the client to the build folder, and analyze the bundle with an interactive treemap.
|
|
18
|
+
*
|
|
19
|
+
* @flags
|
|
20
|
+
* - `--serve, -s`: Add the serve Echo Client with the app.
|
|
21
|
+
* - `--isDevelopment, -d`: Build in development mode (production is default).
|
|
22
|
+
* - `--copy, -c`: Copy the client to the build folder.
|
|
23
|
+
* - `--analyze, -b`: Analyze the bundle with an interactive treemap.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* The command checks for the presence of the `echo-dev-host` folder before proceeding.
|
|
27
|
+
* If not found, it prompts the user to build it. It also prints the versions of echo libraries used by the dev host.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```sh
|
|
31
|
+
* npx echo-build --serve --isDevelopment
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export default class CreateBundle extends Command {
|
|
35
|
+
static description = 'Creates Echo Bundle';
|
|
36
|
+
static flags = {
|
|
37
|
+
serve: Flags.boolean({
|
|
38
|
+
char: 's',
|
|
39
|
+
description: 'Add the serve Echo Client with app'
|
|
40
|
+
}),
|
|
41
|
+
isDevelopment: Flags.boolean({
|
|
42
|
+
char: 'd',
|
|
43
|
+
description: 'Production is default, add -d flag for development'
|
|
44
|
+
}),
|
|
45
|
+
copy: Flags.boolean({
|
|
46
|
+
char: 'c',
|
|
47
|
+
description: 'Will copy the client to the build folder'
|
|
48
|
+
}),
|
|
49
|
+
analyze: Flags.boolean({
|
|
50
|
+
char: 'b',
|
|
51
|
+
description: 'Provides an interactive treemap to inspect the bundle'
|
|
52
|
+
})
|
|
53
|
+
};
|
|
54
|
+
async run() {
|
|
55
|
+
const options = await this.parse(CreateBundle);
|
|
56
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
57
|
+
const __dirname = path.dirname(__filename);
|
|
58
|
+
const echoDevHostBuildPath = path.resolve(__dirname, `../${ECHO_HOST_BUILD_OUTPUT_FOLDER}`);
|
|
59
|
+
if (options.flags.isDevelopment && !fs.existsSync(echoDevHostBuildPath)) {
|
|
60
|
+
this.log(chalk.red(`\n[echo-cli] Did you forget to run: 'npx build-echo-dev-host' ?\n`));
|
|
61
|
+
this.log(chalk.red(`\n[echo-cli] Could not start development server: The ${ECHO_HOST_BUILD_OUTPUT_FOLDER} folder was not found at ${echoDevHostBuildPath}.\n` +
|
|
62
|
+
'Please ensure echo-dev-host is built and present in node_modules/@equinor/echo-cli before running this command.\n'));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
echoCliLogo();
|
|
66
|
+
console.log(chalk.cyan('echo-cli uses echo-dev-host as a minimalistic host application for local development of Echo applications'));
|
|
67
|
+
if (options.flags.isDevelopment) {
|
|
68
|
+
console.log(chalk.hex('#FFA500')('\nTo rebuild the echo dev host for local development, run:\n' + ' npx build-echo-dev-host\n'));
|
|
69
|
+
console.log(chalk.hex('#FFA500')('To update your echo library dependencies to the latest versions, run:\n' +
|
|
70
|
+
' npx update-echo-libs\n'));
|
|
71
|
+
const appPkgPath = findConsumerAppPackageJson(process.cwd());
|
|
72
|
+
if (appPkgPath) {
|
|
73
|
+
await printEchoLibsVersions({
|
|
74
|
+
devHostPkgPath: path.resolve(path.resolve(__dirname, './echo-dev-host'), 'package.json'),
|
|
75
|
+
appPkgPath
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
await echoWebpackBuild(options.flags, options.flags.isDevelopment);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
CreateBundle.run();
|
|
83
|
+
//# sourceMappingURL=echo-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-build.js","sourceRoot":"","sources":["../src/echo-build.ts"],"names":[],"mappings":"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"}
|