lincd-cli 1.2.0 → 1.2.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 (106) hide show
  1. package/defaults/app-with-backend/.eslintignore +3 -1
  2. package/defaults/app-with-backend/lincd.config.js +4 -6
  3. package/defaults/app-with-backend/package.json +8 -16
  4. package/defaults/app-with-backend/scripts/storage-config.js +5 -5
  5. package/defaults/app-with-backend/src/App.module.css +17 -0
  6. package/defaults/app-with-backend/src/App.tsx +11 -15
  7. package/defaults/app-with-backend/src/backend.ts +8 -0
  8. package/defaults/app-with-backend/src/components/Error.tsx +2 -5
  9. package/defaults/app-with-backend/src/components/Spinner.tsx +3 -3
  10. package/defaults/app-with-backend/src/config-frontend.ts +6 -6
  11. package/defaults/app-with-backend/src/index.tsx +4 -3
  12. package/defaults/app-with-backend/src/layout/DefaultLayout.module.css +12 -0
  13. package/defaults/app-with-backend/src/layout/DefaultLayout.tsx +3 -4
  14. package/defaults/app-with-backend/src/layout/Header.module.css +25 -0
  15. package/defaults/app-with-backend/src/layout/Header.tsx +10 -6
  16. package/defaults/app-with-backend/src/package.ts +0 -1
  17. package/defaults/app-with-backend/src/pages/Home.tsx +3 -3
  18. package/defaults/app-with-backend/src/pages/PageNotFound.tsx +2 -1
  19. package/defaults/app-with-backend/src/routes.tsx +8 -7
  20. package/defaults/app-with-backend/src/theme.css +95 -0
  21. package/defaults/app-with-backend/src/types.ts +14 -0
  22. package/defaults/app-with-backend/tsconfig.json +9 -6
  23. package/defaults/package/package.json +30 -3
  24. package/defaults/package/src/index.ts +1 -1
  25. package/defaults/package/src/ontologies/example-ontology.ts +4 -4
  26. package/defaults/package/src/package.ts +2 -1
  27. package/defaults/shape.ts +1 -1
  28. package/lib/cjs/cli-methods.js +376 -113
  29. package/lib/cjs/cli-methods.js.map +1 -1
  30. package/lib/cjs/cli.js +15 -1
  31. package/lib/cjs/cli.js.map +1 -1
  32. package/lib/cjs/config-grunt.cjs +3 -3
  33. package/lib/cjs/config-grunt.cjs.map +1 -1
  34. package/lib/cjs/config-webpack-app.js +277 -133
  35. package/lib/cjs/config-webpack-app.js.map +1 -1
  36. package/lib/cjs/config-webpack.js +30 -22
  37. package/lib/cjs/config-webpack.js.map +1 -1
  38. package/lib/cjs/index.js +3 -1
  39. package/lib/cjs/index.js.map +1 -1
  40. package/lib/cjs/loaders/css-loader.mjs +28 -24
  41. package/lib/cjs/loaders/css-loader.mjs.map +1 -1
  42. package/lib/cjs/loaders/register.js +5 -0
  43. package/lib/cjs/loaders/register.js.map +1 -1
  44. package/lib/cjs/package.json +12 -10
  45. package/lib/cjs/plugins/check-imports.js +1 -1
  46. package/lib/cjs/plugins/check-imports.js.map +1 -1
  47. package/lib/cjs/plugins/declaration-plugin.js +17 -7
  48. package/lib/cjs/plugins/declaration-plugin.js.map +1 -1
  49. package/lib/cjs/plugins/externalise-modules.js.map +1 -1
  50. package/lib/cjs/plugins/lincd-tailwind-sources.js +32 -0
  51. package/lib/cjs/plugins/lincd-tailwind-sources.js.map +1 -0
  52. package/lib/cjs/plugins/watch-run.js.map +1 -1
  53. package/lib/cjs/tailwind.config.js +18 -0
  54. package/lib/cjs/tailwind.config.js.map +1 -0
  55. package/lib/cjs/utils.js +103 -41
  56. package/lib/cjs/utils.js.map +1 -1
  57. package/lib/esm/cli-methods.js +360 -113
  58. package/lib/esm/cli-methods.js.map +1 -1
  59. package/lib/esm/cli.js +16 -2
  60. package/lib/esm/cli.js.map +1 -1
  61. package/lib/esm/config-grunt.cjs +29 -26
  62. package/lib/esm/config-grunt.cjs.map +1 -1
  63. package/lib/esm/config-webpack-app.js +259 -123
  64. package/lib/esm/config-webpack-app.js.map +1 -1
  65. package/lib/esm/config-webpack.js +12 -13
  66. package/lib/esm/config-webpack.js.map +1 -1
  67. package/lib/esm/index.js +1 -0
  68. package/lib/esm/index.js.map +1 -1
  69. package/lib/esm/loaders/css-loader.mjs +23 -12
  70. package/lib/esm/loaders/css-loader.mjs.map +1 -1
  71. package/lib/esm/loaders/register.js +5 -0
  72. package/lib/esm/loaders/register.js.map +1 -1
  73. package/lib/esm/package.json +12 -10
  74. package/lib/esm/plugins/check-imports.js.map +1 -1
  75. package/lib/esm/plugins/declaration-plugin.js.map +1 -1
  76. package/lib/esm/plugins/externalise-modules.js.map +1 -1
  77. package/lib/esm/plugins/lincd-tailwind-sources.js +27 -0
  78. package/lib/esm/plugins/lincd-tailwind-sources.js.map +1 -0
  79. package/lib/esm/plugins/watch-run.js.map +1 -1
  80. package/lib/esm/tailwind.config.js +13 -0
  81. package/lib/esm/tailwind.config.js.map +1 -0
  82. package/lib/esm/utils.js +73 -24
  83. package/lib/esm/utils.js.map +1 -1
  84. package/lib-template/cjs/package.json +3 -0
  85. package/lib-template/esm/package.json +3 -0
  86. package/package.json +15 -12
  87. package/defaults/app-with-backend/babel.config.js +0 -4
  88. package/defaults/app-with-backend/src/App.scss +0 -6
  89. package/defaults/app-with-backend/src/App.scss.json +0 -1
  90. package/defaults/app-with-backend/src/components/Error.scss.json +0 -1
  91. package/defaults/app-with-backend/src/components/Spinner.scss.json +0 -1
  92. package/defaults/app-with-backend/src/layout/DefaultLayout.scss +0 -6
  93. package/defaults/app-with-backend/src/layout/DefaultLayout.scss.json +0 -1
  94. package/defaults/app-with-backend/src/layout/Header.scss +0 -10
  95. package/defaults/app-with-backend/src/layout/Header.scss.json +0 -1
  96. package/defaults/app-with-backend/src/pages/Home.scss.json +0 -1
  97. package/defaults/app-with-backend/src/scss/global-overwrites.scss +0 -11
  98. package/defaults/app-with-backend/src/scss/variables.scss +0 -23
  99. /package/defaults/app-with-backend/{web → public}/favicon-144x144.png +0 -0
  100. /package/defaults/app-with-backend/{web → public}/favicon-57x57.png +0 -0
  101. /package/defaults/app-with-backend/{web → public}/favicon-72x72.png +0 -0
  102. /package/defaults/app-with-backend/{web → public}/favicon.ico +0 -0
  103. /package/defaults/app-with-backend/src/components/{Error.scss → Error.module.css} +0 -0
  104. /package/defaults/app-with-backend/src/components/{Spinner.scss → Spinner.module.css} +0 -0
  105. /package/defaults/app-with-backend/src/pages/{Home.scss → Home.module.css} +0 -0
  106. /package/defaults/package/src/{types.d.ts → types.ts} +0 -0
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
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
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -37,9 +47,9 @@ const fs_1 = __importDefault(require("fs"));
37
47
  const webpack_bundle_analyzer_1 = require("webpack-bundle-analyzer");
38
48
  const terser_webpack_plugin_1 = __importDefault(require("terser-webpack-plugin"));
39
49
  const utils_js_1 = require("./utils.js");
40
- const plugin_js_1 = __importDefault(require("tailwindcss/plugin.js"));
41
50
  const LinkedFileStorage_1 = require("lincd/utils/LinkedFileStorage");
42
51
  const postcss_url_1 = __importDefault(require("postcss-url"));
52
+ // import { addLincdSourcesPlugin } from './plugins/lincd-tailwind-sources';
43
53
  const isProduction = process.env.NODE_ENV === 'production';
44
54
  const isDevelopment = process.env.NODE_ENV === 'development';
45
55
  const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.resolve(process.cwd(), 'package.json'), 'utf-8'));
@@ -48,19 +58,59 @@ class WatchRunPlugin {
48
58
  apply(compiler) {
49
59
  compiler.hooks.watchRun.tap('watchRun', (comp) => {
50
60
  if (comp.modifiedFiles) {
51
- const changedFiles = Array.from(comp.modifiedFiles, (file) => `\n ${file}`).join('');
52
- if (changedFiles.length) {
53
- console.log(chalk_1.default.magenta('Changed files:'), changedFiles);
54
- }
61
+ const changedFiles = Array.from(comp.modifiedFiles);
62
+ console.log(chalk_1.default.magenta('Changed files sorted by \'modified time\' stamps:'));
63
+ const entriesToCheck = [];
64
+ changedFiles.forEach((file) => {
65
+ try {
66
+ const stat = fs_1.default.statSync(file.toString());
67
+ console.log(` ${chalk_1.default.magenta(file)}`);
68
+ entriesToCheck.push({ path: file, mtime: stat.mtime });
69
+ if (stat.isDirectory()) {
70
+ const contents = fs_1.default.readdirSync(file.toString());
71
+ contents.forEach((name) => {
72
+ const fullPath = path_1.default.join(file.toString(), name);
73
+ try {
74
+ const innerStat = fs_1.default.statSync(fullPath);
75
+ //if less than 2 minutes ago...
76
+ if (innerStat.mtime > new Date(Date.now() - 2 * 60 * 1000)) {
77
+ entriesToCheck.push({ path: fullPath, mtime: innerStat.mtime });
78
+ }
79
+ }
80
+ catch (e) {
81
+ entriesToCheck.push({ path: fullPath, mtime: new Date(0), error: e.message });
82
+ }
83
+ });
84
+ }
85
+ }
86
+ catch (err) {
87
+ entriesToCheck.push({ path: file, mtime: new Date(0), error: err.message });
88
+ }
89
+ });
90
+ entriesToCheck
91
+ .sort((a, b) => b.mtime - a.mtime)
92
+ .splice(0, 3)
93
+ .forEach((entry) => {
94
+ const label = entry.error
95
+ ? `[error: ${entry.error}]`
96
+ : `[${entry.mtime.toISOString()}]`;
97
+ console.log(` ${entry.path} ${label}`);
98
+ });
55
99
  }
56
100
  });
57
101
  }
58
102
  }
103
+ /**
104
+ * Converts a css class name to a unique scoped name (for CSS Modules)
105
+ * @param context
106
+ * @param currentFormat
107
+ * @param name
108
+ */
59
109
  function getLocalIdent(context, currentFormat, name) {
60
- return isProduction ? (0, utils_js_1.generateScopedNameProduction)(name, context.resourcePath) : (0, utils_js_1.generateScopedName)(name, context.resourcePath);
110
+ // return isProduction ? generateScopedNameProduction(name,context.resourcePath) : generateScopedName(name,context.resourcePath);
111
+ return (0, utils_js_1.generateScopedName)(name, context.resourcePath);
61
112
  }
62
113
  const getLincdConfig = async () => {
63
- var _a;
64
114
  const lincdConfigPathJs = path_1.default.resolve(process.cwd(), 'lincd.config.js');
65
115
  const lincdConfigPathJson = path_1.default.resolve(process.cwd(), 'lincd.config.json');
66
116
  //default config
@@ -75,8 +125,8 @@ const getLincdConfig = async () => {
75
125
  config = { ...config, ...packageJson.lincdApp };
76
126
  }
77
127
  else if (fs_1.default.existsSync(lincdConfigPathJs)) {
78
- let lincdConfig = await (_a = lincdConfigPathJs, Promise.resolve().then(() => __importStar(require(_a))));
79
- config = { ...config, ...lincdConfig };
128
+ let lincdConfig = await Promise.resolve(`${lincdConfigPathJs}`).then(s => __importStar(require(s)));
129
+ config = { ...config, ...lincdConfig.default };
80
130
  }
81
131
  else if (fs_1.default.existsSync(lincdConfigPathJson)) {
82
132
  let lincdConfig = JSON.parse(fs_1.default.readFileSync(lincdConfigPathJson, 'utf-8'));
@@ -91,73 +141,18 @@ const getLincdConfig = async () => {
91
141
  };
92
142
  exports.getLincdConfig = getLincdConfig;
93
143
  const getWebpackAppConfig = async () => {
94
- var _a;
95
- // get from the project's config-frontend file
96
- await (_a = path_1.default.join(process.cwd(), 'scripts', 'storage-config.js'), Promise.resolve().then(() => __importStar(require(_a))));
144
+ // set up the storage config for the app
145
+ await Promise.resolve(`${path_1.default.join(process.cwd(), 'scripts', 'storage-config.js')}`).then(s => __importStar(require(s)));
97
146
  const accessURL = LinkedFileStorage_1.LinkedFileStorage.accessURL;
98
- // Should relate to the use of express.static() in LincdServer.tsx, which makes the build files available through a URL
147
+ // set up the public path for the app
148
+ // This should match the use of express.static() in LincdServer.tsx, which makes the build files available through a URL
99
149
  const publicPath = '/public';
100
150
  const bundlesPath = publicPath + '/bundles/';
101
- // ASSET_PATH mostly used for the apps to load the assets from the correct path
151
+ // ASSET_PATH is used load the assets from the correct path
102
152
  const ASSET_PATH = process.env.ASSET_PATH || accessURL ? accessURL + bundlesPath : bundlesPath;
103
153
  let config = await (0, exports.getLincdConfig)();
104
- let postcssPlugins = [
105
- (0, postcss_url_1.default)({
106
- url: (asset) => {
107
- return `${accessURL}${publicPath}${asset.url}`;
108
- },
109
- }),
110
- ];
111
- if (config.cssMode === 'scss-modules' ||
112
- config.cssMode === 'scss' ||
113
- config.cssMode === 'mixed') {
114
- postcssPlugins = postcssPlugins.concat([
115
- // ['stylelint', {
116
- // 'extends': [
117
- // 'stylelint-config-standard'
118
- // ],
119
- // 'plugins': ['stylelint-scss'],
120
- // 'rules': {
121
- // 'at-rule-no-unknown': null,
122
- // 'scss/at-rule-no-unknown': [
123
- // true,
124
- // {
125
- // ignoreAtRules: [
126
- // 'tailwind',
127
- // 'apply',
128
- // 'variants',
129
- // 'responsive',
130
- // 'screen',
131
- // ],
132
- // },
133
- // ],
134
- // 'no-descending-specificity': null,
135
- // 'at-rule-empty-line-before':null,
136
- // 'rule-empty-line-before': null,
137
- // 'no-missing-end-of-source-newline': null,
138
- // 'max-line-length': null,
139
- // 'color-function-notation': null,
140
- // 'alpha-value-notation': null,
141
- // 'number-max-precision':null,
142
- // },
143
- // }],
144
- 'postcss-preset-env',
145
- isProduction && 'cssnano',
146
- // "postcss-reporter",
147
- ]);
148
- if (config.cssMode === 'scss-modules' || config.cssMode === 'mixed') {
149
- // postcssPlugins.push([
150
- // 'postcss-modules',
151
- // {
152
- // generateScopedName: generateScopedName,
153
- // globalModulePaths: (Array.isArray(config.cssGlobalModulePaths)
154
- // ? [/tailwind/, ...config.cssGlobalModulePaths]
155
- // : [/tailwind/, config.cssGlobalModulePaths]
156
- // ).filter(Boolean),
157
- // },
158
- // ]);
159
- }
160
- }
154
+ let postcssPlugins = [];
155
+ //tailwind first (so its processed last and doesn't overwrite custom CSS modules)
161
156
  if (config.cssMode === 'tailwind' || config.cssMode === 'mixed') {
162
157
  //make sure that tailwind classes from any LINCD packages that are listed in package.json:dependencies are included
163
158
  let lincdPackagePaths = (0, utils_js_1.getLINCDDependencies)(packageJson);
@@ -168,40 +163,212 @@ const getWebpackAppConfig = async () => {
168
163
  // chalk.blueBright('tailwind content: ') + chalk.magenta(['./frontend/src/**/*.{tsx,ts}', ...lincdPackagePaths]),
169
164
  // );
170
165
  postcssPlugins.push([
171
- 'tailwindcss',
166
+ '@tailwindcss/postcss',
172
167
  {
173
- content: [
174
- (process.env.SOURCE_PATH || './src/') + '**/*.{tsx,ts}',
175
- ...lincdPackagePaths,
176
- ],
177
- safelist: isProduction
178
- ? {}
179
- : {
180
- //in development mode we allow all classes here, so that you can easily develop
181
- pattern: /./,
182
- variants: ['sm', 'md', 'lg', 'xl', '2xl'],
183
- },
184
- theme: {
185
- extend: {
186
- colors: (0, utils_js_1.getLinkedTailwindColors)(),
187
- },
168
+ content: {
169
+ files: [
170
+ (process.env.SOURCE_PATH || './src/') + '**/*.{js}',
171
+ // ...lincdPackagePaths,
172
+ ]
188
173
  },
174
+ // config: {
175
+ // content: {
176
+ // files:[
177
+ // (process.env.SOURCE_PATH || './src/') + '**/*.{tsx,ts}',
178
+ // ...lincdPackagePaths,
179
+ // ]
180
+ // },
181
+ // // plugins:[
182
+ // // addLincdSourcesPlugin(),
183
+ // // ]
184
+ // },
185
+ // content: [
186
+ // (process.env.SOURCE_PATH || './src/') + '**/*.{tsx,ts}',
187
+ // ...lincdPackagePaths,
188
+ // ],
189
+ // safelist: isProduction
190
+ // ? {}
191
+ // : {
192
+ // //in development mode we allow all classes here, so that you can easily develop
193
+ // pattern: /./,
194
+ // variants: ['sm','md','lg','xl','2xl'],
195
+ // },
196
+ // features: {
197
+ // themeVariables: {
198
+ // generateAll: true,
199
+ // },
200
+ // },
201
+ // theme: {
202
+ // extend: {
203
+ // colors: getLinkedTailwindColors(),
204
+ // },
205
+ // },
189
206
  plugins: [
190
- (0, plugin_js_1.default)(function ({ addBase, config }) {
191
- //we can use LINCD CSS variables for default font color, size etc.
192
- // addBase({
193
- // 'h1': { fontSize: config('theme.fontSize.2xl') },
194
- // 'h2': { fontSize: config('theme.fontSize.xl') },
195
- // 'h3': { fontSize: config('theme.fontSize.lg') },
196
- // })
197
- }),
207
+ // plugin(function({ addBase, theme }) {
208
+ //add styles to the base styles
209
+ //this replicates the preflight settings of tailwind v4, but without the destructive/strict #/# selectors
210
+ // addBase({
211
+ // // Reset all elements except common inline tags and semantic containers
212
+ // '*:not(code):not(pre):not(kbd):not(samp):not(mark):not(q):not(ins):not(del):not(span):not(a):not(b):not(i):not(em):not(u):not(s):not(small):not(strong):not(sub):not(sup), ::before, ::after': {
213
+ // boxSizing: 'border-box',
214
+ // margin: '0',
215
+ // padding: '0',
216
+ // borderWidth: '0',
217
+ // borderStyle: 'solid',
218
+ // borderColor: 'currentColor',
219
+ // },
220
+ // html: {
221
+ // lineHeight: '1.5',
222
+ // textSizeAdjust: '100%',
223
+ // WebkitTextSizeAdjust: '100%',
224
+ // MozTextSizeAdjust: '100%',
225
+ // fontFamily: 'system-ui, sans-serif',
226
+ // },
227
+ // body: {
228
+ // margin: '0',
229
+ // lineHeight: 'inherit',
230
+ // backgroundColor: 'white',
231
+ // },
232
+ // hr: {
233
+ // height: '0',
234
+ // color: 'inherit',
235
+ // borderTopWidth: '1px',
236
+ // },
237
+ // abbr: {
238
+ // textDecoration: 'underline dotted',
239
+ // },
240
+ // 'b, strong': {
241
+ // fontWeight: 'bolder',
242
+ // },
243
+ // 'code, kbd, samp, pre': {
244
+ // fontFamily: 'ui-monospace, SFMono-Regular, Menlo, monospace',
245
+ // fontSize: '1em',
246
+ // },
247
+ // small: {
248
+ // fontSize: '80%',
249
+ // },
250
+ // 'sub, sup': {
251
+ // fontSize: '75%',
252
+ // lineHeight: '0',
253
+ // position: 'relative',
254
+ // verticalAlign: 'baseline',
255
+ // },
256
+ // sub: { bottom: '-0.25em' },
257
+ // sup: { top: '-0.5em' },
258
+ // table: {
259
+ // textIndent: '0',
260
+ // borderColor: 'inherit',
261
+ // borderCollapse: 'collapse',
262
+ // },
263
+ // 'button, input, optgroup, select, textarea': {
264
+ // font: 'inherit',
265
+ // color: 'inherit',
266
+ // margin: '0',
267
+ // padding: '0',
268
+ // lineHeight: 'inherit',
269
+ // backgroundColor: 'transparent',
270
+ // borderColor: 'inherit',
271
+ // },
272
+ // 'button, select': {
273
+ // textTransform: 'none',
274
+ // },
275
+ // 'button, [type="button"], [type="reset"], [type="submit"]': {
276
+ // appearance: 'button',
277
+ // WebkitAppearance: 'button',
278
+ // },
279
+ // '::-moz-focus-inner': {
280
+ // borderStyle: 'none',
281
+ // padding: '0',
282
+ // },
283
+ // ':-moz-focusring': {
284
+ // outline: 'auto',
285
+ // },
286
+ // ':-moz-ui-invalid': {
287
+ // boxShadow: 'none',
288
+ // },
289
+ // fieldset: {
290
+ // margin: '0',
291
+ // padding: '0',
292
+ // border: '0',
293
+ // },
294
+ // legend: {
295
+ // padding: '0',
296
+ // },
297
+ // });
298
+ // }),
198
299
  ],
300
+ // plugins: [
301
+ // tailwindPlugin(function({ addBase,config }) {
302
+ // //we can use LINCD CSS variables for default font color, size etc.
303
+ // // addBase({
304
+ // // 'h1': { fontSize: config('theme.fontSize.2xl') },
305
+ // // 'h2': { fontSize: config('theme.fontSize.xl') },
306
+ // // 'h3': { fontSize: config('theme.fontSize.lg') },
307
+ // // })
308
+ // }),
309
+ // ],
199
310
  },
200
311
  ]);
201
312
  }
313
+ else {
314
+ //if not using tailwind, then we use postcss-nested to enable nesting of css
315
+ postcssPlugins.push(['postcss-import', {}], ['postcss-preset-env', {
316
+ features: { 'nesting-rules': true },
317
+ }]);
318
+ }
319
+ //Add plugin which converts URLs in CSS to the correct FULL absolute path
320
+ postcssPlugins.push([
321
+ (0, postcss_url_1.default)({
322
+ url: (asset) => {
323
+ //TODO: for assets of packages, we want to detect the package path and resolve through node_modules/package-name/...something/assets
324
+ if (!asset.url.startsWith('data:')) {
325
+ // console.log('Transform CSS URL:'+asset.url);
326
+ return `${accessURL}${publicPath}${asset.url}`;
327
+ }
328
+ return asset.url;
329
+ },
330
+ }),
331
+ ]);
332
+ if (config.cssMode === 'scss-modules' ||
333
+ config.cssMode === 'scss' ||
334
+ config.cssMode === 'mixed') {
335
+ postcssPlugins = postcssPlugins.concat([
336
+ // ['stylelint', {
337
+ // 'extends': [
338
+ // 'stylelint-config-standard'
339
+ // ],
340
+ // 'plugins': ['stylelint-scss'],
341
+ // 'rules': {
342
+ // 'at-rule-no-unknown': null,
343
+ // 'scss/at-rule-no-unknown': [
344
+ // true,
345
+ // {
346
+ // ignoreAtRules: [
347
+ // 'tailwind',
348
+ // 'apply',
349
+ // 'variants',
350
+ // 'responsive',
351
+ // 'screen',
352
+ // ],
353
+ // },
354
+ // ],
355
+ // 'no-descending-specificity': null,
356
+ // 'at-rule-empty-line-before':null,
357
+ // 'rule-empty-line-before': null,
358
+ // 'no-missing-end-of-source-newline': null,
359
+ // 'max-line-length': null,
360
+ // 'color-function-notation': null,
361
+ // 'alpha-value-notation': null,
362
+ // 'number-max-precision':null,
363
+ // },
364
+ // }],
365
+ // isProduction && 'cssnano',
366
+ // "postcss-reporter",
367
+ ]);
368
+ }
202
369
  return {
203
370
  mode: isProduction ? 'production' : 'development',
204
- devtool: isProduction ? 'source-map' : 'cheap-module-source-map',
371
+ devtool: isProduction ? 'source-map' : 'eval-cheap-module-source-map',
205
372
  entry: [
206
373
  isDevelopment && 'webpack-hot-middleware/client',
207
374
  path_1.default.resolve(process.cwd(), process.env.ENTRY_PATH ||
@@ -217,7 +384,8 @@ const getWebpackAppConfig = async () => {
217
384
  clean: true,
218
385
  },
219
386
  watchOptions: {
220
- ignored: ['**/*.d.ts', '**/*.js.map', '**/*.scss.json'],
387
+ //ignore everything except the src folder. ignore specific files in the src folder
388
+ ignored: /(^((?!src).)*$|\.d\.ts$|\.js\.map$|\.scss\.json$|public|\.idea|[/\\]\..*)/,
221
389
  aggregateTimeout: 500,
222
390
  },
223
391
  devServer: {
@@ -227,12 +395,10 @@ const getWebpackAppConfig = async () => {
227
395
  },
228
396
  plugins: [
229
397
  // new WatchRunPlugin(),
230
- // new RebuildScssJsonPlugin(),
231
398
  new mini_css_extract_plugin_1.default({
232
399
  ignoreOrder: true
233
400
  }),
234
401
  new webpack_1.default.EnvironmentPlugin(Object.keys(process.env)),
235
- // new ForkTsCheckerWebpackPlugin(),
236
402
  isDevelopment && new react_refresh_webpack_plugin_1.default(),
237
403
  isDevelopment && new webpack_1.default.HotModuleReplacementPlugin(),
238
404
  config.analyse && new webpack_bundle_analyzer_1.BundleAnalyzerPlugin(),
@@ -252,11 +418,11 @@ const getWebpackAppConfig = async () => {
252
418
  importLoaders: 1,
253
419
  modules: {
254
420
  mode: 'local',
255
- // namedExport:true,
256
- // exportOnlyLocals:true,
257
421
  getLocalIdent: getLocalIdent,
258
- localIdentName: '[local]--[hash:base64:6]',
259
- // localIdentName: "[path][name]__[local]--[hash:base64:5]",
422
+ auto: (resourcePath) => {
423
+ //make sure this only applies to .module.css files, and not to tailwind
424
+ return /\.module\.css$/i.test(resourcePath) && !/tailwind/i.test(resourcePath);
425
+ }
260
426
  },
261
427
  },
262
428
  },
@@ -268,31 +434,8 @@ const getWebpackAppConfig = async () => {
268
434
  },
269
435
  },
270
436
  },
271
- {
272
- loader: 'sass-loader',
273
- options: { sourceMap: true },
274
- },
275
437
  ],
276
438
  },
277
- // {
278
- // test: /\.(ts|tsx)$/,
279
- // exclude: /node_modules/,
280
- // include: [path.join(process.cwd(),"frontend")], // only bundle files in this directory
281
- // use: {
282
- // loader: "babel-loader", // cf. .babelrc.json in this folder and browser list in package.json
283
- // options: {
284
- // plugins: isDevelopment ? ["react-refresh/babel"] : [],
285
- // cacheCompression: false,
286
- // cacheDirectory: true,
287
- // },
288
- // },
289
- // },
290
- // {
291
- // test: /\.m?js/,
292
- // resolve: {
293
- // fullySpecified: false
294
- // }
295
- // },
296
439
  {
297
440
  test: /\.tsx?$/,
298
441
  use: [
@@ -343,6 +486,7 @@ const getWebpackAppConfig = async () => {
343
486
  resolve: {
344
487
  extensions: ['.tsx', '.ts', '.js', '.css', '.scss', '.json'],
345
488
  alias: config.alias || {},
489
+ // traceResolution: true
346
490
  },
347
491
  //Cache is now overwritten in LincdServer based on config, the other value for type would be 'filesystem'
348
492
  //see also https://webpack.js.org/configuration/other-options/#cache
@@ -1 +1 @@
1
- {"version":3,"file":"config-webpack-app.js","sourceRoot":"","sources":["../../src/config-webpack-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-webpack-app.js","sourceRoot":"","sources":["../../src/config-webpack-app.ts"],"names":[],"mappings":"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"}