@wearejh/m2-pwa-webpack 0.10.2

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +368 -0
  2. package/dist/browser/index.d.ts +22 -0
  3. package/dist/browser/index.js +71 -0
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.js +9 -0
  6. package/dist/server/index.d.ts +4 -0
  7. package/dist/server/index.js +50 -0
  8. package/dist/types.d.ts +35 -0
  9. package/dist/types.js +3 -0
  10. package/dist/utils/alias.d.ts +4 -0
  11. package/dist/utils/alias.js +30 -0
  12. package/dist/utils/babel.d.ts +5 -0
  13. package/dist/utils/babel.js +84 -0
  14. package/dist/utils/compile.d.ts +8 -0
  15. package/dist/utils/compile.js +53 -0
  16. package/dist/utils/compileWatch.d.ts +3 -0
  17. package/dist/utils/compileWatch.js +36 -0
  18. package/dist/utils/dev-server.d.ts +22 -0
  19. package/dist/utils/dev-server.js +100 -0
  20. package/dist/utils/drop-peer-deps.d.ts +4 -0
  21. package/dist/utils/drop-peer-deps.js +20 -0
  22. package/dist/utils/getQueries.d.ts +2 -0
  23. package/dist/utils/getQueries.js +24 -0
  24. package/dist/utils/optimization.d.ts +8 -0
  25. package/dist/utils/optimization.js +44 -0
  26. package/dist/utils/output.d.ts +8 -0
  27. package/dist/utils/output.js +48 -0
  28. package/dist/utils/plugins.d.ts +5 -0
  29. package/dist/utils/plugins.js +60 -0
  30. package/dist/utils/processParams.d.ts +3 -0
  31. package/dist/utils/processParams.js +26 -0
  32. package/dist/utils/rules.d.ts +50 -0
  33. package/dist/utils/rules.js +134 -0
  34. package/dist/utils/watch.d.ts +17 -0
  35. package/dist/utils/watch.js +27 -0
  36. package/lib/browser/index.ts +71 -0
  37. package/lib/index.ts +3 -0
  38. package/lib/server/index.ts +47 -0
  39. package/lib/types.ts +33 -0
  40. package/lib/utils/alias.ts +32 -0
  41. package/lib/utils/babel.ts +86 -0
  42. package/lib/utils/compile.ts +53 -0
  43. package/lib/utils/compileWatch.ts +33 -0
  44. package/lib/utils/dev-server.ts +104 -0
  45. package/lib/utils/drop-peer-deps.ts +22 -0
  46. package/lib/utils/getQueries.ts +23 -0
  47. package/lib/utils/optimization.ts +42 -0
  48. package/lib/utils/output.ts +28 -0
  49. package/lib/utils/plugins.ts +62 -0
  50. package/lib/utils/processParams.ts +28 -0
  51. package/lib/utils/rules.ts +116 -0
  52. package/lib/utils/watch.ts +44 -0
  53. package/package.json +90 -0
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @param {string} pkg
3
+ */
4
+ export declare function dropPeerDeps(pkg: any): {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dropPeerDeps = void 0;
4
+ const path_1 = require("path");
5
+ /**
6
+ * @param {string} pkg
7
+ */
8
+ function dropPeerDeps(pkg) {
9
+ const CWD = path_1.join(__dirname, '..');
10
+ const peerDeps = require(`${pkg}/package.json`).peerDependencies;
11
+ const localDeps = Object.keys(Object.assign(Object.assign({}, require(path_1.resolve(CWD, 'package.json')).dependencies), require(path_1.resolve(CWD, 'package.json')).devDependencies));
12
+ return Object.assign({}, Object.keys(peerDeps)
13
+ .filter((key) => localDeps.indexOf(key) > -1)
14
+ .reduce((acc, item) => {
15
+ acc[item] = path_1.resolve(CWD, 'node_modules', item);
16
+ return acc;
17
+ }, {}));
18
+ }
19
+ exports.dropPeerDeps = dropPeerDeps;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1wZWVyLWRlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvZHJvcC1wZWVyLWRlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQXFDO0FBRXJDOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLEdBQUc7SUFDNUIsTUFBTSxHQUFHLEdBQUcsV0FBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLGlDQUN0QixPQUFPLENBQUMsY0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FDbEQsT0FBTyxDQUFDLGNBQU8sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQzFELENBQUM7SUFFSCx5QkFDTyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxjQUFPLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDWjtBQUNOLENBQUM7QUFoQkQsb0NBZ0JDIn0=
@@ -0,0 +1,2 @@
1
+ export declare function getQueries(_opts: any, ctx: any): any;
2
+ export default getQueries;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQueries = void 0;
4
+ function getQueries(_opts, ctx) {
5
+ const cwd = ctx.config.cwd;
6
+ const fs = require('fs');
7
+ const { readFileSync } = fs;
8
+ const { join } = require('path');
9
+ const dir1 = join(cwd, 'src', 'queries');
10
+ const first = fs.readdirSync(dir1).map((x) => [dir1, x]);
11
+ const output = first
12
+ .filter(([, x]) => x.endsWith('.graphql'))
13
+ .map(([dir, file]) => {
14
+ return {
15
+ name: file,
16
+ query: readFileSync(join(dir, file), 'utf8'),
17
+ endpoint: '/graphql',
18
+ };
19
+ });
20
+ return output;
21
+ }
22
+ exports.getQueries = getQueries;
23
+ exports.default = getQueries;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9nZXRRdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRztJQUNqQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUMzQixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpELE1BQU0sTUFBTSxHQUFHLEtBQUs7U0FDZixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDekMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNqQixPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO1lBQzVDLFFBQVEsRUFBRSxVQUFVO1NBQ3ZCLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztJQUVQLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFwQkQsZ0NBb0JDO0FBRUQsa0JBQWUsVUFBVSxDQUFDIn0=
@@ -0,0 +1,8 @@
1
+ import { ToolParams } from '../types';
2
+ export declare function optimization(params: ToolParams): {
3
+ runtimeChunk: "single";
4
+ splitChunks: {
5
+ chunks: "all";
6
+ };
7
+ minimizer: any;
8
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.optimization = void 0;
7
+ const optimize_css_assets_webpack_plugin_1 = __importDefault(require("optimize-css-assets-webpack-plugin"));
8
+ const terser_webpack_plugin_1 = __importDefault(require("terser-webpack-plugin"));
9
+ function optimization(params) {
10
+ const { selectMode, selectTarget, selectDebug } = params;
11
+ return {
12
+ runtimeChunk: 'single',
13
+ splitChunks: {
14
+ chunks: 'all',
15
+ },
16
+ minimizer: selectDebug([], [
17
+ selectMode({
18
+ production: new terser_webpack_plugin_1.default({
19
+ sourceMap: true,
20
+ parallel: true,
21
+ cache: true,
22
+ terserOptions: {
23
+ ecma: 8,
24
+ parse: {
25
+ ecma: 8,
26
+ },
27
+ compress: {
28
+ drop_console: false,
29
+ },
30
+ output: {
31
+ ecma: selectTarget({ legacy: 5, modern: 7 }),
32
+ semicolons: false,
33
+ },
34
+ keep_fnames: true,
35
+ safari10: true,
36
+ },
37
+ }),
38
+ }),
39
+ selectMode({ production: new optimize_css_assets_webpack_plugin_1.default({}) }),
40
+ ].filter(Boolean)),
41
+ };
42
+ }
43
+ exports.optimization = optimization;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW1pemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL29wdGltaXphdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0R0FBeUU7QUFDekUsa0ZBQWlEO0FBSWpELFNBQWdCLFlBQVksQ0FBQyxNQUFrQjtJQUMzQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDekQsT0FBTztRQUNILFlBQVksRUFBRSxRQUFpQjtRQUMvQixXQUFXLEVBQUU7WUFDVCxNQUFNLEVBQUUsS0FBYztTQUN6QjtRQUNELFNBQVMsRUFBRSxXQUFXLENBQ2xCLEVBQUUsRUFDRjtZQUNJLFVBQVUsQ0FBQztnQkFDUCxVQUFVLEVBQUUsSUFBSSwrQkFBWSxDQUFDO29CQUN6QixTQUFTLEVBQUUsSUFBSTtvQkFDZixRQUFRLEVBQUUsSUFBSTtvQkFDZCxLQUFLLEVBQUUsSUFBSTtvQkFDWCxhQUFhLEVBQUU7d0JBQ1gsSUFBSSxFQUFFLENBQUM7d0JBQ1AsS0FBSyxFQUFFOzRCQUNILElBQUksRUFBRSxDQUFDO3lCQUNWO3dCQUNELFFBQVEsRUFBRTs0QkFDTixZQUFZLEVBQUUsS0FBSzt5QkFDdEI7d0JBQ0QsTUFBTSxFQUFFOzRCQUNKLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzs0QkFDNUMsVUFBVSxFQUFFLEtBQUs7eUJBQ3BCO3dCQUNELFdBQVcsRUFBRSxJQUFJO3dCQUNqQixRQUFRLEVBQUUsSUFBSTtxQkFDakI7aUJBQ0osQ0FBQzthQUNMLENBQUM7WUFDRixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSw0Q0FBdUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQzlELENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUNwQjtLQUNKLENBQUM7QUFDTixDQUFDO0FBcENELG9DQW9DQyJ9
@@ -0,0 +1,8 @@
1
+ import { ToolParams } from '../types';
2
+ export declare function output(params: ToolParams): {
3
+ path: any;
4
+ publicPath: any;
5
+ filename: any;
6
+ strictModuleExceptionHandling: boolean;
7
+ chunkFilename: any;
8
+ };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.output = void 0;
23
+ const path_1 = require("path");
24
+ const VARS = __importStar(require("@wearejh/m2-pwa-vars"));
25
+ function output(params) {
26
+ const { selectMode, selectTarget, cwd } = params;
27
+ return {
28
+ path: selectTarget({
29
+ modern: path_1.join(cwd, VARS.ASSET_PREFIX),
30
+ legacy: path_1.join(cwd, VARS.ASSET_LEGACY_PREFIX),
31
+ }),
32
+ publicPath: selectTarget({
33
+ modern: `/${VARS.ASSET_PREFIX}/`,
34
+ legacy: `/${VARS.ASSET_LEGACY_PREFIX}/`,
35
+ }),
36
+ filename: selectMode({
37
+ development: 'js/[name].js',
38
+ production: 'js/[name]-[chunkhash].js',
39
+ }),
40
+ strictModuleExceptionHandling: true,
41
+ chunkFilename: selectMode({
42
+ development: 'js/[name].js',
43
+ production: 'js/[name]-[chunkhash].js',
44
+ }),
45
+ };
46
+ }
47
+ exports.output = output;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL291dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQTRCO0FBRTVCLDJEQUE2QztBQUk3QyxTQUFnQixNQUFNLENBQUMsTUFBa0I7SUFDckMsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2pELE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWSxDQUFDO1lBQ2YsTUFBTSxFQUFFLFdBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNwQyxNQUFNLEVBQUUsV0FBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDOUMsQ0FBQztRQUNGLFVBQVUsRUFBRSxZQUFZLENBQUM7WUFDckIsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRztZQUNoQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEdBQUc7U0FDMUMsQ0FBQztRQUNGLFFBQVEsRUFBRSxVQUFVLENBQUM7WUFDakIsV0FBVyxFQUFFLGNBQWM7WUFDM0IsVUFBVSxFQUFFLDBCQUEwQjtTQUN6QyxDQUFDO1FBQ0YsNkJBQTZCLEVBQUUsSUFBSTtRQUNuQyxhQUFhLEVBQUUsVUFBVSxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxjQUFjO1lBQzNCLFVBQVUsRUFBRSwwQkFBMEI7U0FDekMsQ0FBQztLQUNMLENBQUM7QUFDTixDQUFDO0FBckJELHdCQXFCQyJ9
@@ -0,0 +1,5 @@
1
+ import { ToolParams } from '../types';
2
+ export interface PluginParams {
3
+ swExcludeChunks?: string[];
4
+ }
5
+ export declare function plugins(params: ToolParams, pluginsParams?: PluginParams): any[];
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.plugins = void 0;
7
+ const webpack_1 = __importDefault(require("webpack"));
8
+ const webpack_stats_plugin_1 = require("webpack-stats-plugin");
9
+ const case_sensitive_paths_webpack_plugin_1 = __importDefault(require("case-sensitive-paths-webpack-plugin"));
10
+ const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
11
+ const workbox_webpack_plugin_1 = __importDefault(require("workbox-webpack-plugin"));
12
+ const wrapper_webpack_plugin_1 = __importDefault(require("wrapper-webpack-plugin"));
13
+ const webpack_bundle_analyzer_1 = require("webpack-bundle-analyzer");
14
+ const dev_server_1 = require("./dev-server");
15
+ function plugins(params, pluginsParams = {}) {
16
+ const { swExcludeChunks = [] } = pluginsParams;
17
+ const { env, selectMode, selectTarget } = params;
18
+ return [
19
+ new dev_server_1.DevServerReadyPlugin(),
20
+ new case_sensitive_paths_webpack_plugin_1.default(),
21
+ env.analyse && new webpack_bundle_analyzer_1.BundleAnalyzerPlugin(),
22
+ new webpack_1.default.DefinePlugin({
23
+ 'process.env': {
24
+ NODE_ENV: JSON.stringify(selectMode({
25
+ development: 'development',
26
+ production: 'production',
27
+ })),
28
+ },
29
+ }),
30
+ selectMode({
31
+ development: new webpack_1.default.HotModuleReplacementPlugin(),
32
+ }),
33
+ selectMode({
34
+ production: new mini_css_extract_plugin_1.default({
35
+ filename: '[name]-[chunkhash].css',
36
+ }),
37
+ }),
38
+ new webpack_stats_plugin_1.StatsWriterPlugin({
39
+ fields: null,
40
+ filename: `stats.${params.version}.json`,
41
+ transform(data) {
42
+ return JSON.stringify(data.namedChunkGroups, null, 2);
43
+ },
44
+ }),
45
+ new workbox_webpack_plugin_1.default.InjectManifest({
46
+ swSrc: './src/sw.js',
47
+ swDest: 'sw.js',
48
+ exclude: [/\.(?:map|gif|svg)$/, /stats\.(.+?)\.json$/],
49
+ excludeChunks: swExcludeChunks,
50
+ }),
51
+ selectTarget({
52
+ legacy: new wrapper_webpack_plugin_1.default({
53
+ test: /\.js$/,
54
+ header: 'if (window.__moduleSupport) throw new Error("Browser supports both module+nomodule");',
55
+ }),
56
+ }),
57
+ ].filter(Boolean);
58
+ }
59
+ exports.plugins = plugins;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNEQUE4QjtBQUM5QiwrREFBeUQ7QUFDekQsOEdBQTJFO0FBQzNFLHNGQUEyRDtBQUMzRCxvRkFBbUQ7QUFDbkQsb0ZBQW1EO0FBQ25ELHFFQUErRDtBQUkvRCw2Q0FBb0Q7QUFNcEQsU0FBZ0IsT0FBTyxDQUFDLE1BQWtCLEVBQUUsZ0JBQThCLEVBQUU7SUFDeEUsTUFBTSxFQUFFLGVBQWUsR0FBRyxFQUFFLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFDL0MsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2pELE9BQU87UUFDSCxJQUFJLGlDQUFvQixFQUFFO1FBQzFCLElBQUksNkNBQXdCLEVBQUU7UUFDOUIsR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLDhDQUFvQixFQUFFO1FBQ3pDLElBQUksaUJBQU8sQ0FBQyxZQUFZLENBQUM7WUFDckIsYUFBYSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNwQixVQUFVLENBQUM7b0JBQ1AsV0FBVyxFQUFFLGFBQWE7b0JBQzFCLFVBQVUsRUFBRSxZQUFZO2lCQUMzQixDQUFDLENBQ0w7YUFDRztTQUNYLENBQUM7UUFDRixVQUFVLENBQUM7WUFDUCxXQUFXLEVBQUUsSUFBSSxpQkFBTyxDQUFDLDBCQUEwQixFQUFFO1NBQ3hELENBQUM7UUFDRixVQUFVLENBQUM7WUFDUCxVQUFVLEVBQUUsSUFBSSxpQ0FBb0IsQ0FBQztnQkFDakMsUUFBUSxFQUFFLHdCQUF3QjthQUNyQyxDQUFDO1NBQ0wsQ0FBQztRQUNGLElBQUksd0NBQWlCLENBQUM7WUFDbEIsTUFBTSxFQUFFLElBQUk7WUFDWixRQUFRLEVBQUUsU0FBUyxNQUFNLENBQUMsT0FBTyxPQUFPO1lBQ3hDLFNBQVMsQ0FBQyxJQUFJO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUM7U0FDSixDQUFDO1FBQ0YsSUFBSSxnQ0FBYSxDQUFDLGNBQWMsQ0FBQztZQUM3QixLQUFLLEVBQUUsYUFBYTtZQUNwQixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDO1lBQ3RELGFBQWEsRUFBRSxlQUFlO1NBQ2pDLENBQUM7UUFDRixZQUFZLENBQUM7WUFDVCxNQUFNLEVBQUUsSUFBSSxnQ0FBYSxDQUFDO2dCQUN0QixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUUsdUZBQXVGO2FBQ2xHLENBQUM7U0FDTCxDQUFDO0tBQ0wsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQTdDRCwwQkE2Q0MifQ==
@@ -0,0 +1,3 @@
1
+ import { CreateWebpackParams } from '../browser';
2
+ import { ToolParams } from '../types';
3
+ export declare function processParams(params: CreateWebpackParams): ToolParams;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processParams = void 0;
4
+ function processParams(params) {
5
+ const { backend, mode, target, debug, cwd, env, version, buildEnv, devServerBefore, devServerHttps } = params;
6
+ const selectMode = (input) => input[mode];
7
+ const selectTarget = (input) => input[target];
8
+ const selectDebug = (on, off) => (debug ? on : off);
9
+ const selectEnv = (input) => input['browser'];
10
+ const toolParams = {
11
+ selectDebug,
12
+ selectEnv,
13
+ selectTarget,
14
+ selectMode,
15
+ backend,
16
+ cwd,
17
+ env,
18
+ version,
19
+ buildEnv,
20
+ devServerBefore,
21
+ devServerHttps,
22
+ };
23
+ return toolParams;
24
+ }
25
+ exports.processParams = processParams;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc1BhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9wcm9jZXNzUGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLFNBQWdCLGFBQWEsQ0FBQyxNQUEyQjtJQUNyRCxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTlHLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLFdBQVcsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUMsTUFBTSxVQUFVLEdBQWU7UUFDM0IsV0FBVztRQUNYLFNBQVM7UUFDVCxZQUFZO1FBQ1osVUFBVTtRQUVWLE9BQU87UUFDUCxHQUFHO1FBQ0gsR0FBRztRQUNILE9BQU87UUFDUCxRQUFRO1FBQ1IsZUFBZTtRQUNmLGNBQWM7S0FDakIsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUM7QUF4QkQsc0NBd0JDIn0=
@@ -0,0 +1,50 @@
1
+ import { ToolParams } from '../types';
2
+ export interface RulesParams {
3
+ babelIncludes?: (string | RegExp)[];
4
+ }
5
+ /**
6
+ * @returns {*[]}
7
+ */
8
+ export declare function rules(params: ToolParams, rules?: RulesParams): ({
9
+ test: RegExp;
10
+ exclude: RegExp;
11
+ use: {
12
+ loader: string;
13
+ }[];
14
+ include?: undefined;
15
+ } | {
16
+ include: any[];
17
+ test: RegExp;
18
+ use: {
19
+ loader: string;
20
+ options: any;
21
+ }[];
22
+ exclude?: undefined;
23
+ } | {
24
+ test: RegExp[];
25
+ use: any[];
26
+ exclude?: undefined;
27
+ include?: undefined;
28
+ } | {
29
+ test: RegExp;
30
+ use: {
31
+ loader: string;
32
+ options: {
33
+ esModule: boolean;
34
+ emitFile: any;
35
+ };
36
+ }[];
37
+ exclude?: undefined;
38
+ include?: undefined;
39
+ } | {
40
+ test: RegExp;
41
+ use: {
42
+ loader: string;
43
+ options: {
44
+ name: string;
45
+ emitFile: any;
46
+ };
47
+ }[];
48
+ exclude?: undefined;
49
+ include?: undefined;
50
+ })[];
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.rules = void 0;
26
+ const path_1 = require("path");
27
+ const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
28
+ const VARS = __importStar(require("@wearejh/m2-pwa-vars"));
29
+ const babel_1 = require("./babel");
30
+ /**
31
+ * @returns {*[]}
32
+ */
33
+ function rules(params, rules = {}) {
34
+ const { babelIncludes = [] } = rules;
35
+ const { selectMode, selectEnv, cwd } = params;
36
+ const babelOptions = babel_1.configureBabel(params);
37
+ const babelEnvDeps = require('webpack-babel-env-deps');
38
+ const CWD = cwd;
39
+ return [
40
+ {
41
+ test: /\.graphql$/,
42
+ exclude: /node_modules/,
43
+ use: [
44
+ {
45
+ loader: 'graphql-tag/loader',
46
+ },
47
+ ],
48
+ },
49
+ {
50
+ include: [
51
+ path_1.resolve(CWD, VARS.PATH_SERVER_SRC),
52
+ path_1.resolve(CWD, VARS.PATH_SRC),
53
+ path_1.resolve(CWD, VARS.PATH_GENERATED),
54
+ path_1.resolve(CWD, '..', 'swagger'),
55
+ path_1.resolve(CWD, 'node_modules', 'debug'),
56
+ /node_modules\/@wearejh\//,
57
+ /mage-mono\/packages\//,
58
+ ...babelIncludes,
59
+ babelEnvDeps.include(),
60
+ ].filter(Boolean),
61
+ // exclude: [/node_modules/],
62
+ test: /\.(ts|tsx|mjs|js|svg|graphql)$/,
63
+ use: [
64
+ {
65
+ loader: 'babel-loader',
66
+ options: babelOptions,
67
+ },
68
+ ],
69
+ },
70
+ {
71
+ test: [/\.css$/, /\.scss$/],
72
+ use: [
73
+ selectMode({ development: 'style-loader', production: mini_css_extract_plugin_1.default.loader }),
74
+ {
75
+ loader: 'css-loader',
76
+ options: {
77
+ importLoaders: 1,
78
+ modules: {
79
+ mode: 'local',
80
+ localIdentName: '[name]-[local]-[hash:base64:3]',
81
+ },
82
+ localsConvention: 'camelCase',
83
+ sourceMap: selectMode({ development: true, production: false }),
84
+ },
85
+ },
86
+ {
87
+ loader: 'sass-loader',
88
+ options: {
89
+ prependData: `@import "_vars"; @import "_mixins";`,
90
+ sassOptions: {
91
+ includePaths: ['src/scss'],
92
+ },
93
+ sourceMap: selectMode({ development: true, production: false }),
94
+ },
95
+ },
96
+ {
97
+ loader: 'postcss-loader',
98
+ options: {
99
+ ident: 'postcss',
100
+ plugins: [require('autoprefixer')()],
101
+ sourceMap: selectMode({ development: true, production: false }),
102
+ },
103
+ },
104
+ 'resolve-url-loader',
105
+ ].filter(Boolean),
106
+ },
107
+ {
108
+ test: /\.(jpe?g|png|svg|gif)$/,
109
+ use: [
110
+ {
111
+ loader: 'file-loader',
112
+ options: {
113
+ esModule: false,
114
+ emitFile: selectEnv({ browser: true, server: false }),
115
+ },
116
+ },
117
+ ],
118
+ },
119
+ {
120
+ test: /\.(woff2?)$/,
121
+ use: [
122
+ {
123
+ loader: 'file-loader',
124
+ options: {
125
+ name: '[path][name].[ext]',
126
+ emitFile: selectEnv({ browser: true, server: false }),
127
+ },
128
+ },
129
+ ],
130
+ },
131
+ ];
132
+ }
133
+ exports.rules = rules;
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcnVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUUvQixzRkFBMkQ7QUFDM0QsMkRBQTZDO0FBSTdDLG1DQUF5QztBQU16Qzs7R0FFRztBQUNILFNBQWdCLEtBQUssQ0FBQyxNQUFrQixFQUFFLFFBQXFCLEVBQUU7SUFDN0QsTUFBTSxFQUFFLGFBQWEsR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDckMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLHNCQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLE9BQU87UUFDSDtZQUNJLElBQUksRUFBRSxZQUFZO1lBQ2xCLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLEdBQUcsRUFBRTtnQkFDRDtvQkFDSSxNQUFNLEVBQUUsb0JBQW9CO2lCQUMvQjthQUNKO1NBQ0o7UUFDRDtZQUNJLE9BQU8sRUFBRTtnQkFDTCxjQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQ2xDLGNBQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDM0IsY0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUNqQyxjQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7Z0JBQzdCLGNBQU8sQ0FBQyxHQUFHLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQztnQkFDckMsMEJBQTBCO2dCQUMxQix1QkFBdUI7Z0JBQ3ZCLEdBQUcsYUFBYTtnQkFDaEIsWUFBWSxDQUFDLE9BQU8sRUFBRTthQUN6QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDakIsNkJBQTZCO1lBQzdCLElBQUksRUFBRSxnQ0FBZ0M7WUFDdEMsR0FBRyxFQUFFO2dCQUNEO29CQUNJLE1BQU0sRUFBRSxjQUFjO29CQUN0QixPQUFPLEVBQUUsWUFBWTtpQkFDeEI7YUFDSjtTQUNKO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQzNCLEdBQUcsRUFBRTtnQkFDRCxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxpQ0FBb0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEY7b0JBQ0ksTUFBTSxFQUFFLFlBQVk7b0JBQ3BCLE9BQU8sRUFBRTt3QkFDTCxhQUFhLEVBQUUsQ0FBQzt3QkFDaEIsT0FBTyxFQUFFOzRCQUNMLElBQUksRUFBRSxPQUFPOzRCQUNiLGNBQWMsRUFBRSxnQ0FBZ0M7eUJBQ25EO3dCQUNELGdCQUFnQixFQUFFLFdBQVc7d0JBQzdCLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztxQkFDbEU7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksTUFBTSxFQUFFLGFBQWE7b0JBQ3JCLE9BQU8sRUFBRTt3QkFDTCxXQUFXLEVBQUUscUNBQXFDO3dCQUNsRCxXQUFXLEVBQUU7NEJBQ1QsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDO3lCQUM3Qjt3QkFDRCxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7cUJBQ2xFO2lCQUNKO2dCQUNEO29CQUNJLE1BQU0sRUFBRSxnQkFBZ0I7b0JBQ3hCLE9BQU8sRUFBRTt3QkFDTCxLQUFLLEVBQUUsU0FBUzt3QkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7d0JBQ3BDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztxQkFDbEU7aUJBQ0o7Z0JBQ0Qsb0JBQW9CO2FBQ3ZCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNwQjtRQUNEO1lBQ0ksSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixHQUFHLEVBQUU7Z0JBQ0Q7b0JBQ0ksTUFBTSxFQUFFLGFBQWE7b0JBQ3JCLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsS0FBSzt3QkFDZixRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7cUJBQ3hEO2lCQUNKO2FBQ0o7U0FDSjtRQUNEO1lBQ0ksSUFBSSxFQUFFLGFBQWE7WUFDbkIsR0FBRyxFQUFFO2dCQUNEO29CQUNJLE1BQU0sRUFBRSxhQUFhO29CQUNyQixPQUFPLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLG9CQUFvQjt3QkFDMUIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO3FCQUN4RDtpQkFDSjthQUNKO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQztBQW5HRCxzQkFtR0MifQ==