@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 +8 -0
- package/bin/cli.js +10 -1
- package/docs/ValueReplacer.md +60 -0
- package/eslint/a23.c +16 -0
- package/eslint/a28.c +25 -0
- package/eslint/a29.c +25 -0
- package/eslint/a30.c +29 -0
- package/eslint/a31.c +23 -0
- package/eslint/a35.c +23 -0
- package/eslint/a36.c +18 -0
- package/eslint/a37.c +25 -0
- package/eslint/a38.c +28 -0
- package/eslint/a39.c +17 -0
- package/eslint/a40.c +32 -0
- package/lib/common/valueReplacer.js +55 -0
- package/lib/loaderUtils/getCSSLoaders.js +5 -2
- package/lib/postcss-plugins/ValueReplacer.js +46 -0
- package/lib/schemas/index.js +11 -0
- package/package.json +1 -1
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
|
+
});
|
package/lib/schemas/index.js
CHANGED
@@ -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'
|