@zohodesk/react-cli 1.1.4-exp.2 → 1.1.5-exp.1

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 CHANGED
@@ -44,6 +44,19 @@ Now to run app
44
44
 
45
45
  # Change Logs
46
46
 
47
+ # 1.1.5
48
+
49
+ **Issue Fix**
50
+
51
+ - include pattern fix for variable converter plugin fixed
52
+
53
+ # 1.1.4
54
+
55
+ **Issue Fix**
56
+ - global install react-cli spawnSync Error fix
57
+ - `0px` variable value conversion issue fixed
58
+ - pattern exclude for postcss plugins case fixed
59
+
47
60
  # 1.1.2
48
61
 
49
62
  **Issue Fix**
@@ -22,15 +22,20 @@ let {
22
22
  app: {
23
23
  vendorExclude,
24
24
  customChunks,
25
- vendorInclude
25
+ vendorInclude,
26
+ effectiveChunkSplitting
26
27
  }
27
28
  } = options;
29
+ let reactBundle = ['react', 'react-dom', 'react-redux', 'react-transition-group', 'scheduler', // what is scheduler
30
+ 'prop-types', // why protypes needed
31
+ 'use-subscription' // 'what is it'
32
+ ];
28
33
 
29
34
  let isVendor = function isVendor(module) {
30
35
  let {
31
36
  userRequest
32
37
  } = module;
33
- let excludeList = ['script-loader', 'raw-loader', 'react', 'react-dom'];
38
+ let excludeList = ['script-loader', 'raw-loader', ...reactBundle];
34
39
  excludeList = [...excludeList, ...vendorExclude];
35
40
  return userRequest && (vendorInclude.some(item => userRequest.indexOf(item) !== -1) || userRequest.indexOf('node_modules') >= 0 && userRequest.endsWith('.css') === false && userRequest.endsWith('publicPathConfig.js') === false && excludeList.every(item => userRequest.indexOf(`node_modules${ps}${item}${ps}`) === -1));
36
41
  };
@@ -39,11 +44,13 @@ let isReact = module => {
39
44
  let {
40
45
  userRequest
41
46
  } = module;
42
- let reactBundle = ['react', 'react-dom'];
43
47
  return userRequest && reactBundle.some(pkg => userRequest.indexOf(`node_modules${ps}${pkg}${ps}`) >= 0);
44
48
  };
45
49
 
46
- let defaultChunks = {
50
+ let baseSplitChunkConfig = {
51
+ minSize: 12000
52
+ };
53
+ let specificCacheGroupConfig = {
47
54
  'react.vendor': {
48
55
  name: 'react.vendor',
49
56
  chunks: 'all',
@@ -116,11 +123,21 @@ customChunks.map((obj, index) => ({
116
123
 
117
124
  return customChunksConfig[name] = obj;
118
125
  });
119
- var _default = {
120
- minSize: 12000,
126
+ const isEnableChunkSplitting = effectiveChunkSplitting.enable;
127
+
128
+ if (isEnableChunkSplitting) {
129
+ const config = require(_path.default.join(process.cwd(), effectiveChunkSplitting.configFilePath));
130
+
131
+ console.log('config', config);
132
+ specificCacheGroupConfig = Object.assign(specificCacheGroupConfig, config.getAdditionalCacheGroupConfig());
133
+ baseSplitChunkConfig = Object.assign(baseSplitChunkConfig, config.getAdditionalBaseChunkSplitConfig());
134
+ }
135
+
136
+ const splitChunkConfig = { ...baseSplitChunkConfig,
121
137
  cacheGroups: Object.assign({
122
138
  default: false,
123
139
  vendors: false
124
- }, defaultChunks, customChunksConfig)
140
+ }, specificCacheGroupConfig, customChunksConfig)
125
141
  };
142
+ var _default = splitChunkConfig;
126
143
  exports.default = _default;
@@ -33,7 +33,7 @@ function moduleResolver(options) {
33
33
 
34
34
  const nodeModulesPath = required ? required.nodeModulesPath : _client_packages_group.nodeModulesPath;
35
35
  return {
36
- modules: [nodeModulesPath, _constants.cliNodemodulesPath, 'node_modules'].filter(Boolean),
36
+ modules: [nodeModulesPath, _constants.cliNodeModulesPath, 'node_modules'].filter(Boolean),
37
37
  alias: disableES5Transpile ? _libAlias.libAlias : {} // alias: { ...libAlias, ...clientDependenies }
38
38
 
39
39
  };
@@ -45,7 +45,7 @@ function loaderResolver(options) {
45
45
  unstableDepsInverse
46
46
  } = options;
47
47
  return {
48
- modules: unstableDepsInverse ? ['node_modules', _constants.cliNodemodulesPath] : [_constants.cliNodemodulesPath, 'node_modules'] // alias: libAlias
48
+ modules: unstableDepsInverse ? ['node_modules', _constants.cliNodeModulesPath] : [_constants.cliNodeModulesPath, 'node_modules'] // alias: libAlias
49
49
 
50
50
  };
51
51
  }
package/lib/constants.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.cliRootPath = exports.cliNodemodulesPath = exports.appPath = exports.CONFIG_ROOT = exports.BASE_CONFIG_KEY = void 0;
6
+ exports.cliRootPath = exports.cliNodeModulesPath = exports.appPath = exports.CONFIG_ROOT = exports.BASE_CONFIG_KEY = void 0;
7
7
 
8
8
  var _path = _interopRequireDefault(require("path"));
9
9
 
@@ -18,10 +18,10 @@ exports.cliRootPath = cliRootPath;
18
18
  const CONFIG_ROOT = 'react-cli';
19
19
  exports.CONFIG_ROOT = CONFIG_ROOT;
20
20
 
21
- const cliNodemodulesPath = _path.default.resolve(cliRootPath, 'node_modules'); // export const babelrcPath = join(cliRootPath, '.babelrc');
21
+ const cliNodeModulesPath = _path.default.resolve(cliRootPath, 'node_modules'); // export const babelrcPath = join(cliRootPath, '.babelrc');
22
22
 
23
23
 
24
- exports.cliNodemodulesPath = cliNodemodulesPath;
24
+ exports.cliNodeModulesPath = cliNodeModulesPath;
25
25
  const appPath = process.cwd(); // export const appInitialHTMLTemplatePath = path.join(
26
26
  // process.cwd(),
27
27
  // 'src',
@@ -139,13 +139,15 @@ const getCSSLoaders = optionsObj => {
139
139
 
140
140
  [ postcssPlugins that are implemented ]
141
141
  */
142
- postcssPlugins = (0, _fileHandling.isFileNameMatchingPattern)({
142
+ // console.log(params.resourcePath);
143
+ // console.log(postcssPlugins);
144
+ const finalpostcssPlugins = (0, _fileHandling.isFileNameMatchingPattern)({
143
145
  filename: params.resourcePath,
144
146
  filterObject: patterns,
145
147
  plugins: postcssPlugins
146
148
  }); // postcssPlugins that are allowed
147
149
 
148
- return postcssPlugins.length > 0 ? postcssPlugins : [require('../postcss-plugins/EmptyPlugin')()];
150
+ return finalpostcssPlugins.length > 0 ? finalpostcssPlugins : [require('../postcss-plugins/EmptyPlugin')()];
149
151
  }
150
152
  }
151
153
  } : null, plugins.composeMinification ? {
@@ -50,34 +50,20 @@ function isFileNameMatchingPattern({
50
50
  filterObject,
51
51
  plugins
52
52
  }) {
53
- const finalPlugins = []; // console.log(rootDir);
54
- // const regex = `^(.+?)${rootDir}?\\\\`;
55
-
56
- const newFilename = path.relative(path.parse(process.cwd()).base, filename); //windowsModificationFile(filename).replace(
57
- // new RegExp(regex, 'gi'),
58
- // ''
59
- // );
60
- // path.relative('supportapp', 'd:\')
61
-
53
+ const finalPlugins = [];
62
54
  Object.keys(filterObject).forEach(key => {
63
55
  plugins.forEach(x => {
64
- // console.log(key, x.postcssPlugin);
65
56
  if (aliasNames[key] === x.postcssPlugin) {
66
57
  const ig = (0, _ignore.default)({
67
58
  allowRelativePaths: true
68
- }).add(filterObject[key]); // console.log(key, filterObject[key], ig);
59
+ }).add(filterObject[key]);
69
60
 
70
- if (ig.ignores(newFilename)) {
71
- // console.log(newFilename);
61
+ if (ig.ignores(filename)) {
72
62
  finalPlugins.push(x);
73
63
  }
74
64
  }
75
65
  });
76
66
  }); // console.log(filename);
77
- // console.log(finalPlugins);
78
- // console.log(
79
- // '----------------------------------------------------------------------'
80
- // );
81
67
 
82
68
  return finalPlugins; // console.log(filename, filterObject);
83
69
  }
@@ -107,6 +107,10 @@ const singleConvertor = (value, changeVal, details, range) => {
107
107
  }
108
108
 
109
109
  if (getNumericValue(value) >= range.start && getNumericValue(value) <= range.end || getNumericValue(value) === 0) {
110
+ if (value.trim() === '0px') {
111
+ return '0';
112
+ }
113
+
110
114
  let retVal = value.replace(/(\d+)px/gi, changeVal.replace('$$', '$1'));
111
115
 
112
116
  if (/^-var/.test(retVal)) {
@@ -161,6 +165,7 @@ module.exports = {
161
165
  });
162
166
  const valRegex = new RegExp(regValStr, 'gi');
163
167
  return rootOriginal => {
168
+ // console.log(rootOriginal.source.input.from, 'passed through variable Plugin');
164
169
  rootOriginal.walkRules(rule => {
165
170
  // rule.nodes[-1] = {}
166
171
  // need map, forEach fine less memory
@@ -348,6 +348,10 @@ var _default = {
348
348
  sourcemap: {
349
349
  cli: 'source_map',
350
350
  value: 'cheap-eval-source-map'
351
+ },
352
+ effectiveChunkSplitting: {
353
+ enable: false,
354
+ configFilePath: ''
351
355
  }
352
356
  },
353
357
  docs: {
@@ -5,19 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getCliPath = getCliPath;
7
7
 
8
- var _path = _interopRequireDefault(require("path"));
8
+ var _path = require("path");
9
9
 
10
10
  var _os = require("os");
11
11
 
12
12
  var _fs = require("fs");
13
13
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ var _constants = require("../constants");
15
15
 
16
- const appPath = process.cwd();
17
- const isNodeModuleUnderAppFolder = __dirname.indexOf(appPath) !== -1;
18
16
  const isWindows = (0, _os.platform)().toLowerCase() === 'win32';
19
17
 
20
- const _getCliPath = !isNodeModuleUnderAppFolder ? libName => _path.default.join(__dirname, '..', '..', 'node_modules', '.bin', libName) : libName => libName;
18
+ const _getCliPath = libName => (0, _path.join)(_constants.cliNodeModulesPath, '.bin', libName);
21
19
 
22
20
  const suffixExt = isWindows ? '.cmd' : '';
23
21
 
@@ -25,7 +25,7 @@ function requireLocalOrGlobal(moduleName, opts = {}) {
25
25
  const {
26
26
  local = true
27
27
  } = opts;
28
- const isRelativePath = moduleName === '.'; // NOTE: if starts with . then it only mean local
28
+ const isRelativePath = moduleName[0] === '.'; // NOTE: if starts with . then it only mean local
29
29
 
30
30
  if (isRelativePath) {
31
31
  global = false;
@@ -183,14 +183,20 @@ function deprecationSupport(options) {
183
183
  Object.keys(options.app.patterns).forEach(key => {
184
184
  if (options.app.exclude[key] && options.app.patterns[key].length === 0) {
185
185
  let tempArr = options.app.exclude[key];
186
- tempArr = tempArr.map(x => `!${x}`);
186
+ tempArr = tempArr.map(x => {
187
+ x = x.replace(/\//gi, _path.default.sep);
188
+ return `!**${x[0] === _path.default.sep || x[0] === '@' ? '' : _path.default.sep}${x}${x[x.length - 1] === _path.default.sep ? '' : _path.default.sep}**`;
189
+ });
187
190
  options.app.patterns[key] = tempArr;
188
191
  }
189
192
  });
190
193
  Object.keys(options.docs.patterns).forEach(key => {
191
194
  if (options.docs.exclude[key] && options.docs.patterns[key].length === 0) {
192
195
  let tempArr = options.docs.exclude[key];
193
- tempArr = tempArr.map(x => `!${x}`);
196
+ tempArr = tempArr.map(x => {
197
+ x = x.replace(/\//gi, _path.default.sep);
198
+ return `!**${x[0] === _path.default.sep || x[0] === '@' ? '' : _path.default.sep}${x}${x[x.length - 1] === _path.default.sep ? '' : _path.default.sep}**`;
199
+ });
194
200
  options.docs.patterns[key] = tempArr;
195
201
  }
196
202
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/react-cli",
3
- "version": "1.1.1",
3
+ "version": "1.1.4",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/react-cli",
3
- "version": "1.1.4-exp.2",
3
+ "version": "1.1.5-exp.1",
4
4
  "description": "A CLI tool for build modern web application and libraries",
5
5
  "scripts": {
6
6
  "init": "node ./lib/utils/init.js",