lincd-cli 1.1.11 → 1.2.1

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 (143) 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/.eslintignore +3 -1
  6. package/defaults/app-with-backend/lincd.config.js +1 -3
  7. package/defaults/app-with-backend/package.json +11 -21
  8. package/defaults/app-with-backend/scripts/storage-config.js +6 -6
  9. package/defaults/app-with-backend/src/App.module.css +17 -0
  10. package/defaults/app-with-backend/src/App.tsx +11 -15
  11. package/defaults/app-with-backend/src/backend.ts +8 -0
  12. package/defaults/app-with-backend/src/components/Error.tsx +2 -5
  13. package/defaults/app-with-backend/src/components/Spinner.tsx +3 -3
  14. package/defaults/app-with-backend/src/config-frontend.ts +6 -6
  15. package/defaults/app-with-backend/src/index.tsx +1 -0
  16. package/defaults/app-with-backend/src/layout/DefaultLayout.module.css +12 -0
  17. package/defaults/app-with-backend/src/layout/DefaultLayout.tsx +3 -4
  18. package/defaults/app-with-backend/src/layout/Header.module.css +25 -0
  19. package/defaults/app-with-backend/src/layout/Header.tsx +10 -6
  20. package/defaults/app-with-backend/src/package.ts +1 -3
  21. package/defaults/app-with-backend/src/pages/Home.tsx +2 -3
  22. package/defaults/app-with-backend/src/routes.tsx +8 -7
  23. package/defaults/app-with-backend/src/theme.css +100 -0
  24. package/defaults/app-with-backend/tsconfig.json +8 -5
  25. package/defaults/component.tsx +1 -3
  26. package/defaults/package/package.json +2 -2
  27. package/defaults/package/src/index.ts +1 -0
  28. package/defaults/package/src/ontologies/example-ontology.ts +10 -3
  29. package/defaults/package/src/package.ts +11 -3
  30. package/defaults/package/src/types.d.ts +9 -0
  31. package/defaults/package/tsconfig-cjs.json +8 -0
  32. package/defaults/package/tsconfig-esm.json +9 -0
  33. package/defaults/set-component.tsx +2 -5
  34. package/defaults/shape.ts +2 -2
  35. package/lib/{cli-methods.js → cjs/cli-methods.js} +779 -322
  36. package/lib/cjs/cli-methods.js.map +1 -0
  37. package/lib/cjs/cli.js +208 -0
  38. package/lib/cjs/cli.js.map +1 -0
  39. package/lib/cjs/config-grunt.cjs +276 -0
  40. package/lib/cjs/config-grunt.cjs.map +1 -0
  41. package/lib/cjs/config-webpack-app.js +495 -0
  42. package/lib/cjs/config-webpack-app.js.map +1 -0
  43. package/lib/cjs/config-webpack.js +444 -0
  44. package/lib/cjs/config-webpack.js.map +1 -0
  45. package/lib/{index.js → cjs/index.js} +5 -5
  46. package/lib/cjs/index.js.map +1 -0
  47. package/lib/{interfaces.js.map → cjs/interfaces.js.map} +1 -1
  48. package/lib/cjs/loaders/css-loader.mjs +86 -0
  49. package/lib/cjs/loaders/css-loader.mjs.map +1 -0
  50. package/lib/cjs/loaders/register.js +11 -0
  51. package/lib/cjs/loaders/register.js.map +1 -0
  52. package/lib/cjs/metadata.js +155 -0
  53. package/lib/cjs/metadata.js.map +1 -0
  54. package/lib/cjs/package.json +141 -0
  55. package/lib/{plugins → cjs/plugins}/check-imports.js +1 -1
  56. package/lib/cjs/plugins/check-imports.js.map +1 -0
  57. package/lib/cjs/plugins/declaration-plugin.js +285 -0
  58. package/lib/cjs/plugins/declaration-plugin.js.map +1 -0
  59. package/lib/cjs/plugins/externalise-modules.js +190 -0
  60. package/lib/cjs/plugins/externalise-modules.js.map +1 -0
  61. package/lib/cjs/plugins/lincd-tailwind-sources.js +32 -0
  62. package/lib/cjs/plugins/lincd-tailwind-sources.js.map +1 -0
  63. package/lib/cjs/plugins/watch-run.js.map +1 -0
  64. package/lib/cjs/tailwind.config.js +18 -0
  65. package/lib/cjs/tailwind.config.js.map +1 -0
  66. package/lib/{utils.js → cjs/utils.js} +112 -52
  67. package/lib/cjs/utils.js.map +1 -0
  68. package/lib/esm/cli-methods.js +2045 -0
  69. package/lib/esm/cli-methods.js.map +1 -0
  70. package/lib/{cli.js → esm/cli.js} +65 -44
  71. package/lib/esm/cli.js.map +1 -0
  72. package/lib/{config-grunt.js → esm/config-grunt.cjs} +15 -16
  73. package/lib/esm/config-grunt.cjs.map +1 -0
  74. package/lib/esm/config-webpack-app.js +460 -0
  75. package/lib/esm/config-webpack-app.js.map +1 -0
  76. package/lib/{config-webpack.js → esm/config-webpack.js} +37 -50
  77. package/lib/esm/config-webpack.js.map +1 -0
  78. package/lib/esm/index.js +10 -0
  79. package/lib/esm/index.js.map +1 -0
  80. package/lib/esm/interfaces.js +2 -0
  81. package/lib/esm/interfaces.js.map +1 -0
  82. package/lib/esm/loaders/css-loader.mjs +86 -0
  83. package/lib/esm/loaders/css-loader.mjs.map +1 -0
  84. package/lib/esm/loaders/register.js +9 -0
  85. package/lib/esm/loaders/register.js.map +1 -0
  86. package/lib/esm/metadata.js +155 -0
  87. package/lib/esm/metadata.js.map +1 -0
  88. package/lib/esm/package.json +141 -0
  89. package/lib/esm/plugins/check-imports.js +65 -0
  90. package/lib/esm/plugins/check-imports.js.map +1 -0
  91. package/lib/{plugins → esm/plugins}/declaration-plugin.js +9 -8
  92. package/lib/esm/plugins/declaration-plugin.js.map +1 -0
  93. package/lib/{plugins → esm/plugins}/externalise-modules.js +5 -6
  94. package/lib/esm/plugins/externalise-modules.js.map +1 -0
  95. package/lib/esm/plugins/lincd-tailwind-sources.js +27 -0
  96. package/lib/esm/plugins/lincd-tailwind-sources.js.map +1 -0
  97. package/lib/esm/plugins/watch-run.js +44 -0
  98. package/lib/esm/plugins/watch-run.js.map +1 -0
  99. package/lib/esm/tailwind.config.js +13 -0
  100. package/lib/esm/tailwind.config.js.map +1 -0
  101. package/lib/esm/utils.js +521 -0
  102. package/lib/esm/utils.js.map +1 -0
  103. package/lib-template/cjs/package.json +3 -0
  104. package/lib-template/esm/package.json +3 -0
  105. package/package.json +64 -24
  106. package/tsconfig-cjs.json +9 -0
  107. package/tsconfig-esm.json +10 -0
  108. package/defaults/app-with-backend/babel.config.js +0 -4
  109. package/defaults/app-with-backend/src/App.scss +0 -6
  110. package/defaults/app-with-backend/src/App.scss.json +0 -1
  111. package/defaults/app-with-backend/src/components/Error.scss.json +0 -1
  112. package/defaults/app-with-backend/src/components/Spinner.scss.json +0 -1
  113. package/defaults/app-with-backend/src/layout/DefaultLayout.scss +0 -6
  114. package/defaults/app-with-backend/src/layout/DefaultLayout.scss.json +0 -1
  115. package/defaults/app-with-backend/src/layout/Header.scss +0 -10
  116. package/defaults/app-with-backend/src/layout/Header.scss.json +0 -1
  117. package/defaults/app-with-backend/src/pages/Home.scss.json +0 -1
  118. package/defaults/app-with-backend/src/scss/global-overwrites.scss +0 -11
  119. package/defaults/app-with-backend/src/scss/variables.scss +0 -23
  120. package/lib/cli-methods.js.map +0 -1
  121. package/lib/cli.js.map +0 -1
  122. package/lib/config-grunt.js.map +0 -1
  123. package/lib/config-webpack-app.js +0 -367
  124. package/lib/config-webpack-app.js.map +0 -1
  125. package/lib/config-webpack.js.map +0 -1
  126. package/lib/index.js.map +0 -1
  127. package/lib/metadata.js +0 -149
  128. package/lib/metadata.js.map +0 -1
  129. package/lib/plugins/check-imports.js.map +0 -1
  130. package/lib/plugins/declaration-plugin.js.map +0 -1
  131. package/lib/plugins/externalise-modules.js.map +0 -1
  132. package/lib/plugins/watch-run.js.map +0 -1
  133. package/lib/utils.js.map +0 -1
  134. /package/defaults/app-with-backend/{web → public}/favicon-144x144.png +0 -0
  135. /package/defaults/app-with-backend/{web → public}/favicon-57x57.png +0 -0
  136. /package/defaults/app-with-backend/{web → public}/favicon-72x72.png +0 -0
  137. /package/defaults/app-with-backend/{web → public}/favicon.ico +0 -0
  138. /package/defaults/app-with-backend/src/components/{Error.scss → Error.module.css} +0 -0
  139. /package/defaults/app-with-backend/src/components/{Spinner.scss → Spinner.module.css} +0 -0
  140. /package/defaults/app-with-backend/src/pages/{Home.scss → Home.module.css} +0 -0
  141. /package/{expose-grunt.js → expose-grunt.cjs} +0 -0
  142. /package/lib/{interfaces.js → cjs/interfaces.js} +0 -0
  143. /package/lib/{plugins → cjs/plugins}/watch-run.js +0 -0
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = generateGruntConfig;
7
+ const config_webpack_1 = require("./config-webpack");
8
+ const utils_1 = require("./utils");
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const path_1 = __importDefault(require("path"));
11
+ function generateGruntConfig(moduleName, config = {}) {
12
+ return function (grunt) {
13
+ setupGrunt(grunt, moduleName, config);
14
+ };
15
+ }
16
+ function setupGrunt(grunt, moduleName, config) {
17
+ var buildServer = !config.environment ||
18
+ config.environment == 'nodejs' ||
19
+ config.environment == 'polymorphic';
20
+ var buildFrontend = !config.environment ||
21
+ config.environment == 'browser' ||
22
+ config.environment == 'polymorphic';
23
+ //when not specified and we ARe building frontend OR we are compiling the server for es5.. or if simply specified, then es5 is targeted
24
+ var targetES5 = (!config.target && (buildFrontend || config.es5Server)) ||
25
+ config.target == 'es5';
26
+ var targetES6 = !config.target || config.target == 'es6';
27
+ var targets = [];
28
+ if (targetES5)
29
+ targets.push('es5');
30
+ if (targetES6)
31
+ targets.push('es6');
32
+ // var targetLog = 'building ' + targets.join(', ');
33
+ // if (buildServer && !buildFrontend) {
34
+ // log(targetLog + ' lib only');
35
+ // } else if (!buildServer && buildFrontend) {
36
+ // log(targetLog + ' dist bundles only');
37
+ // } else if (buildServer && buildFrontend) {
38
+ // if (config.es5Server) {
39
+ // log(targetLog + ' lib files & dist bundles');
40
+ // } else {
41
+ // log(targetLog + ' dist bundles and es6 lib files');
42
+ // }
43
+ // } else {
44
+ // log('invalid configuration combination');
45
+ // }
46
+ require('load-grunt-tasks')(grunt);
47
+ //defaults
48
+ grunt.registerTask('default', ['prepare-build', 'concurrent:dev']);
49
+ grunt.registerTask('dev', targetES6 ? ['prepare-build', 'dev-es6'] : ['prepare-build', 'dev-es5']);
50
+ grunt.registerTask('build', targets.map((target) => 'build-' + target));
51
+ if (buildFrontend) {
52
+ grunt.registerTask('build-frontend', [
53
+ 'prepare-build',
54
+ ...targets.map((target) => 'webpack:build-' + target),
55
+ ]);
56
+ }
57
+ grunt.registerTask('build-production', (0, utils_1.flatten)([
58
+ 'clean:lib',
59
+ 'prepare-build',
60
+ buildFrontend ? targets.map((target) => 'webpack:prod-' + target) : null,
61
+ buildServer ? ['exec:build-lib', 'copy:lib'] : null,
62
+ ]));
63
+ let prepareBuild = ['postcss:cssjson'];
64
+ if (config.beforeBuildCommand) {
65
+ prepareBuild.push('exec:beforeBuildCommand');
66
+ }
67
+ //specific tasks
68
+ grunt.registerTask('prepare-build', prepareBuild);
69
+ grunt.registerTask('dev-es6-production', [
70
+ 'prepare-build',
71
+ 'concurrent:dev-prod',
72
+ ]);
73
+ grunt.registerTask('dev-es6', ['prepare-build', 'concurrent:dev']);
74
+ grunt.registerTask('dev-es5', ['prepare-build', 'concurrent:dev-es5']);
75
+ //build-es5 is by default just the frontend because the server is es6
76
+ //however some specific modules (like @dacore/module) require the typescript compiler ('build-lib') to run for es5
77
+ //so that core-es5 or browser-core-es5 can internalise its files
78
+ //this can by triggered with es5Server
79
+ grunt.registerTask('build-es5', (0, utils_1.flatten)([
80
+ 'postcss',
81
+ buildFrontend ? 'webpack:build-es5' : null,
82
+ config.es5Server ? ['exec:build-lib-es5', 'copy:lib'] : null,
83
+ ]));
84
+ grunt.registerTask('build-es6', (0, utils_1.flatten)([
85
+ 'prepare-build',
86
+ // buildFrontend ? 'webpack:build-es6' : null,
87
+ buildServer
88
+ ? [
89
+ // 'clean:lib',
90
+ 'exec:build-lib',
91
+ 'copy:lib',
92
+ 'exec:depcheck',
93
+ 'exec:check-imports',
94
+ ]
95
+ : null,
96
+ // 'exec:shapes',
97
+ ]));
98
+ grunt.registerTask('build-lib', [
99
+ 'prepare-build',
100
+ 'exec:build-lib',
101
+ 'copy:lib',
102
+ ]);
103
+ grunt.registerTask('build-production-es5', [
104
+ 'prepare-build',
105
+ 'webpack:prod-es5',
106
+ // 'exec:shapes',
107
+ ]);
108
+ grunt.registerTask('build-production-es6', [
109
+ 'prepare-build',
110
+ 'webpack:prod-es6',
111
+ // 'exec:shapes',
112
+ ]);
113
+ // log('setting grunt config');
114
+ grunt.initConfig({
115
+ exec: {
116
+ 'build-lib': 'yarn exec tsc --pretty',
117
+ 'build-lib-es5': 'yarn exec tsc --pretty -p tsconfig-es5.json',
118
+ beforeBuildCommand: config.beforeBuildCommand,
119
+ 'server-dev': 'tsc -w',
120
+ depcheck: {
121
+ command: 'yarn lincd depcheck',
122
+ // stdout: false,
123
+ // stderr: true,
124
+ // callback: function (error, stdout, stderr) {
125
+ // if (error) {
126
+ // // console.log(chalk.red('XX Error: ') + error.message);
127
+ // process.exit(1);
128
+ // return;
129
+ // }
130
+ // if (stderr) {
131
+ // process.exit(1);
132
+ // return;
133
+ // }
134
+ // // console.log(stdout);
135
+ // },
136
+ },
137
+ 'check-imports': 'yarn lincd check-imports',
138
+ test: 'tsc -w',
139
+ // shapes: 'lincd shapes',
140
+ 'css-declarations': 'tcm -p **/*.scss',
141
+ 'postcss-modules': 'yarn postcss --use postcss-import postcss-nested postcss-modules -o build/draft.css -i scss/*',
142
+ },
143
+ copy: {
144
+ lib: {
145
+ files: [
146
+ // copy json files in src over to lib
147
+ {
148
+ expand: true,
149
+ src: ['**/*.json', '**/*.d.ts', '**/*.scss', '**/*.css'],
150
+ dest: config.outputPath || 'lib/',
151
+ cwd: 'src/',
152
+ filter: 'isFile',
153
+ },
154
+ ],
155
+ },
156
+ },
157
+ postcss: {
158
+ options: {
159
+ map: true, // inline sourcemaps
160
+ // parser: require('postcss-scss'), //require('postcss-comment'),
161
+ syntax: require('postcss-scss'), //for accepting comments
162
+ processors: [
163
+ require('postcss-preset-env'),
164
+ require('postcss-strip-inline-comments'),
165
+ require('postcss-modules')({
166
+ generateScopedName: utils_1.generateScopedName.bind(this, config.prod, false),
167
+ globalModulePaths: [
168
+ /tailwind/,
169
+ /tailwindcss/,
170
+ config.cssGlobalModulePaths,
171
+ ].filter(Boolean),
172
+ }),
173
+ ],
174
+ writeDest: false,
175
+ },
176
+ cssjson: {
177
+ src: 'src/**/*.scss',
178
+ },
179
+ },
180
+ clean: {
181
+ lib: ['lib/'],
182
+ },
183
+ concurrent: {
184
+ dev: (0, utils_1.flatten)([
185
+ // buildFrontend ? 'webpack:dev' : null,
186
+ buildServer ? 'exec:server-dev' : null,
187
+ // buildServer ? 'watch:css-module-transforms' : null,
188
+ // 'exec:css-declarations-watch'
189
+ ]),
190
+ 'dev-prod': (0, utils_1.flatten)([
191
+ // buildFrontend ? 'webpack:dev-prod' : null,
192
+ buildServer ? 'exec:server-dev' : null,
193
+ // buildServer ? 'watch:css-module-transforms' : null,
194
+ // 'exec:css-declarations-watch'
195
+ ]),
196
+ 'dev-es5': (0, utils_1.flatten)([
197
+ // buildFrontend ? 'webpack:dev-es5' : null,
198
+ buildServer ? 'exec:server-dev' : null,
199
+ // buildServer ? 'watch:css-module-transforms' : null,
200
+ // 'exec:css-declarations-watch'
201
+ ]),
202
+ options: {
203
+ logConcurrentOutput: true,
204
+ logTaskName: 3,
205
+ logBlacklist: [],
206
+ },
207
+ },
208
+ webpack: {
209
+ options: {
210
+ stats: {
211
+ chunks: false,
212
+ version: false,
213
+ // warningsFilter: (warning) => {
214
+ // return warning.indexOf('There are multiple modules') !== -1;
215
+ // },
216
+ },
217
+ },
218
+ dev: (0, config_webpack_1.generateWebpackConfig)('dev', moduleName, (Object).assign({
219
+ target: 'es6',
220
+ watch: true,
221
+ }, config, config.es6, config.dev)),
222
+ 'dev-prod': (0, config_webpack_1.generateWebpackConfig)('dev', moduleName, (Object).assign({
223
+ target: 'es6',
224
+ watch: true,
225
+ productionMode: true,
226
+ }, config, config.es6, config.prod)),
227
+ 'dev-es5': (0, config_webpack_1.generateWebpackConfig)('dev-es5', moduleName, (Object).assign({
228
+ target: 'es5',
229
+ watch: true,
230
+ }, config, config.es5, config.dev)),
231
+ 'build-es6': (0, config_webpack_1.generateWebpackConfig)('build-es6', moduleName, (Object).assign({
232
+ target: 'es6',
233
+ watch: false,
234
+ }, config, config.es6, config.dev)),
235
+ 'build-es5': (0, config_webpack_1.generateWebpackConfig)('build-es5', moduleName, (Object).assign({
236
+ target: 'es5',
237
+ watch: false,
238
+ }, config, config.es5, config.dev)),
239
+ 'prod-es5': (0, config_webpack_1.generateWebpackConfig)('prod-es5', moduleName, (Object).assign({
240
+ target: 'es5',
241
+ watch: false,
242
+ productionMode: true,
243
+ }, config, config.es5, config.prod)),
244
+ 'prod-es6': (0, config_webpack_1.generateWebpackConfig)('prod-es6', moduleName, (Object).assign({
245
+ target: 'es6',
246
+ watch: false,
247
+ productionMode: true,
248
+ }, config, config.es6, config.prod)),
249
+ },
250
+ });
251
+ //load the npm grunt task modules
252
+ [
253
+ 'grunt-webpack',
254
+ 'grunt-exec',
255
+ 'grunt-concurrent',
256
+ 'grunt-contrib-clean',
257
+ 'grunt-contrib-copy',
258
+ '@lodder/grunt-postcss',
259
+ ].forEach((taskName) => {
260
+ (0, utils_1.debug)(config, 'loading grunt task ' + taskName);
261
+ let loaded = false;
262
+ for (let i = 1; i <= 6; i++) {
263
+ let subDirs = Array(i).fill('..');
264
+ let localPath = path_1.default.resolve(__dirname, ...subDirs, 'node_modules', taskName, 'tasks');
265
+ if (fs_1.default.existsSync(localPath)) {
266
+ (0, utils_1.debug)('Loading from ' + localPath);
267
+ grunt.task.loadTasks(localPath);
268
+ loaded = true;
269
+ }
270
+ }
271
+ if (!loaded) {
272
+ (0, utils_1.warn)(`Could not load grunt task module ${taskName}. Tip: Make sure there is only one lincd-cli version used across the workspace.`);
273
+ }
274
+ });
275
+ }
276
+ //# sourceMappingURL=config-grunt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-grunt.cjs","sourceRoot":"","sources":["../../src/config-grunt.cts"],"names":[],"mappings":"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"}