@celljs/react 3.8.0 → 4.0.0

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 (134) hide show
  1. package/esm/browser/annotation/app.d.ts +2 -0
  2. package/esm/browser/annotation/app.js +8 -0
  3. package/esm/browser/annotation/app.js.map +1 -0
  4. package/esm/browser/annotation/context.d.ts +2 -0
  5. package/esm/browser/annotation/context.js +8 -0
  6. package/esm/browser/annotation/context.js.map +1 -0
  7. package/esm/browser/annotation/default-layout.d.ts +2 -0
  8. package/esm/browser/annotation/default-layout.js +8 -0
  9. package/esm/browser/annotation/default-layout.js.map +1 -0
  10. package/esm/browser/annotation/icon.d.ts +2 -0
  11. package/esm/browser/annotation/icon.js +8 -0
  12. package/esm/browser/annotation/icon.js.map +1 -0
  13. package/esm/browser/annotation/index.d.ts +8 -0
  14. package/esm/browser/annotation/index.js +9 -0
  15. package/esm/browser/annotation/index.js.map +1 -0
  16. package/esm/browser/annotation/react-component.d.ts +3 -0
  17. package/esm/browser/annotation/react-component.js +7 -0
  18. package/esm/browser/annotation/react-component.js.map +1 -0
  19. package/esm/browser/annotation/route.d.ts +2 -0
  20. package/esm/browser/annotation/route.js +20 -0
  21. package/esm/browser/annotation/route.js.map +1 -0
  22. package/esm/browser/annotation/router.d.ts +2 -0
  23. package/esm/browser/annotation/router.js +8 -0
  24. package/esm/browser/annotation/router.js.map +1 -0
  25. package/esm/browser/annotation/view.d.ts +2 -0
  26. package/esm/browser/annotation/view.js +7 -0
  27. package/esm/browser/annotation/view.js.map +1 -0
  28. package/esm/browser/app/app-protocol.d.ts +1 -0
  29. package/esm/browser/app/app-protocol.js +2 -0
  30. package/esm/browser/app/app-protocol.js.map +1 -0
  31. package/esm/browser/app/app.d.ts +8 -0
  32. package/esm/browser/app/app.js +37 -0
  33. package/esm/browser/app/app.js.map +1 -0
  34. package/esm/browser/app/index.d.ts +2 -0
  35. package/esm/browser/app/index.js +3 -0
  36. package/esm/browser/app/index.js.map +1 -0
  37. package/esm/browser/context/context-protocol.d.ts +5 -0
  38. package/esm/browser/context/context-protocol.js +3 -0
  39. package/esm/browser/context/context-protocol.js.map +1 -0
  40. package/esm/browser/context/context-provider.d.ts +7 -0
  41. package/esm/browser/context/context-provider.js +32 -0
  42. package/esm/browser/context/context-provider.js.map +1 -0
  43. package/esm/browser/context/context.d.ts +9 -0
  44. package/esm/browser/context/context.js +19 -0
  45. package/esm/browser/context/context.js.map +1 -0
  46. package/esm/browser/context/index.d.ts +3 -0
  47. package/esm/browser/context/index.js +4 -0
  48. package/esm/browser/context/index.js.map +1 -0
  49. package/esm/browser/icon/icon-protocol.d.ts +6 -0
  50. package/esm/browser/icon/icon-protocol.js +3 -0
  51. package/esm/browser/icon/icon-protocol.js.map +1 -0
  52. package/esm/browser/icon/icon.d.ts +1 -0
  53. package/esm/browser/icon/icon.js +16 -0
  54. package/esm/browser/icon/icon.js.map +1 -0
  55. package/esm/browser/icon/index.d.ts +1 -0
  56. package/esm/browser/icon/index.js +2 -0
  57. package/esm/browser/icon/index.js.map +1 -0
  58. package/esm/browser/index.d.ts +11 -0
  59. package/esm/browser/index.js +12 -0
  60. package/esm/browser/index.js.map +1 -0
  61. package/esm/browser/layout/index.d.ts +2 -0
  62. package/esm/browser/layout/index.js +3 -0
  63. package/esm/browser/layout/index.js.map +1 -0
  64. package/esm/browser/layout/layout-protocol.d.ts +1 -0
  65. package/esm/browser/layout/layout-protocol.js +2 -0
  66. package/esm/browser/layout/layout-protocol.js.map +1 -0
  67. package/esm/browser/layout/layout.d.ts +4 -0
  68. package/esm/browser/layout/layout.js +18 -0
  69. package/esm/browser/layout/layout.js.map +1 -0
  70. package/esm/browser/locale/index.d.ts +2 -0
  71. package/esm/browser/locale/index.js +3 -0
  72. package/esm/browser/locale/index.js.map +1 -0
  73. package/esm/browser/locale/locale-context.d.ts +8 -0
  74. package/esm/browser/locale/locale-context.js +34 -0
  75. package/esm/browser/locale/locale-context.js.map +1 -0
  76. package/esm/browser/locale/locale-protocol.d.ts +1 -0
  77. package/esm/browser/locale/locale-protocol.js +2 -0
  78. package/esm/browser/locale/locale-protocol.js.map +1 -0
  79. package/esm/browser/module.d.ts +3 -0
  80. package/esm/browser/module.js +4 -0
  81. package/esm/browser/module.js.map +1 -0
  82. package/esm/browser/resolver/index.d.ts +2 -0
  83. package/esm/browser/resolver/index.js +3 -0
  84. package/esm/browser/resolver/index.js.map +1 -0
  85. package/esm/browser/resolver/path-resolver.d.ts +5 -0
  86. package/esm/browser/resolver/path-resolver.js +25 -0
  87. package/esm/browser/resolver/path-resolver.js.map +1 -0
  88. package/esm/browser/resolver/resolver-protocol.d.ts +4 -0
  89. package/esm/browser/resolver/resolver-protocol.js +2 -0
  90. package/esm/browser/resolver/resolver-protocol.js.map +1 -0
  91. package/esm/browser/router/index.d.ts +5 -0
  92. package/esm/browser/router/index.js +6 -0
  93. package/esm/browser/router/index.js.map +1 -0
  94. package/esm/browser/router/route-metadata-converter-provider.d.ts +6 -0
  95. package/esm/browser/router/route-metadata-converter-provider.js +32 -0
  96. package/esm/browser/router/route-metadata-converter-provider.js.map +1 -0
  97. package/esm/browser/router/route-metadata-converter.d.ts +10 -0
  98. package/esm/browser/router/route-metadata-converter.js +48 -0
  99. package/esm/browser/router/route-metadata-converter.js.map +1 -0
  100. package/esm/browser/router/route-metadata-provider.d.ts +9 -0
  101. package/esm/browser/router/route-metadata-provider.js +46 -0
  102. package/esm/browser/router/route-metadata-provider.js.map +1 -0
  103. package/esm/browser/router/router-protocol.d.ts +23 -0
  104. package/esm/browser/router/router-protocol.js +6 -0
  105. package/esm/browser/router/router-protocol.js.map +1 -0
  106. package/esm/browser/router/router.d.ts +2 -0
  107. package/esm/browser/router/router.js +52 -0
  108. package/esm/browser/router/router.js.map +1 -0
  109. package/esm/browser/shell/index.d.ts +1 -0
  110. package/esm/browser/shell/index.js +2 -0
  111. package/esm/browser/shell/index.js.map +1 -0
  112. package/esm/browser/shell/shell.d.ts +6 -0
  113. package/esm/browser/shell/shell.js +28 -0
  114. package/esm/browser/shell/shell.js.map +1 -0
  115. package/esm/browser/slot/index.d.ts +1 -0
  116. package/esm/browser/slot/index.js +2 -0
  117. package/esm/browser/slot/index.js.map +1 -0
  118. package/esm/browser/slot/slot.d.ts +3 -0
  119. package/esm/browser/slot/slot.js +16 -0
  120. package/esm/browser/slot/slot.js.map +1 -0
  121. package/esm/browser/widget/index.d.ts +1 -0
  122. package/esm/browser/widget/index.js +2 -0
  123. package/esm/browser/widget/index.js.map +1 -0
  124. package/esm/browser/widget/widget-factory.d.ts +5 -0
  125. package/esm/browser/widget/widget-factory.js +20 -0
  126. package/esm/browser/widget/widget-factory.js.map +1 -0
  127. package/esm/package.json +3 -0
  128. package/package.json +78 -24
  129. package/cell-cdn.yml +0 -11
  130. package/lib/hooks/webpack.d.ts +0 -4
  131. package/lib/hooks/webpack.d.ts.map +0 -1
  132. package/lib/hooks/webpack.js +0 -203
  133. package/lib/hooks/webpack.js.map +0 -1
  134. package/src/hooks/webpack.ts +0 -244
package/cell-cdn.yml DELETED
@@ -1,11 +0,0 @@
1
- frontend:
2
- cell:
3
- webpack:
4
- config:
5
- externals:
6
- react: React
7
- react-dom: ReactDOM
8
- htmlWebpackTagsPlugin:
9
- react: "https://cdn.jsdelivr.net/npm/react@^18.2.0/umd/react.${cliContext.dev ? 'development' : 'production.min'}.js"
10
- react-dom: "https://cdn.jsdelivr.net/npm/react-dom@^18.2.0/umd/react-dom.${cliContext.dev ? 'development' : 'production.min'}.js"
11
-
@@ -1,4 +0,0 @@
1
- import { WebpackContext } from '@celljs/cli-service/lib/context/context-protocol';
2
- export default _default;
3
- declare function _default(context: WebpackContext): Promise<void>;
4
- //# sourceMappingURL=webpack.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/hooks/webpack.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAwB,MAAM,kDAAkD,CAAC;;0BAqBlF,OAAO,EAAE,cAAc"}
@@ -1,203 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const fs = __importStar(require("fs-extra"));
37
- const path = __importStar(require("path"));
38
- const context_protocol_1 = require("@celljs/cli-service/lib/context/context-protocol");
39
- const config_util_1 = require("@celljs/cli-common/lib/utils/config-util");
40
- const findExisting = (context, files) => {
41
- for (const file of files) {
42
- if (fs.existsSync(path.join(context, file))) {
43
- return file;
44
- }
45
- }
46
- };
47
- exports.default = async (context) => {
48
- var _a;
49
- var _b;
50
- const { configurations, cfg, dev } = context;
51
- const webpackConfig = context_protocol_1.ConfigurationContext.getFrontendConfiguration(configurations);
52
- if (webpackConfig) {
53
- const appRootDir = process.cwd();
54
- const shadowMode = false;
55
- const rootReactOptions = (_b = (_a = config_util_1.ConfigUtil.getFrontendCellConfig(cfg)) === null || _a === void 0 ? void 0 : _a.react) !== null && _b !== void 0 ? _b : {};
56
- const defaultSassLoaderOptions = {
57
- implementation: require('sass')
58
- };
59
- const css = rootReactOptions.css || {};
60
- const { extract = !dev, sourceMap = false, loaderOptions = {} } = css;
61
- let { requireModuleExtension } = css;
62
- if (typeof requireModuleExtension === 'undefined') {
63
- if (loaderOptions.css && loaderOptions.css.modules) {
64
- throw new Error('`css.requireModuleExtension` is required when custom css modules options provided');
65
- }
66
- requireModuleExtension = true;
67
- }
68
- const { filenameHashing = true, productionSourceMap = true } = rootReactOptions;
69
- const shouldExtract = extract !== false && !shadowMode;
70
- const filename = `css/[name]${filenameHashing ? '.[contenthash:8]' : ''}.css`;
71
- const cssPublicPath = '../';
72
- const extractOptions = Object.assign({
73
- filename,
74
- chunkFilename: filename,
75
- }, extract && typeof extract === 'object' ? extract : {});
76
- const hasPostCSSConfig = !!(loaderOptions.postcss ||
77
- findExisting(appRootDir, [
78
- '.postcssrc',
79
- '.postcssrc.js',
80
- 'postcss.config.js',
81
- '.postcssrc.yaml',
82
- '.postcssrc.json',
83
- ]));
84
- if (!hasPostCSSConfig) {
85
- loaderOptions.postcss = {
86
- postcssOptions: {
87
- plugins: [require('autoprefixer')],
88
- }
89
- };
90
- }
91
- // if building for production but not extracting CSS, we need to minimize
92
- // the embbeded inline CSS as they will not be going through the optimizing
93
- // plugin.
94
- const needInlineMinification = !dev && !shouldExtract;
95
- const cssnanoOptions = {
96
- preset: [
97
- 'default',
98
- {
99
- mergeLonghand: false,
100
- cssDeclarationSorter: false,
101
- },
102
- ],
103
- };
104
- if (productionSourceMap && sourceMap) {
105
- // @ts-ignore
106
- cssnanoOptions.map = { inline: false };
107
- }
108
- // @ts-ignore
109
- function createCSSRule(lang, test, loader, options = {}) {
110
- const baseRule = webpackConfig.module.rule(lang).test(test);
111
- // rules for *.module.* files
112
- const extModulesRule = baseRule
113
- .oneOf('normal-modules')
114
- .test(/\.module\.\w+$/);
115
- applyLoaders(extModulesRule, true);
116
- // rules for normal CSS imports
117
- const normalRule = baseRule.oneOf('normal');
118
- applyLoaders(normalRule, !requireModuleExtension);
119
- function applyLoaders(rule, isCssModule) {
120
- if (shouldExtract) {
121
- rule.use('extract-css-loader')
122
- .loader(require('mini-css-extract-plugin').loader)
123
- .options({
124
- publicPath: cssPublicPath,
125
- });
126
- }
127
- else {
128
- rule.use('style-loader')
129
- .loader(require.resolve('style-loader'))
130
- .options({
131
- injectType: 'singletonStyleTag'
132
- });
133
- }
134
- const cssLoaderOptions = Object.assign({
135
- sourceMap,
136
- importLoaders: 1 + // stylePostLoader injected by vue-loader
137
- 1 + // postcss-loader
138
- (needInlineMinification ? 1 : 0),
139
- }, loaderOptions.css);
140
- if (isCssModule) {
141
- cssLoaderOptions.modules = {
142
- localIdentName: '[name]_[local]_[hash:base64:5]',
143
- ...cssLoaderOptions.modules,
144
- };
145
- }
146
- else {
147
- delete cssLoaderOptions.modules;
148
- }
149
- rule.use('css-loader')
150
- .loader(require.resolve('css-loader'))
151
- .options(cssLoaderOptions);
152
- if (needInlineMinification) {
153
- rule.use('cssnano')
154
- .loader(require.resolve('postcss-loader'))
155
- .options({
156
- sourceMap,
157
- plugins: [require('cssnano')(cssnanoOptions)],
158
- });
159
- }
160
- rule.use('postcss-loader')
161
- .loader(require.resolve('postcss-loader'))
162
- .options(Object.assign({ sourceMap }, loaderOptions.postcss));
163
- if (loader) {
164
- let resolvedLoader;
165
- try {
166
- resolvedLoader = require.resolve(loader);
167
- }
168
- catch (error) {
169
- resolvedLoader = loader;
170
- }
171
- rule.use(loader)
172
- .loader(resolvedLoader)
173
- .options(Object.assign({ sourceMap }, options));
174
- }
175
- }
176
- }
177
- createCSSRule('css', /\.css$/);
178
- createCSSRule('postcss', /\.p(ost)?css$/);
179
- createCSSRule('scss', /\.scss$/, 'sass-loader', Object.assign({}, defaultSassLoaderOptions, loaderOptions.scss || loaderOptions.sass));
180
- createCSSRule('sass', /\.sass$/, 'sass-loader', Object.assign({}, defaultSassLoaderOptions, loaderOptions.sass, {
181
- sassOptions: Object.assign({}, loaderOptions.sass &&
182
- loaderOptions.sass.sassOptions, {
183
- indentedSyntax: true,
184
- }),
185
- }));
186
- createCSSRule('less', /\.less$/, 'less-loader', loaderOptions.less);
187
- createCSSRule('stylus', /\.styl(us)?$/, 'stylus-loader', Object.assign({
188
- preferPathResolver: 'webpack',
189
- }, loaderOptions.stylus));
190
- // inject CSS extraction plugin
191
- if (shouldExtract) {
192
- webpackConfig
193
- .plugin('extract-css')
194
- .use(require('mini-css-extract-plugin'), [extractOptions]);
195
- // minify extracted CSS
196
- webpackConfig
197
- .optimization
198
- .minimizer('optimize-css')
199
- .use(require('css-minimizer-webpack-plugin'));
200
- }
201
- }
202
- };
203
- //# sourceMappingURL=webpack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/hooks/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,qCAAiB;AAC/B,MAAY,IAAI,iCAAa;AAC7B,uFAAwG;AACxG,0EAAsE;AAYtE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,KAAe,EAAE,EAAE;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;kBAEa,KAAK,EAAE,OAAuB,EAAE,EAAE;;;IAC7C,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,aAAa,GAAG,uCAAoB,CAAC,wBAAwB,CAC/D,cAAc,CACjB,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC;QACzB,MAAM,gBAAgB,SAAG,MAAA,wBAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,0CAAE,KAAK,mCAAI,EAAE,CAAC;QAC5E,MAAM,wBAAwB,GAAG;YAC7B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;SAClC,CAAC;QACF,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,IAAI,EAAE,CAAC;QACvC,MAAM,EAAE,OAAO,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,KAAK,EAAE,aAAa,GAAG,EAAmB,EAAE,GAAG,GAAG,CAAC;QAEvF,IAAI,EAAE,sBAAsB,EAAE,GAAG,GAAG,CAAC;QACrC,IAAI,OAAO,sBAAsB,KAAK,WAAW,EAAE,CAAC;YAChD,IAAI,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACX,mFAAmF,CACtF,CAAC;YACN,CAAC;YACD,sBAAsB,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,MAAM,EAAE,eAAe,GAAG,IAAI,EAAE,mBAAmB,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAChF,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC;QACvD,MAAM,QAAQ,GAAG,aAAa,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAC9E,MAAM,aAAa,GAAG,KAAK,CAAC;QAE5B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAChC;YACI,QAAQ;YACR,aAAa,EAAE,QAAQ;SAC1B,EACD,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACxD,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,CACvB,aAAa,CAAC,OAAO;YACrB,YAAY,CAAC,UAAU,EAAE;gBACrB,YAAY;gBACZ,eAAe;gBACf,mBAAmB;gBACnB,iBAAiB;gBACjB,iBAAiB;aACpB,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,aAAa,CAAC,OAAO,GAAG;gBACpB,cAAc,EAAE;oBACZ,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;iBACrC;aACJ,CAAC;QACN,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,UAAU;QACV,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAEtD,MAAM,cAAc,GAAG;YACnB,MAAM,EAAE;gBACJ,SAAS;gBACT;oBACI,aAAa,EAAE,KAAK;oBACpB,oBAAoB,EAAE,KAAK;iBAC9B;aACJ;SACJ,CAAC;QACF,IAAI,mBAAmB,IAAI,SAAS,EAAE,CAAC;YACnC,aAAa;YACb,cAAc,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3C,CAAC;QAED,aAAa;QACb,SAAS,aAAa,CAAC,IAAY,EACZ,IAAY,EACZ,MAAe,EACf,OAAO,GAAG,EAAE;YAC/B,MAAM,QAAQ,GAAG,aAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7D,6BAA6B;YAC7B,MAAM,cAAc,GAAG,QAAQ;iBAC1B,KAAK,CAAC,gBAAgB,CAAC;iBACvB,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5B,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAEnC,+BAA+B;YAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5C,YAAY,CAAC,UAAU,EAAE,CAAC,sBAAsB,CAAC,CAAC;YAElD,SAAS,YAAY,CAAC,IAAS,EAAE,WAAoB;gBACjD,IAAI,aAAa,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;yBACzB,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC;yBACjD,OAAO,CAAC;wBACL,UAAU,EAAE,aAAa;qBAC5B,CAAC,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;yBACnB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;yBACvC,OAAO,CAAC;wBACL,UAAU,EAAE,mBAAmB;qBAClC,CAAC,CAAC;gBACX,CAAC;gBAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAClC;oBACI,SAAS;oBACT,aAAa,EACT,CAAC,GAAG,yCAAyC;wBAC7C,CAAC,GAAG,iBAAiB;wBACrB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC,EACD,aAAa,CAAC,GAAG,CACpB,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBACd,gBAAgB,CAAC,OAAO,GAAG;wBACvB,cAAc,EAAE,gCAAgC;wBAChD,GAAG,gBAAgB,CAAC,OAAO;qBAC9B,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,OAAO,gBAAgB,CAAC,OAAO,CAAC;gBACpC,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;qBACjB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;qBACrC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAE/B,IAAI,sBAAsB,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;yBACd,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;yBACzC,OAAO,CAAC;wBACL,SAAS;wBACT,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;qBAChD,CAAC,CAAC;gBACX,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;qBACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;qBACzC,OAAO,CACJ,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,CACtD,CAAC;gBAEN,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,cAAc,CAAC;oBACnB,IAAI,CAAC;wBACD,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC7C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,cAAc,GAAG,MAAM,CAAC;oBAC5B,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;yBACX,MAAM,CAAC,cAAc,CAAC;yBACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC;QACL,CAAC;QAED,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC1C,aAAa,CACT,MAAM,EACN,SAAS,EACT,aAAa,EACb,MAAM,CAAC,MAAM,CACT,EAAE,EACF,wBAAwB,EACxB,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAC3C,CACJ,CAAC;QACF,aAAa,CACT,MAAM,EACN,SAAS,EACT,aAAa,EACb,MAAM,CAAC,MAAM,CACT,EAAE,EACF,wBAAwB,EACxB,aAAa,CAAC,IAAI,EAClB;YACI,WAAW,EAAE,MAAM,CAAC,MAAM,CACtB,EAAE,EACF,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,IAAI,CAAC,WAAW,EAC9B;gBACI,cAAc,EAAE,IAAI;aACvB,CACJ;SACJ,CACJ,CACJ,CAAC;QACF,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACpE,aAAa,CACT,QAAQ,EACR,cAAc,EACd,eAAe,EACf,MAAM,CAAC,MAAM,CACT;YACI,kBAAkB,EAAE,SAAS;SAChC,EACD,aAAa,CAAC,MAAM,CACvB,CACJ,CAAC;QAEF,+BAA+B;QAC/B,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa;iBACR,MAAM,CAAC,aAAa,CAAC;iBACrB,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YAE/D,uBAAuB;YACvB,aAAa;iBACJ,YAAY;iBACR,SAAS,CAAC,cAAc,CAAC;iBACrB,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1,244 +0,0 @@
1
- import * as fs from 'fs-extra';
2
- import * as path from 'path';
3
- import { WebpackContext, ConfigurationContext } from '@celljs/cli-service/lib/context/context-protocol';
4
- import { ConfigUtil } from '@celljs/cli-common/lib/utils/config-util';
5
- /* eslint-disable @typescript-eslint/ban-ts-comment */
6
-
7
- interface LoaderOptions {
8
- css: any,
9
- scss: any,
10
- sass: any,
11
- less: any,
12
- stylus: any,
13
- postcss: any,
14
- }
15
-
16
- const findExisting = (context: string, files: string[]) => {
17
- for (const file of files) {
18
- if (fs.existsSync(path.join(context, file))) {
19
- return file;
20
- }
21
- }
22
- };
23
-
24
- export default async (context: WebpackContext) => {
25
- const { configurations, cfg, dev } = context;
26
- const webpackConfig = ConfigurationContext.getFrontendConfiguration(
27
- configurations
28
- );
29
- if (webpackConfig) {
30
- const appRootDir = process.cwd();
31
- const shadowMode = false;
32
- const rootReactOptions = ConfigUtil.getFrontendCellConfig(cfg)?.react ?? {};
33
- const defaultSassLoaderOptions = {
34
- implementation: require('sass')
35
- };
36
- const css = rootReactOptions.css || {};
37
- const { extract = !dev, sourceMap = false, loaderOptions = {} as LoaderOptions } = css;
38
-
39
- let { requireModuleExtension } = css;
40
- if (typeof requireModuleExtension === 'undefined') {
41
- if (loaderOptions.css && loaderOptions.css.modules) {
42
- throw new Error(
43
- '`css.requireModuleExtension` is required when custom css modules options provided'
44
- );
45
- }
46
- requireModuleExtension = true;
47
- }
48
-
49
- const { filenameHashing = true, productionSourceMap = true } = rootReactOptions;
50
- const shouldExtract = extract !== false && !shadowMode;
51
- const filename = `css/[name]${filenameHashing ? '.[contenthash:8]' : ''}.css`;
52
- const cssPublicPath = '../';
53
-
54
- const extractOptions = Object.assign(
55
- {
56
- filename,
57
- chunkFilename: filename,
58
- },
59
- extract && typeof extract === 'object' ? extract : {}
60
- );
61
-
62
- const hasPostCSSConfig = !!(
63
- loaderOptions.postcss ||
64
- findExisting(appRootDir, [
65
- '.postcssrc',
66
- '.postcssrc.js',
67
- 'postcss.config.js',
68
- '.postcssrc.yaml',
69
- '.postcssrc.json',
70
- ])
71
- );
72
-
73
- if (!hasPostCSSConfig) {
74
- loaderOptions.postcss = {
75
- postcssOptions: {
76
- plugins: [require('autoprefixer')],
77
- }
78
- };
79
- }
80
-
81
- // if building for production but not extracting CSS, we need to minimize
82
- // the embbeded inline CSS as they will not be going through the optimizing
83
- // plugin.
84
- const needInlineMinification = !dev && !shouldExtract;
85
-
86
- const cssnanoOptions = {
87
- preset: [
88
- 'default',
89
- {
90
- mergeLonghand: false,
91
- cssDeclarationSorter: false,
92
- },
93
- ],
94
- };
95
- if (productionSourceMap && sourceMap) {
96
- // @ts-ignore
97
- cssnanoOptions.map = { inline: false };
98
- }
99
-
100
- // @ts-ignore
101
- function createCSSRule(lang: string,
102
- test: RegExp,
103
- loader?: string,
104
- options = {}) {
105
- const baseRule = webpackConfig!.module.rule(lang).test(test);
106
-
107
- // rules for *.module.* files
108
- const extModulesRule = baseRule
109
- .oneOf('normal-modules')
110
- .test(/\.module\.\w+$/);
111
- applyLoaders(extModulesRule, true);
112
-
113
- // rules for normal CSS imports
114
- const normalRule = baseRule.oneOf('normal');
115
- applyLoaders(normalRule, !requireModuleExtension);
116
-
117
- function applyLoaders(rule: any, isCssModule: boolean) {
118
- if (shouldExtract) {
119
- rule.use('extract-css-loader')
120
- .loader(require('mini-css-extract-plugin').loader)
121
- .options({
122
- publicPath: cssPublicPath,
123
- });
124
- } else {
125
- rule.use('style-loader')
126
- .loader(require.resolve('style-loader'))
127
- .options({
128
- injectType: 'singletonStyleTag'
129
- });
130
- }
131
-
132
- const cssLoaderOptions = Object.assign(
133
- {
134
- sourceMap,
135
- importLoaders:
136
- 1 + // stylePostLoader injected by vue-loader
137
- 1 + // postcss-loader
138
- (needInlineMinification ? 1 : 0),
139
- },
140
- loaderOptions.css
141
- );
142
-
143
- if (isCssModule) {
144
- cssLoaderOptions.modules = {
145
- localIdentName: '[name]_[local]_[hash:base64:5]',
146
- ...cssLoaderOptions.modules,
147
- };
148
- } else {
149
- delete cssLoaderOptions.modules;
150
- }
151
-
152
- rule.use('css-loader')
153
- .loader(require.resolve('css-loader'))
154
- .options(cssLoaderOptions);
155
-
156
- if (needInlineMinification) {
157
- rule.use('cssnano')
158
- .loader(require.resolve('postcss-loader'))
159
- .options({
160
- sourceMap,
161
- plugins: [require('cssnano')(cssnanoOptions)],
162
- });
163
- }
164
-
165
- rule.use('postcss-loader')
166
- .loader(require.resolve('postcss-loader'))
167
- .options(
168
- Object.assign({ sourceMap }, loaderOptions.postcss)
169
- );
170
-
171
- if (loader) {
172
- let resolvedLoader;
173
- try {
174
- resolvedLoader = require.resolve(loader);
175
- } catch (error) {
176
- resolvedLoader = loader;
177
- }
178
-
179
- rule.use(loader)
180
- .loader(resolvedLoader)
181
- .options(Object.assign({ sourceMap }, options));
182
- }
183
- }
184
- }
185
-
186
- createCSSRule('css', /\.css$/);
187
- createCSSRule('postcss', /\.p(ost)?css$/);
188
- createCSSRule(
189
- 'scss',
190
- /\.scss$/,
191
- 'sass-loader',
192
- Object.assign(
193
- {},
194
- defaultSassLoaderOptions,
195
- loaderOptions.scss || loaderOptions.sass
196
- )
197
- );
198
- createCSSRule(
199
- 'sass',
200
- /\.sass$/,
201
- 'sass-loader',
202
- Object.assign(
203
- {},
204
- defaultSassLoaderOptions,
205
- loaderOptions.sass,
206
- {
207
- sassOptions: Object.assign(
208
- {},
209
- loaderOptions.sass &&
210
- loaderOptions.sass.sassOptions,
211
- {
212
- indentedSyntax: true,
213
- }
214
- ),
215
- }
216
- )
217
- );
218
- createCSSRule('less', /\.less$/, 'less-loader', loaderOptions.less);
219
- createCSSRule(
220
- 'stylus',
221
- /\.styl(us)?$/,
222
- 'stylus-loader',
223
- Object.assign(
224
- {
225
- preferPathResolver: 'webpack',
226
- },
227
- loaderOptions.stylus
228
- )
229
- );
230
-
231
- // inject CSS extraction plugin
232
- if (shouldExtract) {
233
- webpackConfig
234
- .plugin('extract-css')
235
- .use(require('mini-css-extract-plugin'), [extractOptions]);
236
-
237
- // minify extracted CSS
238
- webpackConfig
239
- .optimization
240
- .minimizer('optimize-css')
241
- .use(require('css-minimizer-webpack-plugin'));
242
- }
243
- }
244
- };