@zohodesk/react-cli 0.0.1-exp.161.3 → 0.0.1-exp.164.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.js +3 -7
- package/README.md +120 -9
- package/bin/cli.js +67 -21
- package/eslint/NOTES.md +3 -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/eslint/mockapi.html +18 -0
- package/eslint/mockapi.md +5 -0
- package/lib/common/criteriaHandler.js +91 -0
- package/lib/common/index.js +6 -6
- package/lib/common/splitChunks.js +54 -18
- package/lib/common/splitChunks1.js +95 -0
- package/lib/common/splitChunksNew.js +129 -0
- package/lib/common/testPattern.js +71 -0
- package/lib/configs/jest.config.js +12 -3
- package/lib/configs/libAlias.js +31 -0
- package/lib/configs/webpack.dev.config.js +6 -19
- package/lib/configs/webpack.prod.config.js +18 -21
- package/lib/loaderUtils/index.js +4 -4
- package/lib/pluginUtils/getDevPlugins.js +2 -0
- package/lib/pluginUtils/getProdPlugins.js +2 -0
- package/lib/pluginUtils/index.js +12 -12
- package/lib/plugins/EFCPlugin.js +43 -13
- package/lib/plugins/EFCTemplatePlugin.js +151 -0
- package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +2 -2
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +1 -1
- package/lib/plugins/ManifestPlugin.js +8 -0
- package/lib/plugins/index.js +36 -36
- package/lib/postcss-plugins/RTLSplitPlugin.js +1 -1
- package/lib/schemas/index.js +15 -0
- package/lib/templates/linterConstant.js +1 -1
- package/lib/utils/cssClassNameGenerate.js +9 -2
- package/lib/utils/cssURLReplacer.js +1 -1
- package/lib/utils/getCurrentBranch.js +1 -1
- package/lib/utils/getOptions.js +55 -1
- package/lib/utils/index.js +21 -19
- package/lib/utils/jsonHelper.js +12 -3
- package/lib/utils/reinstallDependencies.js +1 -1
- package/npm8.md +9 -0
- package/package.json +4 -4
package/.eslintrc.js
CHANGED
@@ -108,7 +108,9 @@ let commonConfigs = {
|
|
108
108
|
'comma-dangle': [logLevel],
|
109
109
|
'comma-spacing': [logLevel],
|
110
110
|
'func-call-spacing': [logLevel],
|
111
|
-
|
111
|
+
// reference to this https://stackoverflow.com/questions/56337176/prettier-and-eslint-indents-not-working-together
|
112
|
+
// when using prettier, we should disable eslint's indent rule
|
113
|
+
indent: ['off', 2, { SwitchCase: 1 }],
|
112
114
|
'jsx-quotes': [logLevel, 'prefer-single'],
|
113
115
|
'key-spacing': [logLevel],
|
114
116
|
'keyword-spacing': [logLevel],
|
@@ -140,8 +142,6 @@ let commonConfigs = {
|
|
140
142
|
'prefer-template': [logLevel],
|
141
143
|
'prefer-rest-params': [logLevel],
|
142
144
|
'no-useless-constructor': [logLevel],
|
143
|
-
'no-duplicate-imports': [logLevel],
|
144
|
-
'array-callback-return': [logLevel],
|
145
145
|
'no-use-before-define': [logLevel],
|
146
146
|
|
147
147
|
'react/default-props-match-prop-types': [logLevel],
|
@@ -152,7 +152,6 @@ let commonConfigs = {
|
|
152
152
|
'react/no-this-in-sfc': [logLevel],
|
153
153
|
'react/no-will-update-set-state': [logLevel],
|
154
154
|
'react/no-unused-state': [logLevel],
|
155
|
-
'react/no-will-update-set-state': [logLevel],
|
156
155
|
// 'react/require-default-props': [logLevel],
|
157
156
|
// 'react/require-optimization': [logLevel],
|
158
157
|
|
@@ -171,9 +170,6 @@ let commonConfigs = {
|
|
171
170
|
'react/jsx-no-duplicate-props': [logLevel],
|
172
171
|
'react/no-deprecated': [logLevel],
|
173
172
|
'react/no-children-prop': [logLevel],
|
174
|
-
'react/no-unused-state': [logLevel],
|
175
|
-
'react/destructuring-assignment': [logLevel],
|
176
|
-
'react/default-props-match-prop-types': [logLevel],
|
177
173
|
|
178
174
|
'css-modules/no-unused-class': [logLevel, { camelCase: true }],
|
179
175
|
'css-modules/no-undef-class': [logLevel, { camelCase: 'only' }]
|
package/README.md
CHANGED
@@ -1,39 +1,150 @@
|
|
1
1
|
# React CLI
|
2
2
|
|
3
3
|
A CLI tool for build modern web application and libraries
|
4
|
+
|
5
|
+
# 0.0.1-exp.164.1
|
6
|
+
|
7
|
+
- extra features in custom chunks
|
8
|
+
- `minChunks`: `minChunks` is alies of `size` default value is `2`,
|
9
|
+
- `rules`: rules,
|
10
|
+
- `chunks`: by this option you can specify , default value is `all`,
|
11
|
+
- `priority`: priority default value is -10 \* (index + 2),
|
12
|
+
- `enforce`: enforce default value is true,
|
13
|
+
- `maxSize`: maxSize, default value is 0,
|
14
|
+
- `minSize`: minSize, default value is 20000,
|
15
|
+
- <!-- includeDepenency: includeDepenency default value is false -->
|
16
|
+
|
17
|
+
# 0.0.1-exp.165
|
18
|
+
|
19
|
+
- **Features :-**
|
20
|
+
- auto remove vendor excluded dependency's dependency
|
21
|
+
|
22
|
+
# 0.0.1-beta.164
|
23
|
+
|
24
|
+
- typo fix
|
25
|
+
|
26
|
+
# 0.0.1-beta.163
|
27
|
+
|
28
|
+
- **Issue Fix:-**
|
29
|
+
|
30
|
+
- if git not installed react-cli throws error for any command due to `getCurrentBranch` in `shemas/index.js` now fixed
|
31
|
+
- jest test cases not runnig issue fix (typo moduleNameMapper => libAlias)
|
32
|
+
|
33
|
+
- **Features :-**
|
34
|
+
- feature added for pre process logic
|
35
|
+
- tailer made requirement for preprocess, just write node js file
|
36
|
+
- mention file in `"react-cli" => "preprocess" => "runner"`
|
37
|
+
- option parse logic added for react-cli (exprimental)
|
38
|
+
- `--stop_nodemon` usally preprocessor run in `nodemon` so to stop it this option is provided
|
39
|
+
|
40
|
+
# 0.0.1-exp.162.2
|
41
|
+
|
42
|
+
- **Optimazation:-**
|
43
|
+
- double time minimize optimazation
|
44
|
+
|
45
|
+
# 0.0.1-beta.162.1
|
46
|
+
|
47
|
+
- **Issue Fix:-**
|
48
|
+
- if git not installed react-cli throws error for any command due to `getCurrentBranch` in `shemas/index.js` now fixed
|
49
|
+
|
50
|
+
# 0.0.1-beta.161.1
|
51
|
+
|
52
|
+
- **Features :-**
|
53
|
+
- feature added for pre process logic
|
54
|
+
- tailer made requirement for preprocess, just write node js file
|
55
|
+
- mention file in `"react-cli" => "preprocess" => "runner"`
|
56
|
+
- option parse logic added for react-cli (exprimental)
|
57
|
+
|
58
|
+
# 0.0.1-beta.162
|
59
|
+
|
60
|
+
- @zohodesk/datetimejs package updated to beta.8
|
61
|
+
|
62
|
+
# 0.0.1-beta.161
|
63
|
+
|
64
|
+
- **Features :-**
|
65
|
+
- feature added for efc `templateFilePath` in `package.json` option palce is `"react-cli" => "efc" => "templateFilePath"`
|
66
|
+
- `(('publicPath'))` this placeholder will be replace as publicPath string `publicPath`
|
67
|
+
- `(('getInitalAssets'))` this placeholder will be replace as function `getInitalAssets`
|
68
|
+
- `getInitalAssets` this function has two arguments `assetsType`, `lang`
|
69
|
+
- `assetsType` are `js`, `css`, `i18n`
|
70
|
+
- `lang` this argument only works when `i18n` is `assetsType`
|
71
|
+
- feature added for efc `cdnStatement`
|
72
|
+
- **Issue fixes:-**
|
73
|
+
- css classname hash change issue fix
|
74
|
+
- debug package conflit issue fix in nock in (react-cli test)
|
75
|
+
- manifest.json css file name correction issue for rtl and ltr
|
76
|
+
|
77
|
+
# 0.0.1-exp.161.2
|
78
|
+
|
79
|
+
- Features
|
80
|
+
- feature added for efc `templateFilePath` in `package.json` option palce is `"react-cli" => "efc" `
|
81
|
+
- `(('publicPath'))` this placeholder will be replace as publicPath string `publicPath`
|
82
|
+
- `(('getInitalAssets'))` this placeholder will be replace as function `getInitalAssets`
|
83
|
+
- `getInitalAssets` this function has two arguments `assetsType`, `lang`
|
84
|
+
- `assetsType` are `js`, `css`, `i18n`
|
85
|
+
- `lang` this argument only works when `i18n` is `assetsType`
|
86
|
+
|
87
|
+
# 0.0.1-exp.161.1
|
88
|
+
|
89
|
+
- Features
|
90
|
+
- feature added for efc `cdnStatement`
|
91
|
+
- Issue fixes:-
|
92
|
+
- css classname hash change issue fix
|
93
|
+
- debug package conflit issue fix in nock in (react-cli test)
|
94
|
+
- manifest.json css file name correction issue for rtl and ltr
|
95
|
+
|
4
96
|
# 0.0.1-beta.160
|
97
|
+
|
5
98
|
- @zohodesk/normalizer package version updated to 1.0.2
|
99
|
+
|
6
100
|
# 0.0.1-beta.159
|
101
|
+
|
7
102
|
- @zohodesk/datetimejs package updated to beta.7
|
103
|
+
|
104
|
+
# 0.0.1-exp.159
|
105
|
+
|
106
|
+
- isse fix:-
|
107
|
+
- when rtl ltr css split enable manifest json css filename keys comes with hash .
|
108
|
+
|
8
109
|
# 0.0.1-beta.158
|
9
|
-
|
110
|
+
|
111
|
+
- Removing source map files from service worker caching.
|
112
|
+
|
10
113
|
# 0.0.1-beta.157
|
11
|
-
|
114
|
+
|
115
|
+
- Experimental version issue fix(Dummy version removed)
|
116
|
+
|
12
117
|
# 0.0.1-beta.156
|
13
|
-
|
118
|
+
|
119
|
+
- ReportPublish issue fix
|
14
120
|
|
15
121
|
# 0.0.1-beta.155
|
16
|
-
|
122
|
+
|
123
|
+
- get impacted library source files option added
|
17
124
|
|
18
125
|
# 0.0.1-beta.154
|
19
|
-
|
20
|
-
|
21
|
-
|
126
|
+
|
127
|
+
- mockPrefix option for mock url prefix change
|
128
|
+
- Issue fix:-
|
129
|
+
- un wanted {{--js-smap}} in inital html without enable smap in build
|
22
130
|
|
23
131
|
# 0.0.1-beta.153
|
132
|
+
|
24
133
|
- Vendor include array added
|
25
134
|
- If you need to include any thrid party js in vendor we can use this array
|
26
135
|
|
27
136
|
# 0.0.1-beta.152
|
137
|
+
|
28
138
|
impact servise related changes:-
|
139
|
+
|
29
140
|
- nowatchstart option added. will be used like `react-cli nowatchstart <...options>` this will be used for src file changes no need to reflect (or no need to rebulid on file changes)
|
30
141
|
- cssselector_zip option added. will be used like `--cssselector-zip=selectormapping.zip`
|
31
142
|
only work in two ways
|
32
143
|
1. `react-cli start --disable-watch --cssselector-zip=selectormapping.zip` app start command with `--disable-watch` flag and your usaul options
|
33
144
|
2. `react-cli nowatchstart --cssselector-zip=selectormapping.zip` app start command's usaul options
|
34
145
|
#### Urls are:-
|
35
|
-
Below express path are added, For download zip files and
|
36
|
-
- `/zips/${zipname}.zip`
|
146
|
+
Below express path are added, For download zip files and
|
147
|
+
- `/zips/${zipname}.zip` for css selector maps zip file (contains css_map filies and original css files)
|
37
148
|
- `/zips/build.zip` build zip file (contains bundled all files)
|
38
149
|
|
39
150
|
# 0.0.1-beta.151
|
package/bin/cli.js
CHANGED
@@ -1,28 +1,30 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
const path = require('path');
|
4
|
+
const os = require('os');
|
5
|
+
const { existsSync } = require('fs');
|
6
|
+
const { spawnSync, spawn } = require('child_process');
|
7
|
+
const { getOptions } = require('../lib/utils/index.js');
|
7
8
|
|
8
|
-
|
9
|
+
const { log } = require('../lib/utils');
|
9
10
|
//initPreCommitHook();
|
10
11
|
|
11
|
-
|
12
|
+
const options = getOptions();
|
12
13
|
|
13
|
-
|
14
|
-
|
14
|
+
const { esLint: esLintOptions } = options || {};
|
15
|
+
const { preprocess } = options;
|
16
|
+
const {
|
15
17
|
ignoreFilePaths: esLintIgnorePaths,
|
16
18
|
fix: esLintFix,
|
17
19
|
isCI: isCI,
|
18
20
|
reportPath: reportPath
|
19
21
|
} = esLintOptions || {};
|
20
22
|
|
21
|
-
|
23
|
+
const isWindows = os.platform().toLowerCase() === 'win32';
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
|
25
|
+
const [, , option] = process.argv;
|
26
|
+
const args = process.argv.slice(3);
|
27
|
+
const appPath = process.cwd();
|
26
28
|
|
27
29
|
const isNodeModuleUnderAppFolder = __dirname.indexOf(appPath) !== -1;
|
28
30
|
|
@@ -35,15 +37,55 @@ function getCliPath(libName) {
|
|
35
37
|
return _getCliPath(libName) + suffixExt;
|
36
38
|
}
|
37
39
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
const webpack = getCliPath('webpack');
|
41
|
+
|
42
|
+
const nodemon = getCliPath('nodemon');
|
43
|
+
const babel = getCliPath('babel');
|
44
|
+
const propertyToJson = getCliPath('propertyToJson');
|
45
|
+
const esLint = getCliPath('eslint');
|
46
|
+
|
47
|
+
const preprocesserPath = preprocess.runner
|
48
|
+
? path.join(process.cwd(), preprocess.runner)
|
49
|
+
: '';
|
50
|
+
const preprocessCli = preprocess.stopNodemon ? 'node' : nodemon;
|
51
|
+
if (preprocesserPath && existsSync(preprocesserPath)) {
|
52
|
+
// eslint-disable-next-line default-case
|
53
|
+
switch (option) {
|
54
|
+
case 'start':
|
55
|
+
case 'docs':
|
56
|
+
spawn(preprocessCli, [preprocesserPath], {
|
57
|
+
stdio: 'inherit',
|
58
|
+
cwd: preprocesserPath.slice(0, preprocesserPath.lastIndexOf('/') + 1)
|
59
|
+
});
|
60
|
+
// NOTE: it's ok if we not close this here
|
61
|
+
// Because when node server stops this program willbe closed So this nodemon will be killed as well
|
62
|
+
break;
|
63
|
+
case 'nowatchstart':
|
64
|
+
case 'build:library:es':
|
65
|
+
case 'build:component:es':
|
66
|
+
case 'build:library:cmjs':
|
67
|
+
case 'build:component:cmjs':
|
68
|
+
spawnSync('node', [preprocesserPath], {
|
69
|
+
stdio: 'inherit',
|
70
|
+
cwd: preprocesserPath.slice(0, preprocesserPath.lastIndexOf('/') + 1)
|
71
|
+
});
|
72
|
+
break;
|
73
|
+
}
|
74
|
+
}
|
44
75
|
|
45
76
|
let result;
|
46
77
|
switch (option) {
|
78
|
+
case 'preprocessor':
|
79
|
+
if (preprocesserPath && existsSync(preprocesserPath)) {
|
80
|
+
result = spawnSync(preprocessCli, [preprocesserPath], {
|
81
|
+
stdio: 'inherit',
|
82
|
+
cwd: preprocesserPath.slice(0, preprocesserPath.lastIndexOf('/') + 1)
|
83
|
+
});
|
84
|
+
process.exit(result.status);
|
85
|
+
} else {
|
86
|
+
console.error(`preProcessor not exists ${preprocesserPath}`);
|
87
|
+
}
|
88
|
+
break;
|
47
89
|
case 'lint-setup': {
|
48
90
|
result = spawnSync(
|
49
91
|
'node',
|
@@ -155,10 +197,11 @@ switch (option) {
|
|
155
197
|
break;
|
156
198
|
|
157
199
|
case 'clean':
|
158
|
-
args = args.map(arg => path.join(appPath, arg));
|
159
200
|
result = spawnSync(
|
160
201
|
'node',
|
161
|
-
[require.resolve('../lib/utils/clean')].concat(
|
202
|
+
[require.resolve('../lib/utils/clean')].concat(
|
203
|
+
args.map(arg => path.join(appPath, arg))
|
204
|
+
),
|
162
205
|
{ stdio: 'inherit' }
|
163
206
|
);
|
164
207
|
process.exit(result.status);
|
@@ -218,12 +261,15 @@ switch (option) {
|
|
218
261
|
result = spawnSync(
|
219
262
|
webpack,
|
220
263
|
[
|
264
|
+
// '--progress',
|
265
|
+
// '--profile',
|
221
266
|
'--config',
|
222
|
-
require.resolve('../lib/configs/webpack.prod.config.js')
|
267
|
+
require.resolve('../lib/configs/webpack.prod.config.js'),
|
223
268
|
].concat(args),
|
224
269
|
{ stdio: 'inherit' }
|
225
270
|
);
|
226
271
|
|
272
|
+
// console.log(result);
|
227
273
|
process.exit(result.status);
|
228
274
|
break;
|
229
275
|
|
package/eslint/NOTES.md
ADDED
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,18 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8" />
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
6
|
+
<title>mock api</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<h1>We are going to see how to use mock api</h1>
|
10
|
+
<ul>
|
11
|
+
<li>
|
12
|
+
Step 1:-
|
13
|
+
you need to start the app with "react-cli"."app"."server"."hasMock" as "true" in package.json
|
14
|
+
<code>npm run start --app-port=9090</code>
|
15
|
+
</li>
|
16
|
+
</ul>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# We are going to see how to use `Mock api`
|
2
|
+
|
3
|
+
- Step 1:-
|
4
|
+
you need to start the app with **"react-cli"."app"."server"."hasMock"** as `true` and **"react-cli"."app"."server"."hasMock"** as `true` in package.json <code>npm run start --app-port=9090</code>
|
5
|
+
- Step 2:- you need to start the app with **"react-cli"."app"."server"."hasMock"** as `true` in package.json <code>npm run start --app-port=9090</code>
|