@zohodesk/react-cli 0.0.1-beta.164 → 0.0.1-beta.165

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
@@ -2,6 +2,14 @@
2
2
 
3
3
  A CLI tool for build modern web application and libraries
4
4
 
5
+ # 0.0.1-beta.165
6
+
7
+ - `valueReplacer` option added in shemas for font name replace related issue handling, for more [details](./docs/ValueReplacer.md)
8
+ - `valuereplacer` option added in react-cli it takes three
9
+ 1. sourceDir
10
+ 2. distDir
11
+ 3. `copyAll` is boolean flag which is for copy all other file or not. "true" means copy all files.
12
+
5
13
  # 0.0.1-beta.164
6
14
 
7
15
  - typo fix
package/bin/cli.js CHANGED
@@ -120,6 +120,15 @@ switch (option) {
120
120
  { stdio: 'inherit' }
121
121
  );
122
122
 
123
+ process.exit(result.status);
124
+ break;
125
+ case 'valuereplacer':
126
+ result = spawnSync(
127
+ 'node',
128
+ [require.resolve('../lib/common/valueReplacer')].concat(args),
129
+ { stdio: 'inherit' }
130
+ );
131
+
123
132
  process.exit(result.status);
124
133
  break;
125
134
  case 'app':
@@ -264,7 +273,7 @@ switch (option) {
264
273
  // '--progress',
265
274
  // '--profile',
266
275
  '--config',
267
- require.resolve('../lib/configs/webpack.prod.config.js'),
276
+ require.resolve('../lib/configs/webpack.prod.config.js')
268
277
  ].concat(args),
269
278
  { stdio: 'inherit' }
270
279
  );
@@ -0,0 +1,60 @@
1
+ # value replacer
2
+
3
+ <!-- file paths
4
+ 1. src/postcss-plugins/ValueReplacer.js
5
+ 2. src/common/valueReplacer.js
6
+ -->
7
+
8
+ this option is array of objects which will have a two keys
9
+ new option `valueReplacer` added for replace css property value while build running
10
+
11
+ - this option is array of object, that object two keys
12
+ 1. `props` key for array of property names
13
+ 2. `values` key is object ,this object key contents will be replaced as value content
14
+ - this option wiil be work for below
15
+
16
+ - `start`
17
+ - `docs`
18
+ - `nowatchstart`
19
+ - `devbuild`
20
+ - `build:library:es`
21
+ - `build:component:es`
22
+ - `build:library:cmjs`
23
+ - `build:component:cmjs`
24
+ Example data:-
25
+
26
+ ```json
27
+ {
28
+ "react-cli": {
29
+ "css": {
30
+ "valueReplacer": [
31
+ {
32
+ "props": ["font", "font-family"],
33
+ "values": {
34
+ "zdfonts-rCallBar": "zdf-rCallBar_1",
35
+ "zdfonts-rPuvi": "zdf-rPuvi_1"
36
+ }
37
+ // ,suffix: '0'
38
+ }
39
+ ]
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ Example Replace:-
46
+ before replace
47
+
48
+ ```css
49
+ .some-selector {
50
+ font: zdfonts-rCallBar !important;
51
+ }
52
+ ```
53
+
54
+ after replace
55
+
56
+ ```css
57
+ .some-selector {
58
+ font: zdf-rCallBar_1 !important;
59
+ }
60
+ ```
package/eslint/a23.c ADDED
@@ -0,0 +1,16 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 23
4
+
5
+ int main()
6
+ {
7
+ // Write C code here
8
+ int i = 20, j = 22, k = 20, l = 10;
9
+
10
+ for (int m = 0; m <= 10; m++)
11
+ {
12
+ l = ++i + ++j - k--;
13
+ }
14
+ printf("%d\n", l);
15
+ return 0;
16
+ }
package/eslint/a28.c ADDED
@@ -0,0 +1,25 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 28
4
+ int mark(int x)
5
+ {
6
+ if (x <= 0)
7
+ {
8
+ return 1;
9
+ }
10
+ return 0;
11
+ }
12
+
13
+ int main()
14
+ {
15
+ // Write C code here
16
+ int x = 2345, t, a = 0;
17
+ while (x > 0)
18
+ {
19
+ t = x % 10;
20
+ a += mark(t);
21
+ x /= 10;
22
+ }
23
+ printf("%d\n", a);
24
+ return 0;
25
+ }
package/eslint/a29.c ADDED
@@ -0,0 +1,25 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 29
4
+
5
+ int main()
6
+ {
7
+ // Write C code here
8
+ int x = 777, y, s = 0, m, n, t, u;
9
+ y = x;
10
+ for (m = 0; y != 0; y /= 10)
11
+ {
12
+ u = y % 9;
13
+ for (n = m, t = 1; n >= 0; n--)
14
+ {
15
+ t *= 9;
16
+ }
17
+ if (u < 5)
18
+ {
19
+ u += 3;
20
+ }
21
+ s = s * u + t;
22
+ }
23
+ printf("%d\n", s);
24
+ return 0;
25
+ }
package/eslint/a30.c ADDED
@@ -0,0 +1,29 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 30
4
+
5
+ int main()
6
+ {
7
+ // Write C code here
8
+ int a[8] = {24, 27, 33, 27, 9, 43, 0, 3};
9
+ int i, sum = 0;
10
+ for (i = 0; i < 5; i = i + 1)
11
+ {
12
+ switch (a[i] % 3)
13
+ {
14
+ case 2:
15
+ sum = sum * sum;
16
+ break;
17
+ case 1:
18
+ sum += a[i];
19
+ break;
20
+ case 0:
21
+ sum -= a[i];
22
+ break;
23
+ default:
24
+ sum = sum * a[i];
25
+ }
26
+ }
27
+ printf("%d\n", sum);
28
+ return 0;
29
+ }
package/eslint/a31.c ADDED
@@ -0,0 +1,23 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 31
4
+
5
+ int main()
6
+ {
7
+ // Write C code here
8
+ int x = 16, y = 32, i = 0;
9
+ do
10
+ {
11
+ if (x % 2 == 0)
12
+ {
13
+ y /= 2;
14
+ }
15
+ if (y % 2 < 1)
16
+ {
17
+ x /= 2;
18
+ }
19
+ i++;
20
+ } while (x > 1);
21
+ printf("%d\n", i);
22
+ return 0;
23
+ }
package/eslint/a35.c ADDED
@@ -0,0 +1,23 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 34
4
+ int compute(int a, int b)
5
+ {
6
+ if (b == 1)
7
+ {
8
+ return a;
9
+ }
10
+ else
11
+ {
12
+ return a + compute(a, --b);
13
+ }
14
+ }
15
+
16
+ int main()
17
+ {
18
+ // Write C code here
19
+ int a = 37, b = 26, result = 0;
20
+ result = compute(a, b);
21
+ printf("%d\n", result);
22
+ return 0;
23
+ }
package/eslint/a36.c ADDED
@@ -0,0 +1,18 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 36
4
+ int main()
5
+ {
6
+ // Write C code here
7
+ char a[] = {'o', 'm', 'p', 'n', 'j', 'o'};
8
+ for (int i = 1; i <= 6; i++)
9
+ {
10
+ a[i - 1] = a[i - 1] + i;
11
+ }
12
+ for (int i = 0; i < 6; i++)
13
+ {
14
+ printf("%c\n", a[i]);
15
+ }
16
+ // printf("%d\n", result);
17
+ return 0;
18
+ }
package/eslint/a37.c ADDED
@@ -0,0 +1,25 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 37
4
+ int main()
5
+ {
6
+ // Write C code here
7
+ char name[] = {'o', 'h', 'o', 'z', 'p', 'r', 'o', 'c'};
8
+ for (int i = 0, j = 7; i <= 7; i++, j--)
9
+ {
10
+ if (name[i] < name[j])
11
+ {
12
+ name[i] = name[j];
13
+ }
14
+ else
15
+ {
16
+ name[i] = name[i];
17
+ }
18
+ }
19
+ for (int i = 0; i <= 7; i++)
20
+ {
21
+ printf("%c", name[i]);
22
+ }
23
+ // printf("%d\n", result);
24
+ return 0;
25
+ }
package/eslint/a38.c ADDED
@@ -0,0 +1,28 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 38
4
+ int main()
5
+ {
6
+ // Write C code here
7
+ int a = 7798, d = 1, temp, result = 1;
8
+ temp = a;
9
+ while (d)
10
+ {
11
+ d = temp % 10;
12
+ temp = temp / 10;
13
+ d %= 4;
14
+ switch (d)
15
+ {
16
+ case 0:
17
+ result += (a / 100) + (a % 100);
18
+ case 1:
19
+ result += (a / 100) + (a % 100);
20
+ case 2:
21
+ result += (a / 100) + (a % 100);
22
+ case 3:
23
+ result += (a / 100) + (a % 100);
24
+ };
25
+ }
26
+ printf("%d\n", result);
27
+ return 0;
28
+ }
package/eslint/a39.c ADDED
@@ -0,0 +1,17 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 39
4
+ int main()
5
+ {
6
+ // Write C code here
7
+ int a = 20, b = 15, c = 0;
8
+
9
+ while (b > 0)
10
+ {
11
+ a = c + a - b;
12
+ b = a + 1;
13
+ c = b - 1;
14
+ }
15
+ printf("%d\n", a);
16
+ return 0;
17
+ }
package/eslint/a40.c ADDED
@@ -0,0 +1,32 @@
1
+ // Online C compiler to run C program online
2
+ #include <stdio.h>
3
+ // 40
4
+ int main()
5
+ {
6
+ // Write C code here
7
+ char a[5] = {'i', 'j', 'k', 'l', 'm'};
8
+ int i;
9
+ for (i = 0; i < 5; i++)
10
+ {
11
+ // printf("%d\n", a[i]);
12
+ switch (i % 2)
13
+ {
14
+ case 0:
15
+ a[i] = a[i] + 2;
16
+ break;
17
+ case 1:
18
+ a[i] = a[i] + 3;
19
+ break;
20
+ default:
21
+ a[i] = a[i] + 3;
22
+ }
23
+ }
24
+
25
+ for (i = 0; i < 5; i++)
26
+ {
27
+ printf("%c", a[i]);
28
+ }
29
+ // printf("\nHello world");
30
+
31
+ return 0;
32
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _postcss = _interopRequireDefault(require("postcss"));
4
+
5
+ var _path = _interopRequireDefault(require("path"));
6
+
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+
9
+ var _folderIterator = _interopRequireDefault(require("../utils/folderIterator"));
10
+
11
+ var _utils = require("../utils");
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ const cwd = process.cwd();
16
+
17
+ const src = _path.default.join(cwd, process.argv[2]);
18
+
19
+ const dist = _path.default.join(cwd, process.argv[3]);
20
+
21
+ const docopy = process.argv[4] === 'true';
22
+ const {
23
+ css: {
24
+ valueReplacer
25
+ }
26
+ } = (0, _utils.getOptions)();
27
+
28
+ if (!_fs.default.existsSync(dist)) {
29
+ _fs.default.mkdirSync(dist, {
30
+ recursive: true
31
+ });
32
+ }
33
+
34
+ (0, _folderIterator.default)(src, dist, docopy ? false : ['.css'], false, (fromPath, toPath) => {
35
+ //console.log({ fromPath: fromPath, toPath: toPath });
36
+ let css = _fs.default.readFileSync(fromPath);
37
+
38
+ if (docopy && !fromPath.endsWith('.css')) {
39
+ //console.log(toPath,'....');
40
+ _fs.default.writeFileSync(toPath, css);
41
+
42
+ return;
43
+ }
44
+
45
+ (0, _postcss.default)([valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer)]).process(css, {
46
+ from: fromPath,
47
+ to: toPath
48
+ }).then(result => {
49
+ _fs.default.writeFile(toPath, result.css, () => true);
50
+
51
+ if (result.map) {
52
+ _fs.default.writeFile(`${toPath}.map`, result.map, () => true);
53
+ }
54
+ });
55
+ });
@@ -20,6 +20,9 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
20
20
  const {
21
21
  devCssFileBountry
22
22
  } = options.app;
23
+ const {
24
+ valueReplacer
25
+ } = options.css;
23
26
  const {
24
27
  cssSelectorZipPath
25
28
  } = options.impactService;
@@ -51,12 +54,12 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
51
54
  options: {
52
55
  devCssFileBountry
53
56
  }
54
- }, hasRTL || selectorReplace ? {
57
+ }, hasRTL || selectorReplace || valueReplacer ? {
55
58
  loader: 'postcss-loader',
56
59
  options: {
57
60
  ident: 'postcss',
58
61
  plugins: function () {
59
- return [selectorReplace && require('postcss-selector-replace')(selectorReplace), hasRTL && require('../postcss-plugins/ExcludeRTLPlugin')({
62
+ return [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('postcss-selector-replace')(selectorReplace), hasRTL && require('../postcss-plugins/ExcludeRTLPlugin')({
60
63
  ignore: rtlExcludeLocal,
61
64
  plugins: [require('@zohodesk/postcss-rtl')({
62
65
  addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _postcss = _interopRequireDefault(require("postcss"));
4
+
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
7
+ // module.exports = postcss.plugin('postcss-value-replacer', opts => {
8
+ // const { plugins } = opts;
9
+ // return (root, result) => {
10
+ // const inputFile = root.source.input.file;
11
+ // let isIgnoredFile= opts.ignore.some(file => inputFile.indexOf(file)!==-1);
12
+ // if (!isIgnoredFile) {
13
+ // const handler = response =>
14
+ // response.messages.forEach(msg => result.messages.push(msg));
15
+ // return postcss(plugins)
16
+ // .process(root, { from: undefined })
17
+ // .then(handler);
18
+ // }
19
+ // };
20
+ // });
21
+ // export default
22
+ module.exports = _postcss.default.plugin('postcss-value-replacer', (valueReplacer = {}) => // Work with options here
23
+ root => {
24
+ root.walkDecls(decl => {
25
+ valueReplacer.forEach(obj => {
26
+ if (obj.props.indexOf(decl.prop) !== -1) {
27
+ let ks = Object.keys(obj.values).sort((a, b) => b.length - a.length);
28
+ ks.forEach(k => {
29
+ decl.value = decl.value.replace(k, obj.values[k]);
30
+ }); //decl.value = obj.values[decl.value];
31
+ }
32
+ }); //console.log({root, roots:root+""}, root+"")
33
+ // Transform CSS AST here
34
+ }); // root.walkDecls(decl => {
35
+ // valueReplacer.forEach(obj => {
36
+ // if (
37
+ // obj.props.indexOf(decl.prop) !== -1 &&
38
+ // obj.values[decl.value] !== undefined
39
+ // ) {
40
+ // decl.value = obj.values[decl.value];
41
+ // }
42
+ // });
43
+ // //console.log({root, roots:root+""}, root+"")
44
+ // // Transform CSS AST here
45
+ // });
46
+ });
@@ -44,6 +44,17 @@ var _default = {
44
44
  },
45
45
  css: {
46
46
  enableRTLSplit: false,
47
+ valueReplacer: null,
48
+ //valueReplacer: [
49
+ // {
50
+ // props: ['font', 'font-family'],
51
+ // values: {
52
+ // 'zdfonts-rCallBar': 'zdfonts-rCallBar01',
53
+ // 'zdfonts-rCall': 'zdfonts-rCallBar02'
54
+ // }
55
+ // // ,suffix: '0'
56
+ // }
57
+ // ],
47
58
  templateLabel: '{{--dir}}',
48
59
  disableMiniFiySelector: false,
49
60
  dirVarName: 'document.dir'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/react-cli",
3
- "version": "0.0.1-beta.164",
3
+ "version": "0.0.1-beta.165",
4
4
  "description": "A CLI tool for build modern web application and libraries",
5
5
  "scripts": {
6
6
  "init": "node ./lib/utils/init.js",