@zohodesk/react-cli 0.0.1-exp.166.1 → 0.0.1-exp.168.2

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.
Files changed (42) hide show
  1. package/README.md +51 -2
  2. package/bin/cli.js +6 -1
  3. package/cert/Tsicsezwild-22-23.crt +37 -0
  4. package/cert/Tsicsezwild-22-23.key +27 -0
  5. package/docs/DevStart.md +18 -0
  6. package/docs/InstallNode.md +28 -0
  7. package/lib/configs/webpack.dev.config.js +13 -17
  8. package/lib/configs/webpack.docs.config.js +13 -18
  9. package/lib/configs/webpack.impact.config.js +6 -14
  10. package/lib/configs/webpack.prod.config.js +8 -5
  11. package/lib/loaderUtils/configsAssetsLoaders.js +88 -0
  12. package/lib/loaderUtils/getCSSLoaders.js +5 -3
  13. package/lib/postcss-plugins/hoverActivePlugin.js +264 -0
  14. package/lib/postcss-plugins/keyframesPlugin.js +126 -0
  15. package/lib/schemas/index.js +24 -2
  16. package/lib/servers/{devBulid.js → devBuild.js} +7 -3
  17. package/lib/servers/httpsOptions.js +2 -3
  18. package/lib/servers/nowatchserver.js +2 -2
  19. package/lib/servers/server.js +11 -3
  20. package/lib/utils/repoClone.js +5 -2
  21. package/lib/utils/rtl.js +19 -2
  22. package/lib/utils/useExitCleanup.js +55 -0
  23. package/package.json +5 -1
  24. package/postpublish.js +6 -0
  25. package/DOTO.md +0 -13
  26. package/cert/cert.pem +0 -37
  27. package/cert/key.pem +0 -27
  28. package/cert/passphrase.pem +0 -1
  29. package/eslint/NOTES.md +0 -3
  30. package/eslint/a23.c +0 -16
  31. package/eslint/a28.c +0 -25
  32. package/eslint/a29.c +0 -25
  33. package/eslint/a30.c +0 -29
  34. package/eslint/a31.c +0 -23
  35. package/eslint/a35.c +0 -23
  36. package/eslint/a36.c +0 -18
  37. package/eslint/a37.c +0 -25
  38. package/eslint/a38.c +0 -28
  39. package/eslint/a39.c +0 -17
  40. package/eslint/a40.c +0 -32
  41. package/eslint/mockapi.html +0 -18
  42. package/eslint/mockapi.md +0 -5
package/README.md CHANGED
@@ -2,6 +2,55 @@
2
2
 
3
3
  A CLI tool for build modern web application and libraries
4
4
 
5
+ # 0.0.1-exp.168.2
6
+
7
+ Changes :
8
+
9
+ 1. hoverActive case handled with postcss hover:hover media query and hover:none media query is added
10
+ 2. flag for hoverActive used to add/remove postcss changes
11
+
12
+ # 0.0.1-beta.168
13
+
14
+ Changes:-
15
+
16
+ 1. `enableChunkHash` option enabled for dev mode, use it as `react-cli.app.enableChunkHash` in `package.json`
17
+ 2. `--enable_efc=true` option added to enable efc by terminal
18
+ 3. unwanted pem files removed
19
+
20
+ # 0.0.1-beta.167
21
+
22
+ SSL certificate update
23
+ this version has same as `0.0.1-exp.166.1`, `0.0.1-exp.166.2` and below and some minor changes
24
+ Features:-
25
+
26
+ - `--shallow_clone` option to `react-cli clone` this option will be usefull for shallow cloning repos in build time we don't need commit messages it will be 2x fast this way
27
+ - Example `react-cli clone --clone_type=git --clone_url=https://some.url --shallow_clone`
28
+ - `cliRootPath` option added for npm workspace related path problems
29
+ - Usage `package.json` , "react-cli" => "cliRootPath" stright key
30
+ - `unstableDepsInverse` option added for use app need library first priority over react-cli packages
31
+ - Usage `package.json` , "react-cli" => "unstableDepsInverse" stright key
32
+
33
+ Issue Fix :-
34
+
35
+ - In devmode initial html not recived after second rebuild issue fix.
36
+ - typo fix `devBulid` to `devBuild`.
37
+ - `disableES5Transpile` option missed in docs now added.
38
+ - docs libAlias not work as app for example in app we always take `es` folder to build for treshaking and reasons,
39
+ But that option not enabled in docs. now it is enabled.
40
+ - In `react-cli devbuild` command options not working properly,
41
+ when above command run via terminal not via npm run script options not working
42
+ So we send that options to webpack then it works as expected.
43
+ this behaviour need to check across os and need to be cross check with other commends as well for now we only fixed this
44
+
45
+ # 0.0.1-exp.166.2
46
+
47
+ Changes:-
48
+
49
+ - `-w` option (watch option) added for `react-cli rtl`
50
+ - Example `react-cli rtl ./src ./lib -w`
51
+ <!-- need to handle `react-cli rtl` options correctly -->
52
+ - disableES5Transpile option libAlias added for docs
53
+
5
54
  # 0.0.1-exp.166.1
6
55
 
7
56
  Changes:-
@@ -17,7 +66,7 @@ this version has same as `# 0.0.1-exp.164.1`, `# 0.0.1-exp.164.2` and below and
17
66
 
18
67
  # 0.0.1-beta.165
19
68
 
20
- - `valueReplacer` option added in shemas for font name replace related issue handling, for more [details](./docs/ValueReplacer.md)
69
+ - `valueReplacer` option added in shemas for font name replace related issue handling, for more [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/2.0.0/docs/ValueReplacer.md)
21
70
  - `valuereplacer` option added in react-cli it takes three
22
71
  1. sourceDir
23
72
  2. distDir
@@ -25,7 +74,7 @@ this version has same as `# 0.0.1-exp.164.1`, `# 0.0.1-exp.164.2` and below and
25
74
 
26
75
  # 0.0.1-exp.164.1
27
76
 
28
- - extra features in custom chunks reffer [this](./docs/CustomChunks.md)
77
+ - extra features in custom chunks reffer [this](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/2.0.0/docs/CustomChunks.md)
29
78
 
30
79
  # 0.0.1-exp.164.2
31
80
 
package/bin/cli.js CHANGED
@@ -13,6 +13,7 @@ const options = getOptions();
13
13
 
14
14
  const { esLint: esLintOptions } = options || {};
15
15
  const { preprocess } = options;
16
+ let { cliRootPath } = options;
16
17
  const {
17
18
  ignoreFilePaths: esLintIgnorePaths,
18
19
  fix: esLintFix,
@@ -28,8 +29,12 @@ const appPath = process.cwd();
28
29
 
29
30
  const isNodeModuleUnderAppFolder = __dirname.indexOf(appPath) !== -1;
30
31
 
32
+ if (!cliRootPath) {
33
+ cliRootPath = path.join(__dirname, '..');
34
+ }
35
+
31
36
  const _getCliPath = !isNodeModuleUnderAppFolder
32
- ? libName => path.join(__dirname, '..', 'node_modules', '.bin', libName)
37
+ ? libName => path.join(cliRootPath, 'node_modules', '.bin', libName)
33
38
  : libName => libName;
34
39
  const suffixExt = isWindows ? '.cmd' : '';
35
40
 
@@ -0,0 +1,37 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIGXjCCBUagAwIBAgIRAMKJgToWlDYncIf54wIl/K4wDQYJKoZIhvcNAQELBQAw
3
+ gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
4
+ BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
5
+ AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
6
+ QTAeFw0yMjA0MjAwMDAwMDBaFw0yMzA0MjAyMzU5NTlaMB4xHDAaBgNVBAMTE2Nz
7
+ ZXouem9ob2NvcnBpbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
8
+ AQDaiXIoQmlYF7guFyGcjqmwJ4ksETK7R0QVoald3h0f8nkbqn29fg3MwvmMmnCV
9
+ 27frm0wYaWK7/xIWb0IIxYqGG2OmOFC4lv/jrGa96EH3fHm0DVU+4gFOf+qdvjdt
10
+ vBdCxWw++dG8KJsbeFcJoF+az/Ei9vhjzgrKtHH62b9aw5i5lpVFbq9bZ0xr3xOx
11
+ brOpZDk/Af2svICTi15/G+YGM7X5DL7z2tjtX8KZ5cbLIjkQS7chtjmx61Tuwq+f
12
+ 4zk0ge8w9hNkvcYrsueuT/FDyO8wbPphNPJBdGrjLnMT05vedAryYfl7LHe8ib3m
13
+ T6QQ0afxvkIyOkpjIEiN1E/jAgMBAAGjggMjMIIDHzAfBgNVHSMEGDAWgBSNjF7E
14
+ VK2K4Xfpm/mbBeG4AY1h4TAdBgNVHQ4EFgQUmkpYbSWtXdFPZfJSz+yW7EA0mjYw
15
+ DgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUH
16
+ AwEGCCsGAQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEF
17
+ BQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEF
18
+ BQcBAQR4MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2Vj
19
+ dGlnb1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYB
20
+ BQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMIIBfwYKKwYBBAHWeQIEAgSC
21
+ AW8EggFrAWkAdwCt9776fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYBH
22
+ FYz3AAAEAwBIMEYCIQD0YmMCd5ZPhVwCYdHJFXaB3TeEVtY3GGBmJreCYpxpWwIh
23
+ AKPLd+IUbrKGjN436yXigPnSHYMhYHjcOIwkJilCKW4kAHYAejKMVNi3LbYg6jjg
24
+ Uh7phBZwMhOFTTvSK8E6V6NS61IAAAGARxWMsAAABAMARzBFAiEA2QOIvUWLlk5d
25
+ dCQ+b3rJrhJhhgYu4KReme7QYuopJL8CIEuwHH4Ro9RfFajzZcYfL0tQO1zacBM+
26
+ yRVvLTF3MbwDAHYA6D7Q2j71BjUy51covIlryQPTy9ERa+zraeF3fW0GvW4AAAGA
27
+ RxWMjwAABAMARzBFAiAU9r8DFaPKtVJ/uCelx8aYgmawpzthhaOATzfS2jWpNwIh
28
+ AJsUAAMJb17Vwk4HucoLRN3ve2qm8TzRiGepKIh/r0rdMEsGA1UdEQREMEKCE2Nz
29
+ ZXouem9ob2NvcnBpbi5jb22CFSouY3Nlei56b2hvY29ycGluLmNvbYIUKi50c2ku
30
+ em9ob2NvcnBpbi5jb20wDQYJKoZIhvcNAQELBQADggEBADbqEtyp7J47CbCHIZ+A
31
+ nedURDLTV0G2cR/yHxbbSUfQsJUt8t736JVw4JnRN2Exch32v9LHvEr40O7TL4er
32
+ OQuEIe7wTkcJ7wZ6bkxgI/ip8y0w2Ips4eVxSmnYYk0AjiyKmn+ujdNZ0yz7qfUE
33
+ ysgRbsyL4ODlUBdTHjS6vFVtTmDWGE9St/gkQEHPoyGNe7v6+39GJEHW2XKYfuhK
34
+ //nHcQxvyr2O5dJGlP1q1WIJRJyCp3Srbgso55H/ylmwfJ7ePYgM4GWbWEfSDLHW
35
+ KOZL2IZgz+oRJikKU4CAvjKvpULK2rSnIs2W11z4KtLqyzTrVmkuJ6MP2rMBQrHu
36
+ jTs=
37
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEowIBAAKCAQEA2olyKEJpWBe4LhchnI6psCeJLBEyu0dEFaGpXd4dH/J5G6p9
3
+ vX4NzML5jJpwldu365tMGGliu/8SFm9CCMWKhhtjpjhQuJb/46xmvehB93x5tA1V
4
+ PuIBTn/qnb43bbwXQsVsPvnRvCibG3hXCaBfms/xIvb4Y84KyrRx+tm/WsOYuZaV
5
+ RW6vW2dMa98TsW6zqWQ5PwH9rLyAk4tefxvmBjO1+Qy+89rY7V/CmeXGyyI5EEu3
6
+ IbY5setU7sKvn+M5NIHvMPYTZL3GK7Lnrk/xQ8jvMGz6YTTyQXRq4y5zE9Ob3nQK
7
+ 8mH5eyx3vIm95k+kENGn8b5CMjpKYyBIjdRP4wIDAQABAoIBACfOaGpX6nte2rAe
8
+ i4NKYzNQiEZsHYsKaKbuCv0ro695icDV1dCJ4PaevzjyurY5Tu+OGpbJv2/R/tfy
9
+ TRtu7BQQch7JXD67VoIAmbhW0YlEdaCr2w64uRc06qXwC4WkALKrZlO0SpVU6iff
10
+ TC9XNILtBJXjWYxIcCPLKYXRWu8romGJGNvZlabHkMMk1eF/rZvdmlgVj1LCE//A
11
+ gjYPsiWCDi0ZWOCXNmKq4yNQnAPjHb4nhN/BumXKn9D/wl282FFx6E9Yetg/bvj6
12
+ f2JN8AST1WwMcPxdnDKC+ZUD0mQqG+w3g47dkaTxc1G5Yot9t0rYujIjbtaFLiWN
13
+ MEGDtsUCgYEA+TIOItGeaRRPdAfXDKjEw2/UfnNr1S9DyAFP7j3UajR7bDv/wWSG
14
+ ct0tJnpK/LvnYsvTF1QQ3PV1hNNtu97XdDV6rwuDeVXOfDBH0ctbnqevTw4ShRuG
15
+ +0qwfychuIy4jG0ZHGFn5adhBhspxGjgYqxJo9fdQBjU0ciH91B6IeUCgYEA4IEU
16
+ GW9rJoVB86HVdaadq2VmuOdyGa+tLkPh8v47vPGB/vpRlThuuRRc51Oq+SRh7bC7
17
+ FO4cjOa6VpM9dkeAc2GFPs+uyzzU8yRxeqO3gicvXC1sApaca9uv8Vp3WDacnlsu
18
+ shVM+RXKLEi8/JHrcr9BCvSlycvZy8t+QUp6LicCgYBE1ocBJ1bTQEESlHfbj2OL
19
+ eYEBzXCkW4Il5fbmoT3keMr/gzOLgPGDGYY3cuD0IBQzPor5jsd5wnTMVHujwlNS
20
+ TtOtN0kCY6m+tLeiRMLyeO/8rq5/BrOrB17qQS0XhggVAq5FIMNKtYof3bEUCMSz
21
+ fVR6Zk9APZvMt9CXiSuz4QKBgFHDMMrCpUd2KLrOKaubbrjJSUv2Hrv0GyJKXrPc
22
+ m20Il8uA5s1trAWDwQIOmqn58iBayQeqYIOAVETLgwrcp49d6OUjRgmGsheLIjkD
23
+ /wVLuBfeAwQ+TeGKNN21kNlzqj6R/sOktk/Q+7x9ETb6/cDgnpOa3fZMY5mxFt44
24
+ fZ7pAoGBAN8ep49qQWxChYfqu75d3dkCcbF6UeWS+mDZ1QDkiJ5hGlDWDAC7EUma
25
+ jf7c56wBydih+2XKFq2BWxyFcfzzxKJrNeMhGANi/yJ1QrECyrwVWnhP+OFfG5vR
26
+ O+PzUCwZGet0PHG6r6IuvpGMCdZDYCt+fZSvIRJtmvIrtZWGKQly
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,18 @@
1
+ # DevServer Start
2
+
3
+ ## command
4
+
5
+ > `react-cli start`
6
+
7
+ ## Options
8
+
9
+ we have to typs of options command line arguments and package.json option specifying
10
+
11
+ ### First package.json option specifying
12
+
13
+ 1. `react-cli.app.context`
14
+ 1. `react-cli.app.server`
15
+ 1. `react-cli.app.server`
16
+ 1. `react-cli.app.server`
17
+ 1. `react-cli.app.server`
18
+ 1. `react-cli.app.server`
@@ -0,0 +1,28 @@
1
+ ### Step 1: Update APT index
2
+
3
+ Run the apt update command on your Ubuntu Linux to update package repository contents database.
4
+
5
+ > sudo apt update
6
+
7
+ ### Step 2: Install Node.js 14 on Ubuntu 22.04|20.04|18.04
8
+
9
+ After system update, install Node.js 14 on Ubuntu 22.04|20.04|18.04 by first installing the required repository.
10
+
11
+ > curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
12
+
13
+ The script above will create apt sources list file for the NodeSource Node.js 14.x repo:
14
+
15
+ > \# Ubuntu 20.04 example
16
+ >
17
+ > $ cat /etc/apt/sources.list.d/nodesource.list
18
+ > deb https://deb.nodesource.com/node_14.x focal main
19
+ > deb-src https://deb.nodesource.com/node_14.x focal main
20
+
21
+ Once the repository is added, you can begin the installation of Node.js 14 on Ubuntu Linux:
22
+
23
+ > sudo apt -y install nodejs
24
+
25
+ Verify the version of Node.js installed.
26
+
27
+ > $ node -v
28
+ > v14.17.5
@@ -12,20 +12,27 @@ var _loaderUtils = require("../loaderUtils");
12
12
 
13
13
  var _libAlias = require("./libAlias");
14
14
 
15
+ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
16
+
15
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
18
 
17
19
  let options = (0, _utils.getOptions)();
18
20
  let {
21
+ unstableDepsInverse,
19
22
  app: {
20
23
  folder,
21
24
  context,
22
25
  server,
23
26
  outputFolder,
24
27
  rtlExclude,
28
+ combinerMq,
25
29
  hasRTL,
30
+ hoverActive,
26
31
  cssUniqueness,
27
32
  seperateCssModules,
28
33
  changeRuntimeChunkChar,
34
+ // we are going to use this for fonts file name collide in issue in devmode
35
+ enableChunkHash,
29
36
  cssHashSelectors,
30
37
  classNamePrefix,
31
38
  selectorReplace,
@@ -48,6 +55,7 @@ let output = {
48
55
  publicPath: `${[serverUrl, contextURL].filter(a => a).join('/')}/`,
49
56
  jsonpFunction: `${context}Jsonp`
50
57
  };
58
+ const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
51
59
 
52
60
  if (crossorigin) {
53
61
  output.crossOriginLoading = 'anonymous';
@@ -92,23 +100,11 @@ module.exports = {
92
100
  }, seperateCssModules ? {
93
101
  test: /\.css$/,
94
102
  exclude: /\.module\.css$/,
95
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, '[local]', false, null)
103
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, combinerMq, hoverActive, '[local]', false, null)
96
104
  } : null, {
97
105
  test: seperateCssModules ? /\.module\.css$/ : /(\.module)?\.css$/,
98
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, null, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
99
- }, {
100
- test: /\.jpe?g$|\.gif$|\.png$/,
101
- use: ['url-loader?limit=1000&name=./images/[name].[ext]']
102
- }, {
103
- test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
104
- use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
105
- }, {
106
- test: /\.svg$/,
107
- use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
108
- }, {
109
- test: /\.ogg$/,
110
- use: ['file-loader?name=./fonts/[name].[ext]']
111
- }, {
106
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, combinerMq, rtlExclude, hoverActive, null, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
107
+ }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
112
108
  test: /\.tmpl$/,
113
109
  use: [{
114
110
  loader: 'html-loader',
@@ -131,10 +127,10 @@ module.exports = {
131
127
  ZC: '$ZC'
132
128
  },
133
129
  resolve: {
134
- modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
130
+ modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
135
131
  alias: disableES5Transpile ? _libAlias.libAlias : {}
136
132
  },
137
133
  resolveLoader: {
138
- modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
134
+ modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
139
135
  }
140
136
  };
@@ -10,24 +10,31 @@ var _loaderUtils = require("../loaderUtils");
10
10
 
11
11
  var _libAlias = require("./libAlias");
12
12
 
13
+ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
14
+
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
 
15
17
  let options = (0, _utils.getOptions)();
16
18
  let {
19
+ unstableDepsInverse,
17
20
  docs: {
18
21
  componentFolder,
22
+ disableES5Transpile,
23
+ enableChunkHash,
19
24
  cssUniqueness,
25
+ combinerMq,
20
26
  hasRTL,
27
+ hoverActive,
21
28
  rtlExclude,
22
29
  cssHashSelectors,
23
30
  classNamePrefix
24
31
  },
25
32
  app: {
26
- folder,
27
- disableES5Transpile
33
+ folder
28
34
  }
29
35
  } = options;
30
36
  let appPath = process.cwd();
37
+ const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
31
38
 
32
39
  module.exports = isSSTest => ({
33
40
  entry: {
@@ -68,17 +75,8 @@ module.exports = isSSTest => ({
68
75
  exclude: /node_modules/
69
76
  }, {
70
77
  test: /(\.module)?\.css$/,
71
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
72
- }, {
73
- test: /\.jpe?g$|\.gif$|\.png$/,
74
- use: ['url-loader?limit=1000&name=./images/[name].[ext]']
75
- }, {
76
- test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
77
- use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
78
- }, {
79
- test: /\.svg$/,
80
- use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
81
- }, {
78
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, combinerMq, rtlExclude, hoverActive, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
79
+ }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
82
80
  test: /\.html$/,
83
81
  use: {
84
82
  loader: 'html-loader',
@@ -87,9 +85,6 @@ module.exports = isSSTest => ({
87
85
  interpolate: 'require'
88
86
  }
89
87
  }
90
- }, {
91
- test: /\.ogg$/,
92
- use: ['file-loader?name=./fonts/[name].[ext]']
93
88
  }, {
94
89
  test: /\.tmpl$/,
95
90
  use: [{
@@ -110,10 +105,10 @@ module.exports = isSSTest => ({
110
105
  ZC: '$ZC'
111
106
  },
112
107
  resolve: {
113
- modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
108
+ modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
114
109
  alias: disableES5Transpile ? _libAlias.libAlias : {}
115
110
  },
116
111
  resolveLoader: {
117
- modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
112
+ modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
118
113
  }
119
114
  });
@@ -8,6 +8,8 @@ var _loaderUtils = require("../loaderUtils");
8
8
 
9
9
  var _getLibraryImactPlugins = _interopRequireDefault(require("../pluginUtils/getLibraryImactPlugins"));
10
10
 
11
+ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
12
+
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
14
 
13
15
  let options = (0, _utils.getOptions)();
@@ -18,6 +20,7 @@ let {
18
20
  hasRTL,
19
21
  rtlExclude,
20
22
  cssHashSelectors,
23
+ enableChunkHash,
21
24
  classNamePrefix
22
25
  },
23
26
  app: {
@@ -25,6 +28,7 @@ let {
25
28
  }
26
29
  } = options;
27
30
  let appPath = process.cwd();
31
+ const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
28
32
  module.exports = {
29
33
  entry: {
30
34
  main: [_path.default.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'), _path.default.join(appPath, componentFolder, 'index.js')],
@@ -64,17 +68,8 @@ module.exports = {
64
68
  exclude: /node_modules/
65
69
  }, {
66
70
  test: /(\.module)?\.css$/,
67
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
68
- }, {
69
- test: /\.jpe?g$|\.gif$|\.png$/,
70
- use: ['url-loader?limit=1000&name=./images/[name].[ext]']
71
- }, {
72
- test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
73
- use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
74
- }, {
75
- test: /\.svg$/,
76
- use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
77
- }, {
71
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, combinerMq, hoverActive, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
72
+ }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
78
73
  test: /\.html$/,
79
74
  use: {
80
75
  loader: 'html-loader',
@@ -83,9 +78,6 @@ module.exports = {
83
78
  interpolate: 'require'
84
79
  }
85
80
  }
86
- }, {
87
- test: /\.ogg$/,
88
- use: ['file-loader?name=./fonts/[name].[ext]']
89
81
  }, {
90
82
  test: /\.tmpl$/,
91
83
  use: [{
@@ -17,6 +17,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  // import TerserPlugin from 'terser-webpack-plugin';
18
18
  let options = (0, _utils.getOptions)();
19
19
  let {
20
+ unstableDepsInverse,
20
21
  app: {
21
22
  folder,
22
23
  context,
@@ -26,8 +27,10 @@ let {
26
27
  removeAttribute,
27
28
  enableSMap,
28
29
  server,
30
+ combinerMq,
29
31
  hasRTL,
30
32
  rtlExclude,
33
+ hoverActive,
31
34
  cssUniqueness,
32
35
  server: {
33
36
  mode
@@ -80,7 +83,7 @@ module.exports = {
80
83
  concatenateModules: true,
81
84
  minimize: true,
82
85
  // by default if minimize: true in webpack minimize then webpack automaticaly add TerserPlugin,
83
- // So we are overrideing it.
86
+ // So we are overrideing it.
84
87
  // minimizer: [
85
88
  // new TerserPlugin({
86
89
  // cache: true,
@@ -143,10 +146,10 @@ module.exports = {
143
146
  }, seperateCssModules ? {
144
147
  test: /\.css$/,
145
148
  exclude: /\.module\.css$/,
146
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, '[local]', false, null)
149
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, hoverActive, keyframesRedMtn, '[local]', false, null)
147
150
  } : null, {
148
151
  test: seperateCssModules ? /\.module\.css$/ : /\.css$/,
149
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
152
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, combinerMq, rtlExclude, hoverActive, false, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
150
153
  }, {
151
154
  test: /\.jpe?g$|\.gif$|\.png$/,
152
155
  use: [{
@@ -208,10 +211,10 @@ module.exports = {
208
211
  ZC: '$ZC'
209
212
  },
210
213
  resolve: {
211
- modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
214
+ modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
212
215
  alias: disableES5Transpile ? _libAlias.libAlias : {}
213
216
  },
214
217
  resolveLoader: {
215
- modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
218
+ modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
216
219
  }
217
220
  };
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.configAudioLoader = configAudioLoader;
7
+ exports.configFontLoader = configFontLoader;
8
+ exports.configImageLoader = configImageLoader;
9
+ exports.configSVGLoader = configSVGLoader;
10
+ exports.createNameTemplate = createNameTemplate;
11
+ // function getLoaderOptionQueryString(params) {
12
+ const ImageExtRegex = /\.jpe?g$|\.gif$|\.png$/;
13
+ const FontExtRegex = /\.woff2|\.woff$|\.ttf$|\.eot$/;
14
+ const SVGExtRegex = /\.svg$/;
15
+ const AudioExtRegex = /\.ogg$/;
16
+
17
+ function createLoaderOptionQueryString(loaderName, nameTemplate, limit = 1000) {
18
+ return `${loaderName}?limit=${limit}&name=${nameTemplate}`;
19
+ }
20
+
21
+ function configImageLoader(nameTemplate) {
22
+ return {
23
+ test: ImageExtRegex,
24
+ use: createLoaderOptionQueryString('url-loader', `./images/${nameTemplate}`)
25
+ };
26
+ }
27
+
28
+ function configFontLoader(nameTemplate) {
29
+ return {
30
+ test: FontExtRegex,
31
+ use: createLoaderOptionQueryString('url-loader', `./fonts/${nameTemplate}`)
32
+ };
33
+ }
34
+
35
+ function configSVGLoader(nameTemplate) {
36
+ return {
37
+ test: SVGExtRegex,
38
+ use: createLoaderOptionQueryString('url-loader', `./fonts/${nameTemplate}`, 1)
39
+ };
40
+ }
41
+
42
+ function configAudioLoader(nameTemplate) {
43
+ return {
44
+ test: AudioExtRegex,
45
+ use: createLoaderOptionQueryString('file-loader', `./fonts/${nameTemplate}`, 1)
46
+ };
47
+ }
48
+
49
+ function createNameTemplate(enableChunkHash) {
50
+ const ext = `${enableChunkHash ? '.[hash:20]' : ''}.[ext]`;
51
+ return `[name]${ext}`;
52
+ }
53
+ /*
54
+ export function createImageAndFontsAndSVGLoaders(enableChunkHash) {
55
+ const nameTemplate = createNameTemplate(enableChunkHash);
56
+ return [
57
+ configImageLoader(nameTemplate),
58
+ configFontLoader(nameTemplate),
59
+ configSVGLoader(nameTemplate),
60
+ configAudioLoader(nameTemplate)
61
+ ];
62
+ }
63
+ */
64
+
65
+ /*
66
+ export function createLoaderOptionObject(
67
+ loaderName,
68
+ nameTemplate,
69
+ fallback,
70
+ limit = 1000
71
+ ) {
72
+ return {
73
+ loader: loaderName,
74
+ options: {
75
+ limit,
76
+ name: nameTemplate,
77
+ fallback
78
+ }
79
+ };
80
+ }
81
+
82
+ function configLoaderObject(filter, loaderAndOptions) {
83
+ return {
84
+ test: filter,
85
+ use: loaderAndOptions
86
+ };
87
+ }
88
+ */
@@ -16,7 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  let options = (0, _utils.getOptions)();
17
17
  let isWin = process.platform === 'win32';
18
18
 
19
- let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
19
+ let getCSSLoaders = (hasRTL, combinerMq, rtlExclude, hoverActive, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
20
20
  const {
21
21
  devCssFileBountry
22
22
  } = options.app;
@@ -28,7 +28,8 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
28
28
  } = options.impactService;
29
29
  let rtlExcludeLocal = isWin ? rtlExclude.map(r => r.replace(/\//g, '\\')) : rtlExclude;
30
30
  let cssLoaderOptions = {
31
- importLoaders: hasRTL ? 1 : 0,
31
+ // importLoaders: hasRTL||hoverActive ? 1 : 0,
32
+ importLoaders: 1,
32
33
  modules: {},
33
34
  sourceMap: true
34
35
  };
@@ -50,7 +51,8 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
50
51
  return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
51
52
  }
52
53
  })]
53
- })].filter(Boolean);
54
+ }), // require('postcss-import')(),
55
+ combinerMq && require('postcss-combine-media-query')(), hoverActive && require('../postcss-plugins/hoverActivePlugin')()].filter(Boolean);
54
56
  return [cssSelectorZipPath && {
55
57
  loader: require.resolve('../loaders/selectorMappingLoader')
56
58
  }, {