@_linked/cli 1.2.11

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 (181) hide show
  1. package/.prettierignore +4 -0
  2. package/.prettierrc.json +24 -0
  3. package/CHANGELOG.md +34 -0
  4. package/LICENSE +373 -0
  5. package/README.md +24 -0
  6. package/babel.config.js +11 -0
  7. package/defaults/app-static/.env-cmdrc.json +17 -0
  8. package/defaults/app-static/capacitor.config.ts +40 -0
  9. package/defaults/app-static/package.json +8 -0
  10. package/defaults/app-static/web/apple-touch-icon-144x144.png +0 -0
  11. package/defaults/app-static/web/apple-touch-icon-57x57.png +0 -0
  12. package/defaults/app-static/web/apple-touch-icon-72x72.png +0 -0
  13. package/defaults/app-static/web/index.html +21 -0
  14. package/defaults/app-with-backend/.env-cmdrc.json +17 -0
  15. package/defaults/app-with-backend/.eslintignore +5 -0
  16. package/defaults/app-with-backend/.eslintrc.json +40 -0
  17. package/defaults/app-with-backend/.husky/post-merge +4 -0
  18. package/defaults/app-with-backend/.husky/pre-commit +4 -0
  19. package/defaults/app-with-backend/.prettierignore +4 -0
  20. package/defaults/app-with-backend/.prettierrc.json +27 -0
  21. package/defaults/app-with-backend/.vscode/launch.json +12 -0
  22. package/defaults/app-with-backend/.yarn/plugins/@yarnpkg/plugin-version.cjs +550 -0
  23. package/defaults/app-with-backend/.yarn/releases/yarn-3.6.1.cjs +874 -0
  24. package/defaults/app-with-backend/gitignore.template +24 -0
  25. package/defaults/app-with-backend/lincd.config.js +5 -0
  26. package/defaults/app-with-backend/mrgit-template.json +3 -0
  27. package/defaults/app-with-backend/package.json +86 -0
  28. package/defaults/app-with-backend/pm2-staging.config.js +12 -0
  29. package/defaults/app-with-backend/pm2.config.js +12 -0
  30. package/defaults/app-with-backend/public/favicon-144x144.png +0 -0
  31. package/defaults/app-with-backend/public/favicon-57x57.png +0 -0
  32. package/defaults/app-with-backend/public/favicon-72x72.png +0 -0
  33. package/defaults/app-with-backend/public/favicon.ico +0 -0
  34. package/defaults/app-with-backend/readme.md +19 -0
  35. package/defaults/app-with-backend/scripts/storage-config.js +12 -0
  36. package/defaults/app-with-backend/yarnrc.yml.template +8 -0
  37. package/defaults/component.scss +3 -0
  38. package/defaults/component.tsx +10 -0
  39. package/defaults/package/package.json +66 -0
  40. package/defaults/package/tsconfig-cjs.json +8 -0
  41. package/defaults/package/tsconfig-esm.json +9 -0
  42. package/defaults/set-component.tsx +13 -0
  43. package/defaults/shape.ts +8 -0
  44. package/lib/cjs/cli-deprecated.d.ts.map +1 -0
  45. package/lib/cjs/cli-deprecated.js +30 -0
  46. package/lib/cjs/cli-deprecated.js.map +1 -0
  47. package/lib/cjs/cli-methods.d.ts.map +1 -0
  48. package/lib/cjs/cli-methods.js +2555 -0
  49. package/lib/cjs/cli-methods.js.map +1 -0
  50. package/lib/cjs/cli.d.ts.map +1 -0
  51. package/lib/cjs/cli.js +289 -0
  52. package/lib/cjs/cli.js.map +1 -0
  53. package/lib/cjs/commands/build-package.d.ts.map +1 -0
  54. package/lib/cjs/commands/build-package.js +56 -0
  55. package/lib/cjs/commands/build-package.js.map +1 -0
  56. package/lib/cjs/commands/safe-yarn.d.ts.map +1 -0
  57. package/lib/cjs/commands/safe-yarn.js +67 -0
  58. package/lib/cjs/commands/safe-yarn.js.map +1 -0
  59. package/lib/cjs/config-webpack-app.d.ts.map +1 -0
  60. package/lib/cjs/config-webpack-app.js +397 -0
  61. package/lib/cjs/config-webpack-app.js.map +1 -0
  62. package/lib/cjs/config-webpack.d.ts.map +1 -0
  63. package/lib/cjs/config-webpack.js +408 -0
  64. package/lib/cjs/config-webpack.js.map +1 -0
  65. package/lib/cjs/defineConfig.d.ts.map +1 -0
  66. package/lib/cjs/defineConfig.js +13 -0
  67. package/lib/cjs/defineConfig.js.map +1 -0
  68. package/lib/cjs/index.d.ts.map +1 -0
  69. package/lib/cjs/index.js +39 -0
  70. package/lib/cjs/index.js.map +1 -0
  71. package/lib/cjs/interfaces.d.ts.map +1 -0
  72. package/lib/cjs/interfaces.js +3 -0
  73. package/lib/cjs/interfaces.js.map +1 -0
  74. package/lib/cjs/loaders/css-loader.d.mts +2 -0
  75. package/lib/cjs/loaders/css-loader.d.mts.map +1 -0
  76. package/lib/cjs/loaders/css-loader.mjs +93 -0
  77. package/lib/cjs/loaders/css-loader.mjs.map +1 -0
  78. package/lib/cjs/loaders/register-css-only.d.ts.map +1 -0
  79. package/lib/cjs/loaders/register-css-only.js +11 -0
  80. package/lib/cjs/loaders/register-css-only.js.map +1 -0
  81. package/lib/cjs/loaders/register.d.ts.map +1 -0
  82. package/lib/cjs/loaders/register.js +11 -0
  83. package/lib/cjs/loaders/register.js.map +1 -0
  84. package/lib/cjs/metadata.d.ts.map +1 -0
  85. package/lib/cjs/metadata.js +155 -0
  86. package/lib/cjs/metadata.js.map +1 -0
  87. package/lib/cjs/package.json +134 -0
  88. package/lib/cjs/plugins/check-imports.d.ts.map +1 -0
  89. package/lib/cjs/plugins/check-imports.js +68 -0
  90. package/lib/cjs/plugins/check-imports.js.map +1 -0
  91. package/lib/cjs/plugins/declaration-plugin.d.ts.map +1 -0
  92. package/lib/cjs/plugins/declaration-plugin.js +275 -0
  93. package/lib/cjs/plugins/declaration-plugin.js.map +1 -0
  94. package/lib/cjs/plugins/externalise-modules.d.ts.map +1 -0
  95. package/lib/cjs/plugins/externalise-modules.js +190 -0
  96. package/lib/cjs/plugins/externalise-modules.js.map +1 -0
  97. package/lib/cjs/plugins/lincd-tailwind-sources.d.ts.map +1 -0
  98. package/lib/cjs/plugins/lincd-tailwind-sources.js +32 -0
  99. package/lib/cjs/plugins/lincd-tailwind-sources.js.map +1 -0
  100. package/lib/cjs/plugins/watch-run.d.ts.map +1 -0
  101. package/lib/cjs/plugins/watch-run.js +45 -0
  102. package/lib/cjs/plugins/watch-run.js.map +1 -0
  103. package/lib/cjs/preflight.css +137 -0
  104. package/lib/cjs/tailwind.config.d.ts.map +1 -0
  105. package/lib/cjs/tailwind.config.js +17 -0
  106. package/lib/cjs/tailwind.config.js.map +1 -0
  107. package/lib/cjs/utils.d.ts.map +1 -0
  108. package/lib/cjs/utils.js +575 -0
  109. package/lib/cjs/utils.js.map +1 -0
  110. package/lib/esm/cli-deprecated.d.ts.map +1 -0
  111. package/lib/esm/cli-deprecated.js +7 -0
  112. package/lib/esm/cli-deprecated.js.map +1 -0
  113. package/lib/esm/cli-methods.d.ts.map +1 -0
  114. package/lib/esm/cli-methods.js +2511 -0
  115. package/lib/esm/cli-methods.js.map +1 -0
  116. package/lib/esm/cli.d.ts.map +1 -0
  117. package/lib/esm/cli.js +270 -0
  118. package/lib/esm/cli.js.map +1 -0
  119. package/lib/esm/commands/build-package.d.ts.map +1 -0
  120. package/lib/esm/commands/build-package.js +60 -0
  121. package/lib/esm/commands/build-package.js.map +1 -0
  122. package/lib/esm/commands/safe-yarn.d.ts.map +1 -0
  123. package/lib/esm/commands/safe-yarn.js +71 -0
  124. package/lib/esm/commands/safe-yarn.js.map +1 -0
  125. package/lib/esm/config-webpack-app.d.ts.map +1 -0
  126. package/lib/esm/config-webpack-app.js +372 -0
  127. package/lib/esm/config-webpack-app.js.map +1 -0
  128. package/lib/esm/config-webpack.d.ts.map +1 -0
  129. package/lib/esm/config-webpack.js +374 -0
  130. package/lib/esm/config-webpack.js.map +1 -0
  131. package/lib/esm/defineConfig.d.ts.map +1 -0
  132. package/lib/esm/defineConfig.js +9 -0
  133. package/lib/esm/defineConfig.js.map +1 -0
  134. package/lib/esm/index.d.ts.map +1 -0
  135. package/lib/esm/index.js +12 -0
  136. package/lib/esm/index.js.map +1 -0
  137. package/lib/esm/interfaces.d.ts.map +1 -0
  138. package/lib/esm/interfaces.js +2 -0
  139. package/lib/esm/interfaces.js.map +1 -0
  140. package/lib/esm/loaders/css-loader.d.mts +2 -0
  141. package/lib/esm/loaders/css-loader.d.mts.map +1 -0
  142. package/lib/esm/loaders/css-loader.mjs +86 -0
  143. package/lib/esm/loaders/css-loader.mjs.map +1 -0
  144. package/lib/esm/loaders/register-css-only.d.ts.map +1 -0
  145. package/lib/esm/loaders/register-css-only.js +9 -0
  146. package/lib/esm/loaders/register-css-only.js.map +1 -0
  147. package/lib/esm/loaders/register.d.ts.map +1 -0
  148. package/lib/esm/loaders/register.js +9 -0
  149. package/lib/esm/loaders/register.js.map +1 -0
  150. package/lib/esm/metadata.d.ts.map +1 -0
  151. package/lib/esm/metadata.js +155 -0
  152. package/lib/esm/metadata.js.map +1 -0
  153. package/lib/esm/package.json +134 -0
  154. package/lib/esm/plugins/check-imports.d.ts.map +1 -0
  155. package/lib/esm/plugins/check-imports.js +65 -0
  156. package/lib/esm/plugins/check-imports.js.map +1 -0
  157. package/lib/esm/plugins/declaration-plugin.d.ts.map +1 -0
  158. package/lib/esm/plugins/declaration-plugin.js +246 -0
  159. package/lib/esm/plugins/declaration-plugin.js.map +1 -0
  160. package/lib/esm/plugins/externalise-modules.d.ts.map +1 -0
  161. package/lib/esm/plugins/externalise-modules.js +185 -0
  162. package/lib/esm/plugins/externalise-modules.js.map +1 -0
  163. package/lib/esm/plugins/lincd-tailwind-sources.d.ts.map +1 -0
  164. package/lib/esm/plugins/lincd-tailwind-sources.js +27 -0
  165. package/lib/esm/plugins/lincd-tailwind-sources.js.map +1 -0
  166. package/lib/esm/plugins/watch-run.d.ts.map +1 -0
  167. package/lib/esm/plugins/watch-run.js +44 -0
  168. package/lib/esm/plugins/watch-run.js.map +1 -0
  169. package/lib/esm/preflight.css +137 -0
  170. package/lib/esm/tailwind.config.d.ts.map +1 -0
  171. package/lib/esm/tailwind.config.js +12 -0
  172. package/lib/esm/tailwind.config.js.map +1 -0
  173. package/lib/esm/utils.d.ts.map +1 -0
  174. package/lib/esm/utils.js +530 -0
  175. package/lib/esm/utils.js.map +1 -0
  176. package/lib-template/cjs/package.json +3 -0
  177. package/lib-template/esm/package.json +3 -0
  178. package/package.json +155 -0
  179. package/preflight.css +137 -0
  180. package/tsconfig-cjs.json +9 -0
  181. package/tsconfig-esm.json +10 -0
@@ -0,0 +1,374 @@
1
+ import * as colors from 'colors';
2
+ import DeclarationPlugin from './plugins/declaration-plugin';
3
+ import externaliseModules from './plugins/externalise-modules';
4
+ import WatchRunPlugin from './plugins/watch-run';
5
+ import { generateScopedName, getPackageJSON, warn } from './utils';
6
+ // console.log('Webpack '+require('webpack/package.json').version);
7
+ // console.log('ts-loader '+require('ts-loader/package.json').version);
8
+ import fs from 'fs';
9
+ import MiniCssExtractPlugin from 'mini-css-extract-plugin';
10
+ import path from 'path';
11
+ import webpack from 'webpack';
12
+ // const WebpackLicencePlugin = require('webpack-license-plugin');
13
+ // const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
14
+ import { exec } from 'child_process';
15
+ import CopyPlugin from 'copy-webpack-plugin';
16
+ import TerserPlugin from 'terser-webpack-plugin';
17
+ import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
18
+ const NODE_ENV = process.env.NODE_ENV;
19
+ const nodeProduction = NODE_ENV == 'production';
20
+ // const libraryName = 'lincd';
21
+ process.traceDeprecation = true;
22
+ function getLincdPackagePaths(packages) {
23
+ if (!packages) {
24
+ let pkgJson = getPackageJSON();
25
+ packages = Object.assign(Object.assign({}, pkgJson.dependencies), pkgJson.devDependencies);
26
+ }
27
+ let lincdPackagePaths = [];
28
+ for (var dependency of Object.keys(packages)) {
29
+ try {
30
+ let pkgJson = require(dependency + '/package.json');
31
+ if (pkgJson.lincd) {
32
+ let pkgPath = require.resolve(dependency + '/package.json');
33
+ lincdPackagePaths.push(pkgPath.substring(0, pkgPath.length - 13));
34
+ }
35
+ }
36
+ catch (err) {
37
+ // console.log("could not find "+dependency);
38
+ }
39
+ }
40
+ return lincdPackagePaths;
41
+ }
42
+ export function generateWebpackConfig(buildName, moduleName, config = {}) {
43
+ if (!config.externals)
44
+ config.externals = {};
45
+ if (!config.internals)
46
+ config.internals = [];
47
+ var watch = config.watch;
48
+ var productionMode = nodeProduction || config.productionMode;
49
+ var es5 = config.target == 'es5';
50
+ var es6 = config.target == 'es6';
51
+ //remove the scope (used for filenames for example)
52
+ var cleanModuleName = moduleName.replace(/@[\w\-]+\//, '');
53
+ var configFile;
54
+ if (es5 && fs.existsSync('tsconfig-es5.json')) {
55
+ configFile = 'tsconfig-es5.json';
56
+ }
57
+ else {
58
+ configFile = 'tsconfig.json';
59
+ }
60
+ if (!fs.existsSync(configFile)) {
61
+ warn('Cannot find ' + configFile);
62
+ process.exit();
63
+ }
64
+ let tsConfig = JSON.parse(fs.readFileSync(configFile, 'utf8'));
65
+ var plugins = [
66
+ // new webpack.DefinePlugin({
67
+ // 'process.env.BROWSER': JSON.stringify(true),
68
+ // 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
69
+ // }),
70
+ // new webpack.NoEmitOnErrorsPlugin(),
71
+ // new ExtractTextPlugin(config.cssFileName ? config.cssFileName : cleanModuleName + '.css'),
72
+ new MiniCssExtractPlugin({
73
+ // linkType: false,
74
+ filename: config.cssFileName
75
+ ? config.cssFileName
76
+ : cleanModuleName + '.css',
77
+ }),
78
+ //currently not compatible with webpack 5
79
+ // new WebpackLicencePlugin({
80
+ // excludedPackageTest: (packageName, version) => {
81
+ // return packageName.indexOf('lincd') !== -1;
82
+ // },
83
+ // }),
84
+ //NOTE: grunt comes with a copy task, which is ran during `yarn lincd build` but cannot run during `yarn lincd dev`
85
+ //so here we ALSO copy the same files to cover dev flow
86
+ new CopyPlugin({
87
+ patterns: [
88
+ {
89
+ from: 'src/**/*.css',
90
+ to({ context, absoluteFilename }) {
91
+ // console.log(chalk.magenta(context),chalk.magenta(absoluteFilename),process.cwd());
92
+ //turn absolute path into the right lib path (lib is NOT in webpack output path, so need to use '../')
93
+ let outputPath = absoluteFilename
94
+ .replace(process.cwd(), '')
95
+ .replace('/src/', '../lib/');
96
+ // console.log(chalk.blueBright(outputPath));
97
+ return Promise.resolve(outputPath);
98
+ },
99
+ noErrorOnMissing: true,
100
+ },
101
+ ],
102
+ }),
103
+ ];
104
+ if (config.debug) {
105
+ plugins.push(new WatchRunPlugin());
106
+ }
107
+ if (config.afterBuildCommand || config.afterFirstBuildCommand) {
108
+ let executedFirstCommand = false;
109
+ plugins.push({
110
+ apply: (compiler) => {
111
+ compiler.hooks.afterEmit.tap('AfterEmitPlugin', (compilation) => {
112
+ if (config.afterBuildCommand) {
113
+ exec(config.afterBuildCommand, (err, stdout, stderr) => {
114
+ if (stdout)
115
+ process.stdout.write(stdout);
116
+ if (stderr)
117
+ process.stderr.write(stderr);
118
+ });
119
+ }
120
+ if (config.afterFirstBuildCommand && !executedFirstCommand) {
121
+ executedFirstCommand = true;
122
+ exec(config.afterFirstBuildCommand, (err, stdout, stderr) => {
123
+ if (stdout)
124
+ process.stdout.write(stdout);
125
+ if (stderr)
126
+ process.stderr.write(stderr);
127
+ });
128
+ }
129
+ });
130
+ },
131
+ });
132
+ }
133
+ if (config.analyse) {
134
+ plugins.push(new BundleAnalyzerPlugin());
135
+ }
136
+ if ((es6 || config.declarations === true) && !config.declarations === false) {
137
+ plugins.push(new DeclarationPlugin({
138
+ out: (config.filename ? config.filename : cleanModuleName) + '.d.ts',
139
+ root: config.outputPath ? config.outputPath : './lib/',
140
+ debug: 'debug' in config ? config.debug : false,
141
+ }));
142
+ }
143
+ // var resolvePlugins = [
144
+ // new TsconfigPathsPlugin({
145
+ // configFile: configFile,
146
+ // silent: true,
147
+ // }),
148
+ // ];
149
+ var aliases = config.alias || {};
150
+ let postcssPlugins = [];
151
+ if (!config.cssMode) {
152
+ config.cssMode = 'tailwind';
153
+ }
154
+ if (config.cssMode === 'tailwind') {
155
+ let lincdPackagePaths;
156
+ //IF this package is including sources from another lincd package in its bundle (usually not the case)
157
+ if (config.internals) {
158
+ //THEN make sure that we also look for tailwind classes in those packages
159
+ //pass the list of internal packages, or if all, pass null because it will look up all the package.json:dependencies
160
+ lincdPackagePaths = getLincdPackagePaths(config.internals !== '*' ? config.internals : null).map((path) => {
161
+ return path + '/lib/**/*.{js,mjs}';
162
+ });
163
+ }
164
+ postcssPlugins.push([
165
+ '@tailwindcss/postcss',
166
+ {
167
+ //Tailwind v4 has very limited options for postcss
168
+ //use @ directives instead
169
+ // content: {
170
+ // files: ['./src/**/*.{tsx,ts}', ...lincdPackagePaths],
171
+ // },
172
+ // plugins: [],
173
+ },
174
+ ]);
175
+ }
176
+ else {
177
+ // postcss mode: use postcss-nested to enable nesting of css
178
+ postcssPlugins.push(['postcss-import', {}], [
179
+ 'postcss-preset-env',
180
+ {
181
+ features: { 'nesting-rules': true },
182
+ },
183
+ ]);
184
+ }
185
+ let rules = [
186
+ {
187
+ test: /\.css$/,
188
+ use: [
189
+ MiniCssExtractPlugin.loader,
190
+ {
191
+ loader: 'css-loader',
192
+ options: {
193
+ url: false,
194
+ importLoaders: 1,
195
+ modules: {
196
+ mode: 'local',
197
+ auto: (resourcePath) => {
198
+ //make sure this only applies to .module.css files, and not to tailwind
199
+ return (/\.module\.css$/i.test(resourcePath) &&
200
+ !/tailwind/i.test(resourcePath));
201
+ },
202
+ getLocalIdent: (context, localIdentName, localName) => {
203
+ return generateScopedName(localName, context.resourcePath);
204
+ },
205
+ },
206
+ },
207
+ },
208
+ {
209
+ loader: 'postcss-loader',
210
+ options: {
211
+ postcssOptions: {
212
+ plugins: postcssPlugins,
213
+ },
214
+ },
215
+ },
216
+ ],
217
+ },
218
+ // {
219
+ // test: /\.(ts|tsx)$/,
220
+ // exclude: /node_modules/,
221
+ // //include: [path.join(process.cwd(),"frontend")], // only bundle files in this directory
222
+ // use: {
223
+ // loader: "babel-loader", // cf. .babelrc.json in this folder and browser list in package.json
224
+ // options: {
225
+ // // plugins: productionMode ? [] : ["react-refresh/babel"],
226
+ // cacheCompression: false,
227
+ // cacheDirectory: true,
228
+ // presets: [
229
+ // "@babel/preset-env",
230
+ // ["@babel/preset-react", {"runtime": "automatic"}],
231
+ // "@babel/preset-typescript",
232
+ // ],
233
+ // plugins: [
234
+ // "@babel/plugin-transform-runtime",
235
+ // ["@babel/plugin-proposal-decorators",{
236
+ // decoratorsBeforeExport:true
237
+ // }]
238
+ // ],
239
+ // },
240
+ // },
241
+ // },
242
+ {
243
+ test: /\.tsx?$/,
244
+ use: [
245
+ {
246
+ loader: 'ts-loader?' +
247
+ JSON.stringify(Object.assign({ configFile: configFile, compilerOptions: {
248
+ declaration: !es5,
249
+ /*
250
+ for webpack we overwrite the module settings of the modules' tsconfig file
251
+ because we NEED esnext for code splitting. But the VM we currently use for the registry does not support esnext modules
252
+ */
253
+ module: 'esnext',
254
+ moduleResolution: 'node',
255
+ } }, config.tsConfigOverwrites)),
256
+ },
257
+ ],
258
+ },
259
+ {
260
+ test: /[\w]+/,
261
+ use: [
262
+ {
263
+ loader: path.resolve(__dirname, 'plugins', 'check-imports.js'),
264
+ options: {},
265
+ },
266
+ ],
267
+ },
268
+ // {
269
+ // enforce: 'pre',
270
+ // test: /\.js$/,
271
+ // use: [
272
+ // {
273
+ // loader: 'source-map-loader',
274
+ // },
275
+ // ],
276
+ // },
277
+ ];
278
+ if (es5 && config.internalsources && config.internalsources.length > 0) {
279
+ //usually a module that transpiles to es5 will only have es5 code in the bundle.
280
+ //however a module that INTERNALISES other dacore modules will directly include es6 code from @dacore/other_modules/lib
281
+ //which eventually results in an import of @dacore/core being bundled as 'const =', which trips up old browsers
282
+ //so we fix that here by just referring directly to the typescript source instead of the transpiled js for internalised modules
283
+ //however this means that for internalised modules THE SOURCE CODE NEEDS TO BE AVAILABLE. This is currently NOT the case with how we publish modules to yarn
284
+ //so that means internalised modules need to be LOCALLY AVAILABLE with yarn workspaces
285
+ plugins.push(new webpack.NormalModuleReplacementPlugin(/lincd\/lib\//, (resource) => {
286
+ let moduleName = resource.request.match(/lincd\/lib\//)[1];
287
+ if (config.internalsources.indexOf(moduleName) !== -1) {
288
+ console.log(colors.magenta('internal sources + ES5: Replacing /lib/ with /src/ for source-internalised module ' +
289
+ moduleName));
290
+ resource.request = resource.request.replace('/lib/', '/src/');
291
+ console.log(colors.magenta('internal sources + ES5: ' + resource.request));
292
+ console.log(colors.red("WARNING: Make sure you have the TYPESCRIPT SOURCE FILES of the modules listed as 'internal' AVAILABLE ON YOUR LOCAL MACHINE. So if you check in node_modules/your-internalised-module - that should be a symbolic link and you will find a 'src' folder with typescript files there."));
293
+ }
294
+ }));
295
+ }
296
+ return {
297
+ entry: config.entry
298
+ ? config.entry
299
+ : tsConfig.files
300
+ ? tsConfig.files
301
+ : './src/index.ts',
302
+ output: {
303
+ filename: (config.filename ? config.filename : cleanModuleName) +
304
+ (es5 ? '.es5' : '') +
305
+ '.js',
306
+ path: path.resolve(process.cwd(), config.bundlePath || 'dist'),
307
+ devtoolModuleFilenameTemplate: moduleName + '/[resource-path]',
308
+ },
309
+ devtool: productionMode ? 'source-map' : 'cheap-module-source-map',
310
+ // devtool: productionMode ? 'cheap-source-map' : 'cheap-source-map',
311
+ mode: productionMode ? 'production' : 'development',
312
+ //fixing a persistent but strange build error here that showed up once, this is a workaround. See: https://github.com/webpack-contrib/css-loader/issues/447
313
+ // node: {
314
+ // fs: 'empty',
315
+ // child_process: 'empty',
316
+ // },
317
+ resolve: {
318
+ extensions: ['.webpack.js', '.js', '.ts', '.tsx', '.json'],
319
+ alias: aliases,
320
+ // plugins: resolvePlugins,
321
+ fallback: { crypto: false },
322
+ },
323
+ resolveLoader: {
324
+ modules: [
325
+ path.join(__dirname, 'plugins'), //load webpack our own custom-made loaders from the plugin folder
326
+ path.join(__dirname, '..', 'node_modules'), //load webpack loaders from this lincd-cli library instead of the library that's using it to build its project
327
+ 'node_modules',
328
+ ],
329
+ },
330
+ optimization: {
331
+ minimize: productionMode,
332
+ minimizer: [
333
+ new TerserPlugin({
334
+ extractComments: {
335
+ condition: /^\**!|@preserve|@license|@cc_on/i,
336
+ banner: (licenseFile) => {
337
+ return `License information can be found in ${licenseFile} and oss-licences.json`;
338
+ },
339
+ },
340
+ }),
341
+ ],
342
+ },
343
+ watch: watch,
344
+ watchOptions: {
345
+ ignored: ['**/*.d.ts', '**/*.js.map', '**/*.css.json'],
346
+ aggregateTimeout: 500,
347
+ },
348
+ module: {
349
+ rules,
350
+ },
351
+ //See plugins/externalise-modules.ts We're passing in a function here that determines what to exclude from the bundle and what not
352
+ //See also https://webpack.js.org/configuration/externals/
353
+ externals: externaliseModules(config, es5),
354
+ plugins: plugins,
355
+ stats: {
356
+ errorDetails: true, //config.debug,
357
+ chunks: false,
358
+ children: true,
359
+ version: true,
360
+ hash: false,
361
+ entrypoints: false,
362
+ modules: false,
363
+ },
364
+ //hide some info from output when in watch mode to keep it succinct
365
+ //stats:{chunks:!watch,version:!watch}//hide some info from output when in watch mode to keep it succinct
366
+ cache: {
367
+ // https://webpack.js.org/configuration/other-options/#cache
368
+ type: 'filesystem',
369
+ // cacheDirectory: path.resolve(process.cwd(),"node_modules",".cache","webpack"),
370
+ // name: "lincd-webpack-cache",
371
+ },
372
+ };
373
+ }
374
+ //# sourceMappingURL=config-webpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-webpack.js","sourceRoot":"","sources":["../../src/config-webpack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineConfig.d.ts","sourceRoot":"","sources":["../../src/defineConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAE7D"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Define a LINCD configuration with type checking and autocomplete
3
+ * @param config The configuration object
4
+ * @returns The same configuration object (identity function for type inference)
5
+ */
6
+ export function defineConfig(config) {
7
+ return config;
8
+ }
9
+ //# sourceMappingURL=defineConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineConfig.js","sourceRoot":"","sources":["../../src/defineConfig.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { default as DeclarationPlugin } from './plugins/declaration-plugin';
2
+ export { default as externaliseModules } from './plugins/externalise-modules';
3
+ export { default as checkImports } from './plugins/check-imports';
4
+ export { default as tailwindConfig } from './tailwind.config';
5
+ // export {buildMetadata} from './metadata';
6
+ import { generateWebpackConfig } from './config-webpack';
7
+ export { generateWebpackConfig };
8
+ export * from './utils';
9
+ export { defineConfig } from './defineConfig';
10
+ export { buildPackageByPath } from './commands/build-package';
11
+ export { safeYarn } from './commands/safe-yarn';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAC5D,4CAA4C;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAO5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const resolve: any, load: any;
2
+ //# sourceMappingURL=css-loader.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-loader.d.mts","sourceRoot":"","sources":["../../../src/loaders/css-loader.mts"],"names":[],"mappings":"AAyFA,eAAO,MAAO,OAAO,OAAE,IAAI,KAAiC,CAAC"}
@@ -0,0 +1,86 @@
1
+ import createLoader from 'create-esm-loader';
2
+ // import parseCSS from 'css-parse';
3
+ import { generateScopedName, generateScopedNameProduction } from '../utils.js';
4
+ const cssLoader = {
5
+ resolve(specifier, opts) {
6
+ //check if the url is css
7
+ if (specifier.endsWith('.css')) {
8
+ // console.log(`##LOADER option resolve ${specifier}`);
9
+ //and not a node_module (because we don't need to process node_modules)
10
+ if (specifier.startsWith('.')) {
11
+ // console.log(`##LOADER resolve ${specifier} - ${specifier.startsWith('.') ? 'local' : 'node_module'}`);
12
+ let { parentURL } = opts;
13
+ let url = new URL(specifier, parentURL).href;
14
+ return { url };
15
+ }
16
+ else {
17
+ // console.log(`##LOADER NOT RESOLVING ${specifier}`);
18
+ }
19
+ }
20
+ },
21
+ format(url, opts) {
22
+ //check if the url is css and not a node_module
23
+ if (url.endsWith('.css')) {
24
+ // console.log(`##LOADER format ${url} - ${url.startsWith('.') ? 'local' : 'node_module'}`);
25
+ return { format: 'module' };
26
+ }
27
+ },
28
+ transform(source, opts) {
29
+ const { url } = opts;
30
+ //check if the url is css and not a node_module
31
+ if (url.endsWith('.css')) {
32
+ // console.log(`##LOADER transform ${url} - ${url.startsWith('.') ? 'local' : 'node_module'}`);
33
+ //if yes, convert the CSS source to a JSON object with original selectors as keys
34
+ //and the converted class names as values
35
+ let cssClassesObject = parseCssToObject(String(source), opts.url);
36
+ let finalSource = JSON.stringify(cssClassesObject, null, 2);
37
+ return { source: `export default ${finalSource};` };
38
+ }
39
+ },
40
+ };
41
+ function parseCssToObject(rawSource, filename) {
42
+ const output = {};
43
+ let myResults = rawSource.match(/\.[a-zA-Z_]{1}[\w]+[\s:]/g);
44
+ if (myResults) {
45
+ myResults
46
+ .map((result) => {
47
+ return result.replace(/[\.\s:]/g, '');
48
+ })
49
+ .forEach((selector) => {
50
+ let scopedClassName;
51
+ if (process.env.NODE_ENV === 'production') {
52
+ scopedClassName = generateScopedNameProduction(selector, filename);
53
+ }
54
+ else {
55
+ scopedClassName = generateScopedName(selector, filename);
56
+ }
57
+ output[selector] = scopedClassName;
58
+ });
59
+ }
60
+ // console.log(myResults);
61
+ // for (const rule of parseCSS(rawSource).stylesheet.rules) {
62
+ // if(rule.selectors)
63
+ // {
64
+ // let selector = rule['selectors'].at(-1); // Get right-most in the selector rule: `.Bar` in `.Foo > .Bar {…}`
65
+ // if (selector[0] !== '.') break; // only care about classes
66
+ //
67
+ // selector = selector
68
+ // .substring(1) // Skip the initial `.`
69
+ // .match(/(\w+)/)[1]; // Get only the classname: `Qux` in `.Qux[type="number"]`
70
+ //
71
+ // output[selector] = selector;//getClassStyles(rule['declarations']);
72
+ // // : selector;
73
+ // }
74
+ // }
75
+ return output;
76
+ }
77
+ function getClassStyles(declarations) {
78
+ const styles = {};
79
+ for (const declaration of declarations) {
80
+ styles[declaration['property']] = declaration['value'];
81
+ }
82
+ return styles;
83
+ }
84
+ //@ts-ignore
85
+ export const { resolve, load } = await createLoader(cssLoader);
86
+ //# sourceMappingURL=css-loader.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-loader.mjs","sourceRoot":"","sources":["../../../src/loaders/css-loader.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-css-only.d.ts","sourceRoot":"","sources":["../../../src/loaders/register-css-only.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { register } from 'node:module';
2
+ //@ts-ignore
3
+ import { register as tsx } from 'tsx/esm/api';
4
+ //first register our hooks before TSX
5
+ //@ts-ignore
6
+ register('./css-loader.mjs', import.meta.url);
7
+ //then register TXS
8
+ tsx();
9
+ //# sourceMappingURL=register-css-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-css-only.js","sourceRoot":"","sources":["../../../src/loaders/register-css-only.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY;AACZ,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAE9C,qCAAqC;AACrC,YAAY;AACZ,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9C,mBAAmB;AACnB,GAAG,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/loaders/register.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { register } from 'node:module';
2
+ //@ts-ignore
3
+ import { register as tsx } from 'tsx/esm/api';
4
+ //first register our hooks before TSX
5
+ //@ts-ignore
6
+ register('./css-loader.mjs', import.meta.url);
7
+ //then register TXS
8
+ tsx();
9
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/loaders/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY;AACZ,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAE9C,qCAAqC;AACrC,YAAY;AACZ,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9C,mBAAmB;AACnB,GAAG,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":""}