lincd-cli 1.1.9 → 1.2.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 (97) hide show
  1. package/defaults/app-static/.env-cmdrc.json +17 -0
  2. package/defaults/app-static/package.json +8 -0
  3. package/defaults/app-static/src/index-static.tsx +3 -3
  4. package/defaults/app-with-backend/.env-cmdrc.json +1 -4
  5. package/defaults/app-with-backend/package.json +8 -9
  6. package/defaults/app-with-backend/scripts/storage-config.js +2 -2
  7. package/defaults/app-with-backend/src/package.ts +1 -2
  8. package/defaults/component.tsx +1 -3
  9. package/defaults/package/package.json +2 -2
  10. package/defaults/package/src/index.ts +1 -0
  11. package/defaults/package/src/ontologies/example-ontology.ts +10 -3
  12. package/defaults/package/src/package.ts +11 -3
  13. package/defaults/package/src/types.d.ts +9 -0
  14. package/defaults/package/tsconfig-cjs.json +8 -0
  15. package/defaults/package/tsconfig-esm.json +9 -0
  16. package/defaults/set-component.tsx +2 -5
  17. package/defaults/shape.ts +2 -2
  18. package/lib/{cli-methods.js → cjs/cli-methods.js} +665 -291
  19. package/lib/cjs/cli-methods.js.map +1 -0
  20. package/lib/cjs/cli.js +202 -0
  21. package/lib/cjs/cli.js.map +1 -0
  22. package/lib/{config-grunt.js → cjs/config-grunt.cjs} +15 -13
  23. package/lib/cjs/config-grunt.cjs.map +1 -0
  24. package/lib/cjs/config-webpack-app.js +353 -0
  25. package/lib/cjs/config-webpack-app.js.map +1 -0
  26. package/lib/cjs/config-webpack.js +436 -0
  27. package/lib/cjs/config-webpack.js.map +1 -0
  28. package/lib/{index.js → cjs/index.js} +3 -5
  29. package/lib/cjs/index.js.map +1 -0
  30. package/lib/{interfaces.js.map → cjs/interfaces.js.map} +1 -1
  31. package/lib/cjs/loaders/css-loader.mjs +82 -0
  32. package/lib/cjs/loaders/css-loader.mjs.map +1 -0
  33. package/lib/cjs/loaders/register.js +6 -0
  34. package/lib/cjs/loaders/register.js.map +1 -0
  35. package/lib/cjs/metadata.js +155 -0
  36. package/lib/cjs/metadata.js.map +1 -0
  37. package/lib/cjs/package.json +140 -0
  38. package/lib/cjs/plugins/check-imports.js.map +1 -0
  39. package/lib/cjs/plugins/declaration-plugin.js +275 -0
  40. package/lib/cjs/plugins/declaration-plugin.js.map +1 -0
  41. package/lib/cjs/plugins/externalise-modules.js +190 -0
  42. package/lib/cjs/plugins/externalise-modules.js.map +1 -0
  43. package/lib/cjs/plugins/watch-run.js.map +1 -0
  44. package/lib/{utils.js → cjs/utils.js} +23 -18
  45. package/lib/cjs/utils.js.map +1 -0
  46. package/lib/esm/cli-methods.js +1966 -0
  47. package/lib/esm/cli-methods.js.map +1 -0
  48. package/lib/{cli.js → esm/cli.js} +59 -44
  49. package/lib/esm/cli.js.map +1 -0
  50. package/lib/esm/config-grunt.cjs +270 -0
  51. package/lib/esm/config-grunt.cjs.map +1 -0
  52. package/lib/esm/config-webpack-app.js +326 -0
  53. package/lib/esm/config-webpack-app.js.map +1 -0
  54. package/lib/{config-webpack.js → esm/config-webpack.js} +27 -39
  55. package/lib/esm/config-webpack.js.map +1 -0
  56. package/lib/esm/index.js +9 -0
  57. package/lib/esm/index.js.map +1 -0
  58. package/lib/esm/interfaces.js +2 -0
  59. package/lib/esm/interfaces.js.map +1 -0
  60. package/lib/esm/loaders/css-loader.mjs +75 -0
  61. package/lib/esm/loaders/css-loader.mjs.map +1 -0
  62. package/lib/esm/loaders/register.js +4 -0
  63. package/lib/esm/loaders/register.js.map +1 -0
  64. package/lib/esm/metadata.js +155 -0
  65. package/lib/esm/metadata.js.map +1 -0
  66. package/lib/esm/package.json +140 -0
  67. package/lib/esm/plugins/check-imports.js +65 -0
  68. package/lib/esm/plugins/check-imports.js.map +1 -0
  69. package/lib/{plugins → esm/plugins}/declaration-plugin.js +9 -8
  70. package/lib/esm/plugins/declaration-plugin.js.map +1 -0
  71. package/lib/{plugins → esm/plugins}/externalise-modules.js +5 -6
  72. package/lib/esm/plugins/externalise-modules.js.map +1 -0
  73. package/lib/esm/plugins/watch-run.js +44 -0
  74. package/lib/esm/plugins/watch-run.js.map +1 -0
  75. package/lib/esm/utils.js +479 -0
  76. package/lib/esm/utils.js.map +1 -0
  77. package/package.json +53 -15
  78. package/tsconfig-cjs.json +9 -0
  79. package/tsconfig-esm.json +10 -0
  80. package/lib/cli-methods.js.map +0 -1
  81. package/lib/cli.js.map +0 -1
  82. package/lib/config-grunt.js.map +0 -1
  83. package/lib/config-webpack-app.js +0 -367
  84. package/lib/config-webpack-app.js.map +0 -1
  85. package/lib/config-webpack.js.map +0 -1
  86. package/lib/index.js.map +0 -1
  87. package/lib/metadata.js +0 -149
  88. package/lib/metadata.js.map +0 -1
  89. package/lib/plugins/check-imports.js.map +0 -1
  90. package/lib/plugins/declaration-plugin.js.map +0 -1
  91. package/lib/plugins/externalise-modules.js.map +0 -1
  92. package/lib/plugins/watch-run.js.map +0 -1
  93. package/lib/utils.js.map +0 -1
  94. /package/{expose-grunt.js → expose-grunt.cjs} +0 -0
  95. /package/lib/{interfaces.js → cjs/interfaces.js} +0 -0
  96. /package/lib/{plugins → cjs/plugins}/check-imports.js +0 -0
  97. /package/lib/{plugins → cjs/plugins}/watch-run.js +0 -0
@@ -0,0 +1,353 @@
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 (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
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.getWebpackAppConfig = exports.getLincdConfig = void 0;
30
+ const path_1 = __importDefault(require("path"));
31
+ const chalk_1 = __importDefault(require("chalk"));
32
+ const react_refresh_typescript_1 = __importDefault(require("react-refresh-typescript"));
33
+ const react_refresh_webpack_plugin_1 = __importDefault(require("@pmmmwh/react-refresh-webpack-plugin"));
34
+ const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
35
+ const webpack_1 = __importDefault(require("webpack"));
36
+ const fs_1 = __importDefault(require("fs"));
37
+ const webpack_bundle_analyzer_1 = require("webpack-bundle-analyzer");
38
+ const terser_webpack_plugin_1 = __importDefault(require("terser-webpack-plugin"));
39
+ const utils_js_1 = require("./utils.js");
40
+ const plugin_js_1 = __importDefault(require("tailwindcss/plugin.js"));
41
+ const LinkedFileStorage_1 = require("lincd/utils/LinkedFileStorage");
42
+ const postcss_url_1 = __importDefault(require("postcss-url"));
43
+ const isProduction = process.env.NODE_ENV === 'production';
44
+ const isDevelopment = process.env.NODE_ENV === 'development';
45
+ const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.resolve(process.cwd(), 'package.json'), 'utf-8'));
46
+ const cssModes = ['scss-modules', 'tailwind', 'scss', 'mixed'];
47
+ class WatchRunPlugin {
48
+ apply(compiler) {
49
+ compiler.hooks.watchRun.tap('watchRun', (comp) => {
50
+ 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
+ }
55
+ }
56
+ });
57
+ }
58
+ }
59
+ function getLocalIdent(context, currentFormat, name) {
60
+ return isProduction ? (0, utils_js_1.generateScopedNameProduction)(name, context.resourcePath) : (0, utils_js_1.generateScopedName)(name, context.resourcePath);
61
+ }
62
+ const getLincdConfig = async () => {
63
+ var _a;
64
+ const lincdConfigPathJs = path_1.default.resolve(process.cwd(), 'lincd.config.js');
65
+ const lincdConfigPathJson = path_1.default.resolve(process.cwd(), 'lincd.config.json');
66
+ //default config
67
+ let config = {
68
+ //scss-modules is default
69
+ cssMode: cssModes[0],
70
+ analyse: false,
71
+ };
72
+ //overwriting config from package.json.lincdApp or lincd.config.js(on) file
73
+ if (typeof packageJson.lincdApp === 'object') {
74
+ //overwrite default with anything that's defined in lincdApp in package.json
75
+ config = { ...config, ...packageJson.lincdApp };
76
+ }
77
+ else if (fs_1.default.existsSync(lincdConfigPathJs)) {
78
+ let lincdConfig = await (_a = lincdConfigPathJs, Promise.resolve().then(() => __importStar(require(_a))));
79
+ config = { ...config, ...lincdConfig };
80
+ }
81
+ else if (fs_1.default.existsSync(lincdConfigPathJson)) {
82
+ let lincdConfig = JSON.parse(fs_1.default.readFileSync(lincdConfigPathJson, 'utf-8'));
83
+ config = { ...config, ...lincdConfig };
84
+ }
85
+ if (!cssModes.includes(config.cssMode)) {
86
+ console.warn('Invalid value for property cssMode. Should be one of: ' +
87
+ cssModes.join(', '));
88
+ process.exit();
89
+ }
90
+ return config;
91
+ };
92
+ exports.getLincdConfig = getLincdConfig;
93
+ 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))));
97
+ 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
99
+ const publicPath = '/public';
100
+ const bundlesPath = publicPath + '/bundles/';
101
+ // ASSET_PATH mostly used for the apps to load the assets from the correct path
102
+ const ASSET_PATH = process.env.ASSET_PATH || accessURL ? accessURL + bundlesPath : bundlesPath;
103
+ 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
+ }
161
+ if (config.cssMode === 'tailwind' || config.cssMode === 'mixed') {
162
+ //make sure that tailwind classes from any LINCD packages that are listed in package.json:dependencies are included
163
+ let lincdPackagePaths = (0, utils_js_1.getLINCDDependencies)(packageJson);
164
+ lincdPackagePaths = lincdPackagePaths.map(([packageName, packagePath]) => {
165
+ return packagePath + '/lib/**/*.{js,mjs}';
166
+ });
167
+ // console.log(
168
+ // chalk.blueBright('tailwind content: ') + chalk.magenta(['./frontend/src/**/*.{tsx,ts}', ...lincdPackagePaths]),
169
+ // );
170
+ postcssPlugins.push([
171
+ 'tailwindcss',
172
+ {
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
+ },
188
+ },
189
+ 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
+ }),
198
+ ],
199
+ },
200
+ ]);
201
+ }
202
+ return {
203
+ mode: isProduction ? 'production' : 'development',
204
+ devtool: isProduction ? 'source-map' : 'cheap-module-source-map',
205
+ entry: [
206
+ isDevelopment && 'webpack-hot-middleware/client',
207
+ path_1.default.resolve(process.cwd(), process.env.ENTRY_PATH ||
208
+ (process.env.SOURCE_PATH
209
+ ? process.env.SOURCE_PATH + '/index.tsx'
210
+ : './src/index.tsx')),
211
+ ].filter(Boolean),
212
+ watch: isDevelopment || config.analyse,
213
+ output: {
214
+ path: path_1.default.resolve(process.cwd(), process.env.OUTPUT_PATH || './public/bundles'),
215
+ filename: '[name].bundle.js',
216
+ publicPath: ASSET_PATH,
217
+ clean: true,
218
+ },
219
+ watchOptions: {
220
+ ignored: ['**/*.d.ts', '**/*.js.map', '**/*.scss.json'],
221
+ aggregateTimeout: 500,
222
+ },
223
+ devServer: {
224
+ client: {
225
+ progress: false,
226
+ },
227
+ },
228
+ plugins: [
229
+ // new WatchRunPlugin(),
230
+ // new RebuildScssJsonPlugin(),
231
+ new mini_css_extract_plugin_1.default({
232
+ ignoreOrder: true
233
+ }),
234
+ new webpack_1.default.EnvironmentPlugin(Object.keys(process.env)),
235
+ // new ForkTsCheckerWebpackPlugin(),
236
+ isDevelopment && new react_refresh_webpack_plugin_1.default(),
237
+ isDevelopment && new webpack_1.default.HotModuleReplacementPlugin(),
238
+ config.analyse && new webpack_bundle_analyzer_1.BundleAnalyzerPlugin(),
239
+ ...(Array.isArray(config.plugins) ? config.plugins : []),
240
+ ].filter(Boolean),
241
+ externals: config.externals || {},
242
+ module: {
243
+ rules: [
244
+ {
245
+ test: /\.(scss|css)$/,
246
+ use: [
247
+ mini_css_extract_plugin_1.default.loader,
248
+ {
249
+ loader: 'css-loader',
250
+ options: {
251
+ url: false,
252
+ importLoaders: 1,
253
+ modules: {
254
+ mode: 'local',
255
+ // namedExport:true,
256
+ // exportOnlyLocals:true,
257
+ getLocalIdent: getLocalIdent,
258
+ localIdentName: '[local]--[hash:base64:6]',
259
+ // localIdentName: "[path][name]__[local]--[hash:base64:5]",
260
+ },
261
+ },
262
+ },
263
+ {
264
+ loader: 'postcss-loader',
265
+ options: {
266
+ postcssOptions: {
267
+ plugins: postcssPlugins,
268
+ },
269
+ },
270
+ },
271
+ {
272
+ loader: 'sass-loader',
273
+ options: { sourceMap: true },
274
+ },
275
+ ],
276
+ },
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
+ {
297
+ test: /\.tsx?$/,
298
+ use: [
299
+ {
300
+ loader: 'ts-loader?' +
301
+ JSON.stringify({
302
+ compilerOptions: {
303
+ //this is required for dynamic imports & code splitting
304
+ module: 'esnext',
305
+ moduleResolution: 'node',
306
+ sourceMap: isDevelopment,
307
+ plugins: [{ 'name': 'typescript-plugin-css-modules' }],
308
+ },
309
+ }),
310
+ options: {
311
+ ...(isDevelopment
312
+ ? {
313
+ getCustomTransformers: () => ({
314
+ before: [(0, react_refresh_typescript_1.default)()],
315
+ }),
316
+ }
317
+ : {}),
318
+ transpileOnly: isProduction,
319
+ },
320
+ },
321
+ ],
322
+ exclude: /node_modules/,
323
+ },
324
+ ],
325
+ },
326
+ optimization: {
327
+ minimize: isProduction,
328
+ minimizer: [
329
+ new terser_webpack_plugin_1.default({
330
+ terserOptions: {
331
+ keep_classnames: true,
332
+ },
333
+ }),
334
+ ],
335
+ },
336
+ stats: {
337
+ chunks: false,
338
+ assets: true,
339
+ entrypoints: false,
340
+ children: true,
341
+ modules: false,
342
+ },
343
+ resolve: {
344
+ extensions: ['.tsx', '.ts', '.js', '.css', '.scss', '.json'],
345
+ alias: config.alias || {},
346
+ },
347
+ //Cache is now overwritten in LincdServer based on config, the other value for type would be 'filesystem'
348
+ //see also https://webpack.js.org/configuration/other-options/#cache
349
+ cache: { type: 'memory' },
350
+ };
351
+ };
352
+ exports.getWebpackAppConfig = getWebpackAppConfig;
353
+ //# sourceMappingURL=config-webpack-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-webpack-app.js","sourceRoot":"","sources":["../../src/config-webpack-app.ts"],"names":[],"mappings":"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"}