@salesforce/pwa-kit-dev 4.0.0-extensibility-preview.2 → 4.0.0-extensibility-preview.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/bin/pwa-kit-dev.js
CHANGED
|
@@ -299,7 +299,7 @@ const main = async () => {
|
|
|
299
299
|
? projectWebpack
|
|
300
300
|
: p.join(__dirname, '..', 'configs', 'webpack', 'config.js')
|
|
301
301
|
fse.emptyDirSync(buildDirectory)
|
|
302
|
-
execSync(
|
|
302
|
+
execSync(`"${webpack}" --config "${webpackConf}"`, {
|
|
303
303
|
env: {
|
|
304
304
|
NODE_ENV: 'production',
|
|
305
305
|
...process.env,
|
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _utils = require("@salesforce/pwa-kit-extension-sdk/shared/utils");
|
|
8
8
|
var _ssrConfig = require("@salesforce/pwa-kit-runtime/utils/ssr-config");
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
11
|
/*
|
|
10
12
|
* Copyright (c) 2021, salesforce.com, inc.
|
|
11
13
|
* All rights reserved.
|
|
@@ -34,5 +36,22 @@ var _default = exports.default = {
|
|
|
34
36
|
presets: [require('@babel/preset-env'), require('@babel/preset-react')],
|
|
35
37
|
plugins: [require('babel-plugin-dynamic-import-node-babel-7')]
|
|
36
38
|
}
|
|
37
|
-
}
|
|
39
|
+
},
|
|
40
|
+
ignore: [function (filepath) {
|
|
41
|
+
const normalizedPath = _path.default.normalize(filepath);
|
|
42
|
+
const extensionRegex = new RegExp(`node_modules\\${_path.default.sep}[^\\${_path.default.sep}]+\\${_path.default.sep}(pwa-kit-extension-sdk|@[^\\${_path.default.sep}]+\\${_path.default.sep}extension-|extension-)`);
|
|
43
|
+
|
|
44
|
+
// Return false if it's an allowed extension package @salesforce/pwa-kit-extension-sdk and extension-*
|
|
45
|
+
if (extensionRegex.test(normalizedPath)) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Return true if it's in node_modules (excluding allowed packages handled above)
|
|
50
|
+
if (/node_modules/.test(normalizedPath)) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Return false for all other files
|
|
55
|
+
return false;
|
|
56
|
+
}]
|
|
38
57
|
};
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SUPPORTED_FILE_EXTENSIONS = exports.EXTENIONS_NAMESPACE = exports.DEPS_TO_DEDUPE = void 0;
|
|
7
7
|
var _webpackBundleAnalyzer = require("webpack-bundle-analyzer");
|
|
8
|
-
var _path = require("path");
|
|
8
|
+
var _path = _interopRequireWildcard(require("path"));
|
|
9
9
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
10
10
|
var _webpack = _interopRequireDefault(require("webpack"));
|
|
11
11
|
var _copyWebpackPlugin = _interopRequireDefault(require("copy-webpack-plugin"));
|
|
@@ -20,6 +20,8 @@ var _webpack2 = require("@salesforce/pwa-kit-extension-sdk/configs/webpack");
|
|
|
20
20
|
var _ssrConfig = require("@salesforce/pwa-kit-runtime/utils/ssr-config");
|
|
21
21
|
var _utils = require("@salesforce/pwa-kit-extension-sdk/shared/utils");
|
|
22
22
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
25
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
24
26
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
27
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -39,6 +41,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
39
41
|
const projectDir = process.cwd();
|
|
40
42
|
const pkg = _fsExtra.default.readJsonSync((0, _path.resolve)(projectDir, 'package.json'));
|
|
41
43
|
const buildDir = process.env.PWA_KIT_BUILD_DIR ? (0, _path.resolve)(process.env.PWA_KIT_BUILD_DIR) : (0, _path.resolve)(projectDir, 'build');
|
|
44
|
+
const isMonoRepo = _fsExtra.default.existsSync((0, _path.resolve)(projectDir, '..', '..', 'lerna.json'));
|
|
42
45
|
const production = 'production';
|
|
43
46
|
const development = 'development';
|
|
44
47
|
const analyzeBundle = process.env.MOBIFY_ANALYZE === 'true';
|
|
@@ -198,6 +201,10 @@ const baseConfig = target => {
|
|
|
198
201
|
configured: (0, _utils.getConfiguredExtensions)((0, _ssrConfig.getConfig)()),
|
|
199
202
|
target: 'node'
|
|
200
203
|
}
|
|
204
|
+
}), (0, _webpack2.ruleForOverrideResolver)({
|
|
205
|
+
target,
|
|
206
|
+
projectDir,
|
|
207
|
+
isMonoRepo
|
|
201
208
|
})].filter(Boolean)
|
|
202
209
|
}
|
|
203
210
|
});
|
|
@@ -253,6 +260,8 @@ const ruleForBabelLoader = babelPlugins => {
|
|
|
253
260
|
id: 'babel-loader',
|
|
254
261
|
test: /(\.js(x?)|\.ts(x?))$/,
|
|
255
262
|
// NOTE: Because our extensions are just folders containing source code, we need to ensure that the babel-loader processes them.
|
|
263
|
+
// This regex exclude everything in node_modules, but node_modules/extensions-*/ folders
|
|
264
|
+
exclude: new RegExp(`node_modules\\${_path.default.sep}(?!(@?[^\\${_path.default.sep}]+\\${_path.default.sep})?extension-).*`, 'i'),
|
|
256
265
|
use: [{
|
|
257
266
|
loader: findDepInStack('babel-loader'),
|
|
258
267
|
options: _objectSpread({
|
|
@@ -7,7 +7,6 @@ exports.sdkReplacementPlugin = void 0;
|
|
|
7
7
|
var _webpack = _interopRequireDefault(require("webpack"));
|
|
8
8
|
var _path = _interopRequireWildcard(require("path"));
|
|
9
9
|
var _glob = _interopRequireDefault(require("glob"));
|
|
10
|
-
var _config = require("./config");
|
|
11
10
|
var _utils = require("./utils");
|
|
12
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -24,23 +23,7 @@ const projectDir = process.cwd();
|
|
|
24
23
|
const pkg = require((0, _path.resolve)(projectDir, 'package.json'));
|
|
25
24
|
const OVERRIDES_EXTENSIONS = '.+(js|jsx|ts|tsx)';
|
|
26
25
|
const getOverridePath = relativePath => {
|
|
27
|
-
|
|
28
|
-
const extendPath = pkg !== null && pkg !== void 0 && (_pkg$ccExtensibility = pkg.ccExtensibility) !== null && _pkg$ccExtensibility !== void 0 && _pkg$ccExtensibility.extends ? `node_modules/${_config.EXT_EXTENDS}` : '';
|
|
29
|
-
const overridePath = _config.EXT_OVERRIDES_DIR === null || _config.EXT_OVERRIDES_DIR === void 0 ? void 0 : _config.EXT_OVERRIDES_DIR.replace(/^\//, '');
|
|
30
|
-
|
|
31
|
-
// order matters here, we perform look ups starting in the following order:
|
|
32
|
-
// pkg.ccExtensibility.overridesDir => pkg.ccExtensibility.extends => current projectDir
|
|
33
|
-
if (_config.EXT_EXTENDS && _config.EXT_OVERRIDES_DIR) {
|
|
34
|
-
const filePath = `${(0, _path.resolve)(projectDir, overridePath, ...relativePath)}${OVERRIDES_EXTENSIONS}`;
|
|
35
|
-
const overrideFile = _glob.default.sync(filePath);
|
|
36
|
-
if (overrideFile !== null && overrideFile !== void 0 && overrideFile.length) {
|
|
37
|
-
return overrideFile === null || overrideFile === void 0 ? void 0 : overrideFile[0];
|
|
38
|
-
}
|
|
39
|
-
const extendFile = _glob.default.sync(`${(0, _path.resolve)(projectDir, extendPath, ...relativePath)}${OVERRIDES_EXTENSIONS}`);
|
|
40
|
-
if (extendFile !== null && extendFile !== void 0 && extendFile.length) {
|
|
41
|
-
return extendFile === null || extendFile === void 0 ? void 0 : extendFile[0];
|
|
42
|
-
}
|
|
43
|
-
}
|
|
26
|
+
// Perform lookups starting in the current projectDir
|
|
44
27
|
const generatedProjectOverride = _glob.default.sync(`${(0, _path.resolve)(projectDir, ...relativePath)}${OVERRIDES_EXTENSIONS}`);
|
|
45
28
|
return generatedProjectOverride !== null && generatedProjectOverride !== void 0 && generatedProjectOverride.length ? generatedProjectOverride === null || generatedProjectOverride === void 0 ? void 0 : generatedProjectOverride[0] : (0, _path.resolve)('node_modules', '@salesforce', 'pwa-kit-react-sdk', 'ssr', 'universal', ...relativePath.filter(item => item !== 'app'));
|
|
46
29
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/pwa-kit-dev",
|
|
3
|
-
"version": "4.0.0-extensibility-preview.
|
|
3
|
+
"version": "4.0.0-extensibility-preview.3",
|
|
4
4
|
"description": "Build tools for pwa-kit",
|
|
5
5
|
"homepage": "https://github.com/SalesforceCommerceCloud/pwa-kit/tree/develop/packages/pwa-kit-dev#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"@loadable/server": "^5.15.3",
|
|
59
59
|
"@loadable/webpack-plugin": "^5.15.2",
|
|
60
60
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
|
|
61
|
-
"@salesforce/pwa-kit-extension-sdk": "4.0.0-extensibility-preview.
|
|
62
|
-
"@salesforce/pwa-kit-runtime": "4.0.0-extensibility-preview.
|
|
61
|
+
"@salesforce/pwa-kit-extension-sdk": "4.0.0-extensibility-preview.3",
|
|
62
|
+
"@salesforce/pwa-kit-runtime": "4.0.0-extensibility-preview.3",
|
|
63
63
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
64
64
|
"@typescript-eslint/parser": "^5.57.0",
|
|
65
65
|
"archiver": "1.3.0",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"@types/node": "~16.0.3",
|
|
124
124
|
"@types/node-fetch": "~2.6.3",
|
|
125
125
|
"@types/validator": "~13.7.14",
|
|
126
|
-
"internal-lib-build": "4.0.0-extensibility-preview.
|
|
126
|
+
"internal-lib-build": "4.0.0-extensibility-preview.3",
|
|
127
127
|
"nock": "^13.3.0",
|
|
128
128
|
"nodemon": "^2.0.22",
|
|
129
129
|
"superagent": "^6.1.0",
|
|
@@ -149,5 +149,5 @@
|
|
|
149
149
|
"publishConfig": {
|
|
150
150
|
"directory": "dist"
|
|
151
151
|
},
|
|
152
|
-
"gitHead": "
|
|
152
|
+
"gitHead": "904de01e826117febeea952e034478349e16ea4d"
|
|
153
153
|
}
|
|
@@ -43,7 +43,10 @@ const DevServerMixin = exports.DevServerMixin = {
|
|
|
43
43
|
* @private
|
|
44
44
|
*/
|
|
45
45
|
_logStartupMessage(options) {
|
|
46
|
-
|
|
46
|
+
const {
|
|
47
|
+
startPath = '/'
|
|
48
|
+
} = options;
|
|
49
|
+
_loggerInstance.default.log(`Starting the DevServer on ${_chalk.default.cyan(this._getDevServerURL(options) + startPath)}`);
|
|
47
50
|
},
|
|
48
51
|
/**
|
|
49
52
|
* @private
|
|
@@ -210,6 +213,11 @@ const DevServerMixin = exports.DevServerMixin = {
|
|
|
210
213
|
next();
|
|
211
214
|
});
|
|
212
215
|
},
|
|
216
|
+
/**
|
|
217
|
+
* Serve static files from the app directory.
|
|
218
|
+
* @param filePath - The path to the file to serve.
|
|
219
|
+
* @param opts - Additional options.
|
|
220
|
+
*/
|
|
213
221
|
serveStaticFile(filePath, opts = {}) {
|
|
214
222
|
// Warning: Ugly part of the Bundle spec that we need to maintain.
|
|
215
223
|
//
|
|
@@ -233,8 +241,7 @@ const DevServerMixin = exports.DevServerMixin = {
|
|
|
233
241
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
234
242
|
const pkg = require(_path.default.resolve(process.cwd(), 'package.json'));
|
|
235
243
|
return (req, res) => {
|
|
236
|
-
|
|
237
|
-
const baseDir = _path.default.resolve(req.app.options.projectDir, pkg !== null && pkg !== void 0 && (_pkg$ccExtensibility = pkg.ccExtensibility) !== null && _pkg$ccExtensibility !== void 0 && _pkg$ccExtensibility.overridesDir ? pkg === null || pkg === void 0 ? void 0 : (_pkg$ccExtensibility2 = pkg.ccExtensibility) === null || _pkg$ccExtensibility2 === void 0 ? void 0 : (_pkg$ccExtensibility3 = _pkg$ccExtensibility2.overridesDir) === null || _pkg$ccExtensibility3 === void 0 ? void 0 : _pkg$ccExtensibility3.replace(/^\//, '') : '', 'app');
|
|
244
|
+
const baseDir = _path.default.resolve(req.app.options.projectDir, 'app');
|
|
238
245
|
return this._serveStaticFile(req, res, baseDir, filePath, opts);
|
|
239
246
|
};
|
|
240
247
|
},
|
|
@@ -306,7 +313,8 @@ const DevServerMixin = exports.DevServerMixin = {
|
|
|
306
313
|
_createHandler(app) {
|
|
307
314
|
const {
|
|
308
315
|
protocol,
|
|
309
|
-
sslFilePath
|
|
316
|
+
sslFilePath,
|
|
317
|
+
startPath = '/'
|
|
310
318
|
} = app.options;
|
|
311
319
|
const {
|
|
312
320
|
hostname,
|
|
@@ -330,7 +338,9 @@ const DevServerMixin = exports.DevServerMixin = {
|
|
|
330
338
|
}, () => {
|
|
331
339
|
/* istanbul ignore next */
|
|
332
340
|
if (process.env.NODE_ENV !== 'test') {
|
|
333
|
-
|
|
341
|
+
const targetPath = encodeURIComponent(startPath);
|
|
342
|
+
const loadingPage = `${this._getDevServerURL(app.options)}/__mrt/loading-screen/index.html?loading=1&path=${targetPath}`;
|
|
343
|
+
(0, _open.default)(loadingPage);
|
|
334
344
|
}
|
|
335
345
|
});
|
|
336
346
|
return {
|
package/utils/script-utils.js
CHANGED
|
@@ -378,18 +378,9 @@ const createBundle = exports.createBundle = /*#__PURE__*/function () {
|
|
|
378
378
|
})).then(/*#__PURE__*/_asyncToGenerator(function* () {
|
|
379
379
|
const {
|
|
380
380
|
dependencies = {},
|
|
381
|
-
devDependencies = {}
|
|
382
|
-
ccExtensibility = {
|
|
383
|
-
extends: '',
|
|
384
|
-
overridesDir: ''
|
|
385
|
-
}
|
|
381
|
+
devDependencies = {}
|
|
386
382
|
} = yield getProjectPkg();
|
|
387
|
-
const
|
|
388
|
-
let cc_overrides = [];
|
|
389
|
-
if (ccExtensibility.overridesDir) {
|
|
390
|
-
const overrides_files = yield _walkDir(ccExtensibility.overridesDir, ccExtensibility.overridesDir);
|
|
391
|
-
cc_overrides = Array.from(overrides_files).filter(item => (0, _fsExtra.existsSync)(_path.default.join(extendsTemplate, item)));
|
|
392
|
-
}
|
|
383
|
+
const cc_overrides = [];
|
|
393
384
|
const dependencyTree = yield getProjectDependencyTree();
|
|
394
385
|
// If we can't load the dependency tree, pretend that it's empty.
|
|
395
386
|
// TODO: Should we report an error?
|