@zohodesk/react-cli 0.0.1-beta.16 → 0.0.1-beta.160
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/.eslintignore +1 -0
- package/.eslintrc.js +46 -3
- package/CHANGELOG.md +5 -0
- package/README.md +650 -0
- package/bin/cli.js +134 -27
- package/cert/cert.pem +37 -129
- package/cert/key.pem +27 -27
- package/cert/passphrase.pem +1 -0
- package/files/eslintrc.js +62 -0
- package/files/prettierrc.js +3 -0
- package/lib/babel/cmjs-plugins-presets.js +16 -9
- package/lib/babel/es-plugins-presets.js +26 -14
- package/lib/common/getEntries.js +33 -24
- package/lib/common/getPublicPathConfig.js +40 -0
- package/lib/common/index.js +27 -13
- package/lib/common/splitChunks.js +64 -26
- package/lib/common/sslcertUpdater.js +59 -0
- package/lib/common/templateParameters.js +25 -0
- package/lib/configs/jest.config.js +18 -28
- package/lib/configs/webpack.component.umd.config.js +31 -37
- package/lib/configs/webpack.css.umd.config.js +44 -44
- package/lib/configs/webpack.dev.config.js +113 -57
- package/lib/configs/webpack.docs.config.js +104 -98
- package/lib/configs/webpack.impact.config.js +116 -0
- package/lib/configs/webpack.prod.config.js +154 -86
- package/lib/hooks/docsProptypeHook.js +32 -38
- package/lib/jest/commitedFilesResult.js +144 -71
- package/lib/jest/coverageCollector.js +62 -29
- package/lib/jest/jsonMaker.js +54 -0
- package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
- package/lib/jest/preProcessors/jsPreprocessor.js +5 -6
- package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
- package/lib/jest/result.js +91 -41
- package/lib/jest/run.js +74 -27
- package/lib/jest/setup.js +103 -102
- package/lib/loaderUtils/getCSSLoaders.js +77 -0
- package/lib/loaderUtils/getDevJsLoaders.js +30 -23
- package/lib/loaderUtils/index.js +14 -7
- package/lib/loaders/docsLoader.js +15 -15
- package/lib/loaders/docsPropsLoader.js +14 -17
- package/lib/loaders/fileBountryLoader.js +17 -0
- package/lib/loaders/fileLoader.js +47 -38
- package/lib/loaders/scriptInstrumentLoader.js +21 -20
- package/lib/loaders/selectorMappingLoader.js +75 -0
- package/lib/loaders/workerLoader.js +136 -0
- package/lib/middlewares/HMRMiddleware.js +59 -41
- package/lib/middlewares/SSTMiddleware.js +21 -0
- package/lib/pluginUtils/getDevPlugins.js +173 -26
- package/lib/pluginUtils/getDocsPlugins.js +32 -17
- package/lib/pluginUtils/getLibraryImactPlugins.js +23 -0
- package/lib/pluginUtils/getLibraryPlugins.js +8 -10
- package/lib/pluginUtils/getProdPlugins.js +238 -37
- package/lib/pluginUtils/getServerPlugins.js +8 -11
- package/lib/pluginUtils/getUMDCSSPlugins.js +11 -15
- package/lib/pluginUtils/getUMDComponentPlugins.js +11 -15
- package/lib/pluginUtils/index.js +36 -43
- package/lib/plugins/CdnChangePlugin.js +77 -0
- package/lib/plugins/CleanupStatsPlugin.js +28 -0
- package/lib/plugins/EFCPlugin.js +211 -0
- package/lib/plugins/EFCPlugin.md +6 -0
- package/lib/plugins/I18NInjectIntoIndexPlugin.js +141 -0
- package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
- package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
- package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
- package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
- package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
- package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -0
- package/lib/plugins/I18nSplitPlugin/README.md +25 -0
- package/lib/plugins/I18nSplitPlugin/index.js +185 -0
- package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
- package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
- package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
- package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
- package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
- package/lib/plugins/ManifestPlugin.js +52 -63
- package/lib/plugins/ModuleStatsPlugin.js +98 -97
- package/lib/plugins/OptimizeJSPlugin.js +24 -41
- package/lib/plugins/PublicPathCallbackPlugin.js +63 -0
- package/lib/plugins/PublicPathChangePlugin.js +187 -174
- package/lib/plugins/ReportGeneratePlugin.js +181 -0
- package/lib/plugins/RequireVariablePublicPlugin.js +30 -0
- package/lib/plugins/ResourceHintsPlugin.js +53 -35
- package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +80 -0
- package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +82 -0
- package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -0
- package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +26 -0
- package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
- package/lib/plugins/ServiceWorkerPlugin.js +107 -0
- package/lib/plugins/ShadowDOMSupportPlugin.js +270 -0
- package/lib/plugins/SourceMapHookPlugin.js +25 -31
- package/lib/plugins/TPHashMappingPlugin.js +67 -0
- package/lib/plugins/UglifyCSSPlugin.js +23 -30
- package/lib/plugins/UnusedFilesFindPlugin.js +150 -97
- package/lib/plugins/index.js +118 -55
- package/lib/plugins/libraryImpactPlugin.js +190 -0
- package/lib/plugins/webpackwatchrunplugin.js +26 -0
- package/lib/postcss-plugins/ExcludeRTLPlugin.js +23 -0
- package/lib/postcss-plugins/RTLSplitPlugin.js +138 -0
- package/lib/schemas/index.js +463 -52
- package/lib/servers/clusterHubServer.js +22 -26
- package/lib/servers/docsServer.js +3 -5
- package/lib/servers/docsServerCore.js +93 -85
- package/lib/servers/helpServer.js +19 -21
- package/lib/servers/httpsOptions.js +19 -0
- package/lib/servers/impactServer.js +99 -92
- package/lib/servers/mockserver.js +44 -0
- package/lib/servers/nowatchserver.js +275 -0
- package/lib/servers/scrServer.js +147 -0
- package/lib/servers/server.js +118 -124
- package/lib/servers/ssServer.js +107 -65
- package/lib/sh/reportPublish.sh +16 -10
- package/lib/templates/CoverageScriptTemplate.js +45 -18
- package/lib/templates/WMSTemplate.js +17 -18
- package/lib/templates/linterConstant.js +10 -0
- package/lib/utils/babelPresets.js +12 -5
- package/lib/utils/buildstats.html +148 -0
- package/lib/utils/clean.js +12 -11
- package/lib/utils/copy.js +13 -127
- package/lib/utils/copyTimezones.js +21 -0
- package/lib/utils/createEventStream.js +24 -19
- package/lib/utils/cssClassNameGenerate.js +70 -0
- package/lib/utils/cssURLReplacer.js +67 -54
- package/lib/utils/dependencyPostPublish.js +42 -0
- package/lib/utils/fileUtils.js +125 -0
- package/lib/utils/folderIterator.js +47 -0
- package/lib/utils/getComponents.js +126 -0
- package/lib/utils/getCurrentBranch.js +11 -17
- package/lib/utils/getDependenciesImpactList.js +151 -0
- package/lib/utils/getHash.js +26 -0
- package/lib/utils/getIp.js +20 -0
- package/lib/utils/getOptions.js +55 -30
- package/lib/utils/getServerURL.js +25 -8
- package/lib/utils/index.js +259 -82
- package/lib/utils/init.js +2 -2
- package/lib/utils/initPreCommitHook.js +40 -31
- package/lib/utils/jsonHelper.js +97 -0
- package/lib/utils/libraryImpactConfig.js +63 -0
- package/lib/utils/lint/addScripts.js +27 -0
- package/lib/utils/lint/checkExistingConfig.js +67 -0
- package/lib/utils/lint/copyConfigs.js +24 -0
- package/lib/utils/lint/index.js +54 -0
- package/lib/utils/lint/lintScripts.js +11 -0
- package/lib/utils/lint/lintSetup.js +31 -0
- package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
- package/lib/utils/lint/question.js +30 -0
- package/lib/utils/lintReporter.js +142 -0
- package/lib/utils/mailSender.js +16 -25
- package/lib/utils/pullOrigin.js +28 -0
- package/lib/utils/reinstallDependencies.js +133 -0
- package/lib/utils/removeAttributes.js +25 -23
- package/lib/utils/repoClone.js +56 -63
- package/lib/utils/request.js +64 -77
- package/lib/utils/resultSchema.json +73 -0
- package/lib/utils/rtl.js +42 -0
- package/lib/utils/setEnvVariables.js +5 -6
- package/lib/utils/ssTestHack.js +48 -0
- package/lib/utils/switchBranch.js +28 -0
- package/lib/utils/urlConcat.js +22 -0
- package/package.json +92 -64
- package/templates/app/.eslintrc.js +140 -0
- package/templates/app/README.md +12 -12
- package/templates/app/app/index.html +24 -8
- package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
- package/templates/app/app/properties/i18nkeys.json +3 -3
- package/templates/app/docs/all.html +69 -69
- package/templates/app/mockapi/index.js +18 -13
- package/templates/app/package.json +37 -17
- package/templates/app/src/actions/SampleActions/index.js +37 -0
- package/templates/app/src/actions/index.js +65 -0
- package/templates/app/src/appUrls.js +19 -0
- package/templates/app/src/components/Alert/Alert.js +134 -0
- package/templates/app/src/components/Alert/Alert.module.css +79 -0
- package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -0
- package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -0
- package/templates/app/src/components/Sample/Sample.module.css +11 -0
- package/templates/app/src/components/Sample/SampleList.js +61 -0
- package/templates/app/src/components/Slider/Slider.css +41 -0
- package/templates/app/src/components/Slider/Slider.js +55 -0
- package/templates/app/src/containers/AlertContainer/index.js +15 -0
- package/templates/app/src/containers/AppContainer/index.js +96 -0
- package/templates/app/src/containers/AppContainer/index.module.css +27 -0
- package/templates/app/src/containers/CustomMatch/index.js +65 -0
- package/templates/app/src/containers/DevTools/index.js +10 -0
- package/templates/app/src/containers/Header/index.js +67 -0
- package/templates/app/src/containers/Header/index.module.css +43 -0
- package/templates/app/src/containers/Redirect/index.js +63 -0
- package/templates/app/src/containers/Redirector/index.js +47 -0
- package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -0
- package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -0
- package/templates/app/src/historyChange.js +5 -0
- package/templates/app/src/index.html +10 -0
- package/templates/app/src/index.js +24 -0
- package/templates/app/src/middleware/PromiseMiddleware.js +59 -0
- package/templates/app/src/reducers/alertData.js +11 -0
- package/templates/app/src/reducers/index.js +6 -0
- package/templates/app/src/reducers/samples.js +19 -0
- package/templates/app/src/store/configureStore.dev.js +51 -0
- package/templates/app/src/store/configureStore.js +5 -0
- package/templates/app/src/store/configureStore.prod.js +26 -0
- package/templates/app/src/util/Common.js +5 -0
- package/templates/app/src/util/RequestAPI.js +132 -0
- package/templates/appold/README.md +12 -0
- package/templates/appold/app/index.html +8 -0
- package/templates/appold/app/properties/ApplicationResources_en_US.properties +1 -0
- package/templates/appold/app/properties/i18nkeys.json +3 -0
- package/templates/appold/docs/all.html +69 -0
- package/templates/appold/mockapi/index.js +13 -0
- package/templates/{app → appold}/mockapi/tickets.json +0 -0
- package/templates/appold/package.json +17 -0
- package/templates/appold/src/components/Text/Text.css +0 -0
- package/templates/appold/src/components/Text/Text.js +23 -0
- package/templates/appold/src/components/Text/__tests__/Text.spec.js +30 -0
- package/templates/appold/src/components/Text/docs/Text__default.docs.js +16 -0
- package/templates/appold/src/components/docs.js +1 -0
- package/templates/appold/src/components/index.js +5 -0
- package/templates/appold/src/index.js +13 -0
- package/templates/docs/all.html +1 -1
- package/templates/docs/component.html +110 -69
- package/templates/docs/components.html +221 -0
- package/templates/docs/css/component.css +12 -14
- package/templates/docs/css/componentTest.css +7 -0
- package/templates/docs/css/style.css +150 -206
- package/templates/docs/impactReportTemplate.html +154 -0
- package/templates/docs/index.html +1482 -1336
- package/templates/library/src/index.js +0 -0
@@ -0,0 +1,77 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
|
9
|
+
|
10
|
+
var _cssClassNameGenerate = _interopRequireDefault(require("../utils/cssClassNameGenerate"));
|
11
|
+
|
12
|
+
var _utils = require("../utils");
|
13
|
+
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
|
16
|
+
let options = (0, _utils.getOptions)();
|
17
|
+
let isWin = process.platform === 'win32';
|
18
|
+
|
19
|
+
let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
|
20
|
+
const {
|
21
|
+
devCssFileBountry
|
22
|
+
} = options.app;
|
23
|
+
const {
|
24
|
+
cssSelectorZipPath
|
25
|
+
} = options.impactService;
|
26
|
+
let rtlExcludeLocal = isWin ? rtlExclude.map(r => r.replace(/\//g, '\\')) : rtlExclude;
|
27
|
+
let cssLoaderOptions = {
|
28
|
+
importLoaders: hasRTL ? 1 : 0,
|
29
|
+
modules: {},
|
30
|
+
sourceMap: true
|
31
|
+
};
|
32
|
+
|
33
|
+
if (classNameBlob) {
|
34
|
+
cssLoaderOptions.modules.localIdentName = classNameBlob;
|
35
|
+
} else {
|
36
|
+
cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix);
|
37
|
+
}
|
38
|
+
|
39
|
+
return [cssSelectorZipPath && {
|
40
|
+
loader: require.resolve('../loaders/selectorMappingLoader')
|
41
|
+
}, {
|
42
|
+
loader: _miniCssExtractPlugin.default.loader,
|
43
|
+
options: {
|
44
|
+
publicPath: '../'
|
45
|
+
}
|
46
|
+
}, {
|
47
|
+
loader: 'css-loader',
|
48
|
+
options: cssLoaderOptions
|
49
|
+
}, devCssFileBountry && {
|
50
|
+
loader: require.resolve('../loaders/fileBountryLoader'),
|
51
|
+
options: {
|
52
|
+
devCssFileBountry
|
53
|
+
}
|
54
|
+
}, hasRTL || selectorReplace ? {
|
55
|
+
loader: 'postcss-loader',
|
56
|
+
options: {
|
57
|
+
ident: 'postcss',
|
58
|
+
plugins: function () {
|
59
|
+
return [selectorReplace && require('postcss-selector-replace')(selectorReplace), hasRTL && require('../postcss-plugins/ExcludeRTLPlugin')({
|
60
|
+
ignore: rtlExcludeLocal,
|
61
|
+
plugins: [require('@zohodesk/postcss-rtl')({
|
62
|
+
addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
|
63
|
+
if (prefix === '[dir]') {
|
64
|
+
return selector;
|
65
|
+
}
|
66
|
+
|
67
|
+
return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
|
68
|
+
}
|
69
|
+
})]
|
70
|
+
})].filter(Boolean);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
} : null].filter(Boolean);
|
74
|
+
};
|
75
|
+
|
76
|
+
var _default = getCSSLoaders;
|
77
|
+
exports.default = _default;
|
@@ -1,22 +1,26 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
+
exports.default = void 0;
|
6
7
|
|
7
|
-
var _path = require(
|
8
|
-
|
9
|
-
var _path2 = _interopRequireDefault(_path);
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
10
9
|
|
11
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
12
|
+
let getDevJsLoaders = options => {
|
13
|
+
let {
|
14
|
+
app: {
|
15
|
+
disableES5Transpile,
|
16
|
+
instrumentScript,
|
17
|
+
devConsoleExculde
|
18
|
+
},
|
19
|
+
esLint: {
|
20
|
+
enable: enableEslint
|
21
|
+
}
|
22
|
+
} = options;
|
23
|
+
let loaders = [];
|
20
24
|
|
21
25
|
if (instrumentScript) {
|
22
26
|
loaders.push({
|
@@ -27,19 +31,21 @@ var getDevJsLoaders = function getDevJsLoaders(options) {
|
|
27
31
|
loaders.push({
|
28
32
|
loader: 'babel-loader',
|
29
33
|
options: {
|
30
|
-
presets: [[require.resolve('babel
|
34
|
+
presets: [[require.resolve('@babel/preset-env'), disableES5Transpile ? {
|
31
35
|
modules: false,
|
32
|
-
useBuiltIns:
|
36
|
+
useBuiltIns: 'usage',
|
37
|
+
corejs: 3,
|
33
38
|
targets: {
|
34
|
-
browsers: ['
|
39
|
+
browsers: ['last 3 Chrome versions', 'last 3 Firefox versions', 'last 3 Edge versions']
|
35
40
|
}
|
36
|
-
} : {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
41
|
+
} : {
|
42
|
+
modules: false
|
43
|
+
}], require.resolve('@babel/preset-react')],
|
44
|
+
plugins: disableES5Transpile ? [require.resolve('@babel/plugin-syntax-dynamic-import'), require.resolve('babel-plugin-lodash'), require.resolve('@babel/plugin-proposal-object-rest-spread'), devConsoleExculde ? [require.resolve('babel-plugin-transform-remove-console'), {
|
45
|
+
exclude: ['error', 'log']
|
46
|
+
}] : null].filter(Boolean) : [require.resolve('@babel/plugin-syntax-dynamic-import'), require.resolve('babel-plugin-lodash'), require.resolve('@babel/plugin-proposal-object-rest-spread'), devConsoleExculde ? [require.resolve('babel-plugin-transform-remove-console'), {
|
47
|
+
exclude: ['error', 'log']
|
48
|
+
}] : null].filter(Boolean),
|
43
49
|
cacheDirectory: true
|
44
50
|
}
|
45
51
|
});
|
@@ -50,7 +56,7 @@ var getDevJsLoaders = function getDevJsLoaders(options) {
|
|
50
56
|
options: {
|
51
57
|
emitError: true,
|
52
58
|
emitWarning: true,
|
53
|
-
configFile:
|
59
|
+
configFile: _path.default.join(__dirname, '..', '..', '.eslintrc.js')
|
54
60
|
}
|
55
61
|
});
|
56
62
|
}
|
@@ -58,4 +64,5 @@ var getDevJsLoaders = function getDevJsLoaders(options) {
|
|
58
64
|
return loaders;
|
59
65
|
};
|
60
66
|
|
61
|
-
|
67
|
+
var _default = getDevJsLoaders;
|
68
|
+
exports.default = _default;
|
package/lib/loaderUtils/index.js
CHANGED
@@ -1,16 +1,23 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
|
7
|
-
var _getDevJsLoaders = require('./getDevJsLoaders');
|
8
|
-
|
9
|
-
Object.defineProperty(exports, 'getDevJsLoaders', {
|
6
|
+
Object.defineProperty(exports, "getDevJsLoaders", {
|
10
7
|
enumerable: true,
|
11
|
-
get: function
|
12
|
-
return
|
8
|
+
get: function () {
|
9
|
+
return _getDevJsLoaders.default;
|
13
10
|
}
|
14
11
|
});
|
12
|
+
Object.defineProperty(exports, "getCSSLoaders", {
|
13
|
+
enumerable: true,
|
14
|
+
get: function () {
|
15
|
+
return _getCSSLoaders.default;
|
16
|
+
}
|
17
|
+
});
|
18
|
+
|
19
|
+
var _getDevJsLoaders = _interopRequireDefault(require("./getDevJsLoaders"));
|
20
|
+
|
21
|
+
var _getCSSLoaders = _interopRequireDefault(require("./getCSSLoaders"));
|
15
22
|
|
16
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -1,22 +1,22 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
|
-
var _fs = require(
|
3
|
+
var _fs = _interopRequireDefault(require("fs"));
|
4
4
|
|
5
|
-
var
|
6
|
-
|
7
|
-
var _path = require('path');
|
8
|
-
|
9
|
-
var _path2 = _interopRequireDefault(_path);
|
5
|
+
var _path = _interopRequireDefault(require("path"));
|
10
6
|
|
11
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
8
|
|
13
9
|
module.exports = function (source) {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
10
|
+
let comNameAry = this.resourcePath.split(_path.default.sep);
|
11
|
+
let filePath = this.resourcePath;
|
12
|
+
|
13
|
+
let appPath = _fs.default.realpathSync(process.cwd());
|
14
|
+
|
15
|
+
let changePath = filePath.replace('/lib/', '/src/');
|
16
|
+
let comName = comNameAry[comNameAry.length - 1];
|
17
|
+
let name = comName.substring(0, comName.lastIndexOf('.'));
|
18
|
+
|
19
|
+
let src = _fs.default.readFileSync(filePath.startsWith(appPath) ? filePath : changePath).toString();
|
20
|
+
|
21
|
+
return `${source};${name}.source=${JSON.stringify(src)};${name}.filePath=${JSON.stringify(filePath)}`;
|
22
22
|
};
|
@@ -1,30 +1,27 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
|
-
var _reactDocgen = require(
|
3
|
+
var _reactDocgen = _interopRequireDefault(require("react-docgen"));
|
4
4
|
|
5
|
-
var
|
5
|
+
var _path = _interopRequireDefault(require("path"));
|
6
6
|
|
7
|
-
var
|
8
|
-
|
9
|
-
var _path2 = _interopRequireDefault(_path);
|
10
|
-
|
11
|
-
var _utils = require('../utils');
|
7
|
+
var _utils = require("../utils");
|
12
8
|
|
13
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
10
|
|
15
11
|
// import loaderUtils from 'loader-utils';
|
16
|
-
module.exports =
|
17
|
-
|
18
|
-
|
12
|
+
module.exports = source => {
|
13
|
+
(void 0).cacheable && (void 0).cacheable(); // let query = loaderUtils.parseQuery(this.query);
|
14
|
+
|
15
|
+
let value = {};
|
19
16
|
|
20
|
-
var value = {};
|
21
17
|
try {
|
22
|
-
value =
|
18
|
+
value = _reactDocgen.default.parse(source);
|
23
19
|
} catch (e) {
|
24
20
|
(0, _utils.log)('ERROR in docgen-loader', e);
|
25
21
|
}
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
|
23
|
+
let comNameAry = (void 0).resourcePath.split(_path.default.sep);
|
24
|
+
let comName = comNameAry[comNameAry.length - 1];
|
25
|
+
let name = comName.substring(0, comName.lastIndexOf('.'));
|
26
|
+
return `${source};${name}.propsObj=${JSON.stringify(value)}`;
|
30
27
|
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _path = _interopRequireDefault(require("path"));
|
4
|
+
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
|
+
|
7
|
+
module.exports = function (source) {
|
8
|
+
const {
|
9
|
+
rootContext,
|
10
|
+
resourcePath,
|
11
|
+
query
|
12
|
+
} = this;
|
13
|
+
const {
|
14
|
+
devCssFileBountry
|
15
|
+
} = query;
|
16
|
+
return `/*${devCssFileBountry} ${_path.default.relative(rootContext, resourcePath)}*/\n${source}`;
|
17
|
+
};
|
@@ -1,62 +1,64 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
|
-
var _path = require(
|
3
|
+
var _path = _interopRequireDefault(require("path"));
|
4
4
|
|
5
|
-
var
|
5
|
+
var _loaderUtils = _interopRequireDefault(require("loader-utils"));
|
6
6
|
|
7
|
-
var
|
8
|
-
|
9
|
-
var _loaderUtils2 = _interopRequireDefault(_loaderUtils);
|
7
|
+
var _common = require("../common");
|
10
8
|
|
11
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
10
|
|
13
11
|
module.exports = function (content) {
|
12
|
+
let {
|
13
|
+
userRequest
|
14
|
+
} = this._module.issuer;
|
14
15
|
this.cacheable && this.cacheable();
|
16
|
+
|
15
17
|
if (!this.emitFile) {
|
16
18
|
throw new Error('emitFile is required from module system');
|
17
19
|
}
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
// let configKey = query.config || 'fileLoader';
|
21
|
+
let options = _loaderUtils.default.getOptions(this) || {};
|
22
|
+
let query = this.resourceQuery ? _loaderUtils.default.parseQuery(this.resourceQuery) : {}; // let configKey = query.config || 'fileLoader';
|
23
23
|
|
24
|
-
|
25
|
-
publicPath: false,
|
24
|
+
let config = {
|
25
|
+
// publicPath: false,
|
26
26
|
useRelativePath: false,
|
27
|
-
name: '[hash].[ext]'
|
28
|
-
publicPathStrigify: true
|
29
|
-
};
|
27
|
+
name: '[hash].[ext]' // publicPathStrigify: true
|
30
28
|
|
31
|
-
// options takes precedence over config
|
32
|
-
|
29
|
+
}; // options takes precedence over config
|
30
|
+
|
31
|
+
Object.keys(options).forEach(attr => {
|
33
32
|
config[attr] = options[attr];
|
34
|
-
});
|
33
|
+
}); // query takes precedence over config and options
|
35
34
|
|
36
|
-
|
37
|
-
Object.keys(query).forEach(function (attr) {
|
35
|
+
Object.keys(query).forEach(attr => {
|
38
36
|
config[attr] = query[attr];
|
39
37
|
});
|
38
|
+
let context = config.context || options.context;
|
40
39
|
|
41
|
-
|
42
|
-
var url = _loaderUtils2.default.interpolateName(this, config.name, {
|
40
|
+
let url = _loaderUtils.default.interpolateName(this, config.name, {
|
43
41
|
context: context,
|
44
42
|
content: content,
|
45
43
|
regExp: config.regExp
|
46
44
|
});
|
47
45
|
|
48
|
-
|
46
|
+
let outputPath = '';
|
47
|
+
let filePath = this.resourcePath;
|
49
48
|
|
50
|
-
var filePath = this.resourcePath;
|
51
49
|
if (config.useRelativePath) {
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
let issuerContext = this._module && this._module.issuer && this._module.issuer.context || context;
|
51
|
+
|
52
|
+
let relativeUrl = issuerContext && _path.default.relative(issuerContext, filePath).split(_path.default.sep).join('/');
|
53
|
+
|
54
|
+
let relativePath = relativeUrl && `${_path.default.dirname(relativeUrl)}/`;
|
55
|
+
|
55
56
|
if (~relativePath.indexOf('../')) {
|
56
|
-
outputPath =
|
57
|
+
outputPath = _path.default.posix.join(outputPath, relativePath, url);
|
57
58
|
} else {
|
58
59
|
outputPath = relativePath + url;
|
59
60
|
}
|
61
|
+
|
60
62
|
url = relativePath + url;
|
61
63
|
} else if (config.outputPath) {
|
62
64
|
// support functions as outputPath to generate them dynamically
|
@@ -66,21 +68,28 @@ module.exports = function (content) {
|
|
66
68
|
outputPath = url;
|
67
69
|
}
|
68
70
|
|
69
|
-
|
70
|
-
if (config.publicPath !== false) {
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
71
|
+
let requestFromJS = /\.js$/.test(userRequest);
|
72
|
+
let publicPath = requestFromJS ? (0, _common.getPublicPathConfig)(url) : `__webpack_public_path__ + ${JSON.stringify(url)}`; // if (config.publicPath !== false) {
|
73
|
+
// // support functions as publicPath to generate them dynamically
|
74
|
+
// if (config.publicPathStringify) {
|
75
|
+
// publicPath = JSON.Stringify(
|
76
|
+
// typeof config.publicPath === 'function'
|
77
|
+
// ? config.publicPath(url)
|
78
|
+
// : config.publicPath + url
|
79
|
+
// );
|
80
|
+
// } else {
|
81
|
+
// publicPath =
|
82
|
+
// typeof config.publicPath === 'function'
|
83
|
+
// ? config.publicPath(url)
|
84
|
+
// : config.publicPath + url;
|
85
|
+
// }
|
86
|
+
// }
|
78
87
|
|
79
88
|
if (query.emitFile === undefined || query.emitFile) {
|
80
89
|
this.emitFile(outputPath, content);
|
81
90
|
}
|
82
91
|
|
83
|
-
return
|
92
|
+
return `module.exports = ${publicPath};`;
|
84
93
|
};
|
85
94
|
|
86
95
|
module.exports.raw = true;
|
@@ -1,18 +1,16 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
|
-
var
|
3
|
+
var esprima = _interopRequireWildcard(require("esprima"));
|
4
4
|
|
5
|
-
var
|
6
|
-
|
7
|
-
var _escodegen = require('escodegen');
|
8
|
-
|
9
|
-
var _escodegen2 = _interopRequireDefault(_escodegen);
|
5
|
+
var _escodegen = _interopRequireDefault(require("escodegen"));
|
10
6
|
|
11
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
8
|
|
13
|
-
function
|
9
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
14
10
|
|
15
|
-
var
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
12
|
+
|
13
|
+
let start = {
|
16
14
|
type: 'ExpressionStatement',
|
17
15
|
expression: {
|
18
16
|
type: 'CallExpression',
|
@@ -56,22 +54,28 @@ var start = {
|
|
56
54
|
}
|
57
55
|
};
|
58
56
|
|
59
|
-
|
60
|
-
|
61
|
-
|
57
|
+
let scriptInstrumentLoader = function (source) {
|
58
|
+
let parsed = esprima.parseModule(source, {
|
59
|
+
jsx: true
|
60
|
+
});
|
61
|
+
|
62
|
+
for (let i in parsed.body) {
|
62
63
|
if (parsed.body[i].type === 'FunctionDeclaration' || parsed.body[i].type === 'ExportDefaultDeclaration' || parsed.body[i].type === 'ExportNamedDeclaration') {
|
63
|
-
|
64
|
+
let ParsedTemp;
|
65
|
+
|
64
66
|
if (parsed.body[i].type === 'FunctionDeclaration') {
|
65
67
|
ParsedTemp = parsed.body[i];
|
66
68
|
} else {
|
67
69
|
ParsedTemp = parsed.body[i].declaration;
|
68
70
|
}
|
71
|
+
|
69
72
|
if (ParsedTemp) {
|
70
73
|
if (ParsedTemp.id) {
|
71
|
-
|
74
|
+
let funcname = ParsedTemp.id.name;
|
75
|
+
|
72
76
|
if (funcname !== 'mapStateToProps') {
|
73
77
|
if (!funcname.includes('_')) {
|
74
|
-
|
78
|
+
let startFunc = JSON.parse(JSON.stringify(start));
|
75
79
|
startFunc.expression.arguments[0].value = this.resourcePath;
|
76
80
|
startFunc.expression.arguments[0].raw = this.resourcePath;
|
77
81
|
startFunc.expression.arguments[1].value = funcname;
|
@@ -84,8 +88,7 @@ var scriptInstrumentLoader = function scriptInstrumentLoader(source) {
|
|
84
88
|
}
|
85
89
|
}
|
86
90
|
|
87
|
-
return
|
88
|
-
// function removeDuplicates(arr) {
|
91
|
+
return _escodegen.default.generate(parsed); // function removeDuplicates(arr) {
|
89
92
|
// let uniqueArray = [];
|
90
93
|
// for (let i = 0; i < arr.length; i++) {
|
91
94
|
// if (uniqueArray.indexOf(arr[i]) == -1) {
|
@@ -97,9 +100,7 @@ var scriptInstrumentLoader = function scriptInstrumentLoader(source) {
|
|
97
100
|
// funcArray = removeDuplicates(funcArray);
|
98
101
|
};
|
99
102
|
|
100
|
-
module.exports = scriptInstrumentLoader;
|
101
|
-
|
102
|
-
// let start = {
|
103
|
+
module.exports = scriptInstrumentLoader; // let start = {
|
103
104
|
// type: 'ExpressionStatement',
|
104
105
|
// expression: {
|
105
106
|
// type: 'CallExpression',
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _path = _interopRequireDefault(require("path"));
|
4
|
+
|
5
|
+
var _fs = _interopRequireDefault(require("fs"));
|
6
|
+
|
7
|
+
var _utils = require("../utils");
|
8
|
+
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
|
+
|
11
|
+
let options = (0, _utils.getOptions)();
|
12
|
+
const {
|
13
|
+
cssSelectorZipPath
|
14
|
+
} = options.impactService;
|
15
|
+
|
16
|
+
const zipname = _path.default.parse(cssSelectorZipPath).name; // console.log({ cssSelectorZipPath, zipname });
|
17
|
+
// TODO:NOTE: need to check about .. path related files creation
|
18
|
+
// for now no css files have given form react-cli need to make sure about it.
|
19
|
+
|
20
|
+
|
21
|
+
let zippath = _path.default.join(process.cwd(), cssSelectorZipPath);
|
22
|
+
|
23
|
+
if (_fs.default.existsSync(_path.default.join(process.cwd(), cssSelectorZipPath))) {
|
24
|
+
_fs.default.rmSync(zippath);
|
25
|
+
|
26
|
+
console.log('zip file deleted', zippath); // fs.rmSync(zippath, {force:true})
|
27
|
+
// console.log('created folder ==> ', dpath);
|
28
|
+
} // const minicssComment =
|
29
|
+
// '// extracted by mini-css-extract-plugin\n';
|
30
|
+
|
31
|
+
|
32
|
+
const startStr = '// extracted by mini-css-extract-plugin\n' + 'module.exports = ';
|
33
|
+
|
34
|
+
module.exports = function (source) {
|
35
|
+
const {
|
36
|
+
rootContext,
|
37
|
+
resourcePath
|
38
|
+
} = this;
|
39
|
+
|
40
|
+
const relativePath = _path.default.relative(rootContext, resourcePath);
|
41
|
+
|
42
|
+
let fpath = _path.default.join(rootContext, zipname, relativePath);
|
43
|
+
|
44
|
+
let originalpath = _path.default.join(rootContext, relativePath);
|
45
|
+
|
46
|
+
if (relativePath.startsWith('..')) {
|
47
|
+
throw `unexpected path ${relativePath}`;
|
48
|
+
}
|
49
|
+
|
50
|
+
let dpath = fpath.slice(0, fpath.lastIndexOf(_path.default.sep));
|
51
|
+
|
52
|
+
if (!_fs.default.existsSync(originalpath)) {
|
53
|
+
throw `originalpath not exixt ${originalpath}`;
|
54
|
+
}
|
55
|
+
|
56
|
+
if (!_fs.default.existsSync(dpath)) {
|
57
|
+
_fs.default.mkdirSync(dpath, {
|
58
|
+
recursive: true
|
59
|
+
});
|
60
|
+
}
|
61
|
+
|
62
|
+
let jsonStr = '{}';
|
63
|
+
|
64
|
+
if (source.startsWith(startStr)) {
|
65
|
+
// source will be like
|
66
|
+
// `// extracted by mini-css-extract-plugin\nmodule.exports = {"app":"zd-app"};`
|
67
|
+
jsonStr = source.slice(startStr.length, -1);
|
68
|
+
}
|
69
|
+
|
70
|
+
_fs.default.writeFileSync(`${fpath}_map`, jsonStr);
|
71
|
+
|
72
|
+
_fs.default.writeFileSync(fpath, _fs.default.readFileSync(originalpath));
|
73
|
+
|
74
|
+
return source;
|
75
|
+
};
|