@cmmn/tools 2.2.2 → 3.0.0-alpha-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 (203) hide show
  1. package/.swcrc +20 -0
  2. package/dist/esm/bin.js +9 -0
  3. package/dist/esm/bin.js.map +1 -0
  4. package/dist/esm/bundlers/createBundler.js +9 -0
  5. package/dist/esm/bundlers/createBundler.js.map +1 -0
  6. package/dist/esm/bundlers/plugins/minify.js +34 -0
  7. package/dist/esm/bundlers/plugins/minify.js.map +1 -0
  8. package/dist/esm/bundlers/plugins/wasm.js +43 -0
  9. package/dist/esm/bundlers/plugins/wasm.js.map +1 -0
  10. package/dist/esm/bundlers/rolldown-bundler.js +153 -0
  11. package/dist/esm/bundlers/rolldown-bundler.js.map +1 -0
  12. package/dist/esm/bundlers/types.js +3 -0
  13. package/dist/esm/bundlers/types.js.map +1 -0
  14. package/dist/esm/bundlers/vite.builder.js +117 -0
  15. package/dist/esm/bundlers/vite.builder.js.map +1 -0
  16. package/dist/esm/bundlers/vite.bundler.js +56 -0
  17. package/dist/esm/bundlers/vite.bundler.js.map +1 -0
  18. package/dist/esm/commands/bundle.js +100 -0
  19. package/dist/esm/commands/bundle.js.map +1 -0
  20. package/dist/esm/commands/cert.js +26 -0
  21. package/dist/esm/commands/cert.js.map +1 -0
  22. package/dist/esm/commands/ci.js +14 -0
  23. package/dist/esm/commands/ci.js.map +1 -0
  24. package/dist/esm/commands/clean.js +18 -0
  25. package/dist/esm/commands/clean.js.map +1 -0
  26. package/dist/esm/commands/compile.js +60 -0
  27. package/dist/esm/commands/compile.js.map +1 -0
  28. package/dist/esm/commands/deploy.js +61 -0
  29. package/dist/esm/commands/deploy.js.map +1 -0
  30. package/dist/esm/commands/dev.js +36 -0
  31. package/dist/esm/commands/dev.js.map +1 -0
  32. package/dist/esm/commands/format.js +44 -0
  33. package/dist/esm/commands/format.js.map +1 -0
  34. package/dist/esm/commands/gen.js +36 -0
  35. package/dist/esm/commands/gen.js.map +1 -0
  36. package/dist/esm/commands/host.js +21 -0
  37. package/dist/esm/commands/host.js.map +1 -0
  38. package/dist/esm/commands/index.js +12 -0
  39. package/dist/esm/commands/index.js.map +1 -0
  40. package/dist/esm/commands/lint.js +45 -0
  41. package/dist/esm/commands/lint.js.map +1 -0
  42. package/dist/esm/commands/nginx.js +62 -0
  43. package/dist/esm/commands/nginx.js.map +1 -0
  44. package/dist/esm/commands/publish.js +37 -0
  45. package/dist/esm/commands/publish.js.map +1 -0
  46. package/dist/esm/commands/typings.js +66 -0
  47. package/dist/esm/commands/typings.js.map +1 -0
  48. package/dist/esm/commands/version.js +34 -0
  49. package/dist/esm/commands/version.js.map +1 -0
  50. package/dist/esm/dev-server/asset-collection.js +18 -0
  51. package/dist/esm/dev-server/asset-collection.js.map +1 -0
  52. package/dist/esm/dev-server/bundle.json.builder.js +47 -0
  53. package/dist/esm/dev-server/bundle.json.builder.js.map +1 -0
  54. package/dist/esm/dev-server/dependencyServer.js +96 -0
  55. package/dist/esm/dev-server/dependencyServer.js.map +1 -0
  56. package/dist/esm/dev-server/dev-server.js +49 -0
  57. package/dist/esm/dev-server/dev-server.js.map +1 -0
  58. package/dist/esm/dev-server/plugins/minify.js +34 -0
  59. package/dist/esm/dev-server/plugins/minify.js.map +1 -0
  60. package/dist/esm/dev-server/plugins/wasm.js +30 -0
  61. package/dist/esm/dev-server/plugins/wasm.js.map +1 -0
  62. package/dist/esm/dev-server/resolver.js +55 -0
  63. package/dist/esm/dev-server/resolver.js.map +1 -0
  64. package/dist/esm/dev-server/rolldown-dependency-builder.js +150 -0
  65. package/dist/esm/dev-server/rolldown-dependency-builder.js.map +1 -0
  66. package/dist/esm/dev-server/target-runnner.js +72 -0
  67. package/dist/esm/dev-server/target-runnner.js.map +1 -0
  68. package/dist/esm/dev-server/target-web-server.js +78 -0
  69. package/dist/esm/dev-server/target-web-server.js.map +1 -0
  70. package/dist/esm/dev-server/targetServer.js +29 -0
  71. package/dist/esm/dev-server/targetServer.js.map +1 -0
  72. package/dist/esm/dev-server/vite.builder.js +183 -0
  73. package/dist/esm/dev-server/vite.builder.js.map +1 -0
  74. package/dist/esm/dev-server/wasm-resolver.js +25 -0
  75. package/dist/esm/dev-server/wasm-resolver.js.map +1 -0
  76. package/dist/esm/helpers/fastify-compress.js +26 -0
  77. package/dist/esm/helpers/fastify-compress.js.map +1 -0
  78. package/dist/esm/helpers/flags.js +22 -0
  79. package/dist/esm/helpers/flags.js.map +1 -0
  80. package/dist/esm/helpers/getProjects.js +49 -0
  81. package/dist/esm/helpers/getProjects.js.map +1 -0
  82. package/dist/esm/helpers/getTSConfig.js +32 -0
  83. package/dist/esm/helpers/getTSConfig.js.map +1 -0
  84. package/dist/esm/helpers/target.js +230 -0
  85. package/dist/esm/helpers/target.js.map +1 -0
  86. package/dist/esm/helpers/terminal.js +117 -0
  87. package/dist/esm/helpers/terminal.js.map +1 -0
  88. package/dist/esm/helpers/ts-resolve-plugin.js +139 -0
  89. package/dist/esm/helpers/ts-resolve-plugin.js.map +1 -0
  90. package/dist/esm/helpers/watcher.js +35 -0
  91. package/dist/esm/helpers/watcher.js.map +1 -0
  92. package/dist/esm/index.js +5 -0
  93. package/dist/esm/index.js.map +1 -0
  94. package/dist/esm/model/bundle.js +75 -0
  95. package/dist/esm/model/bundle.js.map +1 -0
  96. package/dist/esm/model/flags.js +27 -0
  97. package/dist/esm/model/flags.js.map +1 -0
  98. package/dist/esm/model/monorepo.js +74 -0
  99. package/dist/esm/model/monorepo.js.map +1 -0
  100. package/dist/esm/model/pack.js +131 -0
  101. package/dist/esm/model/pack.js.map +1 -0
  102. package/dist/esm/model/resolver.js +100 -0
  103. package/dist/esm/model/resolver.js.map +1 -0
  104. package/dist/esm/model/target.js +111 -0
  105. package/dist/esm/model/target.js.map +1 -0
  106. package/dist/esm/servers/bundle-server.js +20 -0
  107. package/dist/esm/servers/bundle-server.js.map +1 -0
  108. package/dist/esm/servers/dev-server.js +70 -0
  109. package/dist/esm/servers/dev-server.js.map +1 -0
  110. package/dist/esm/servers/pack-server.js +20 -0
  111. package/dist/esm/servers/pack-server.js.map +1 -0
  112. package/dist/esm/servers/target-runnner.js +80 -0
  113. package/dist/esm/servers/target-runnner.js.map +1 -0
  114. package/dist/esm/servers/vite-dev-server.js +61 -0
  115. package/dist/esm/servers/vite-dev-server.js.map +1 -0
  116. package/dist/esm/specs/dependency-builder-specs.js +164 -0
  117. package/dist/esm/specs/dependency-builder-specs.js.map +1 -0
  118. package/dist/esm/specs/dev-server.specs.js +73 -0
  119. package/dist/esm/specs/dev-server.specs.js.map +1 -0
  120. package/dist/esm/specs/monorepo.specs.js +35 -0
  121. package/dist/esm/specs/monorepo.specs.js.map +1 -0
  122. package/dist/esm/specs/resolver.specs.js +57 -0
  123. package/dist/esm/specs/resolver.specs.js.map +1 -0
  124. package/dist/esm/specs/rolldown.specs.js +278 -0
  125. package/dist/esm/specs/rolldown.specs.js.map +1 -0
  126. package/dist/esm/specs/target-specs.js +108 -0
  127. package/dist/esm/specs/target-specs.js.map +1 -0
  128. package/dist/esm/specs/vite-bundler.specs.js +75 -0
  129. package/dist/esm/specs/vite-bundler.specs.js.map +1 -0
  130. package/dist/esm/test/test.js +30 -0
  131. package/dist/esm/test/test.js.map +1 -0
  132. package/dist/ts.buildinfo +1 -0
  133. package/dist/typings/bin.d.ts +2 -0
  134. package/dist/typings/bundlers/plugins/minify.d.ts +6 -0
  135. package/dist/typings/bundlers/plugins/wasm.d.ts +5 -0
  136. package/dist/typings/bundlers/rolldown-bundler.d.ts +18 -0
  137. package/dist/typings/bundlers/types.d.ts +4 -0
  138. package/dist/typings/bundlers/vite.builder.d.ts +12 -0
  139. package/dist/typings/bundlers/vite.bundler.d.ts +9 -0
  140. package/dist/typings/commands/bundle.d.ts +2 -0
  141. package/dist/typings/commands/cert.d.ts +1 -0
  142. package/dist/typings/commands/clean.d.ts +2 -0
  143. package/dist/typings/commands/compile.d.ts +2 -0
  144. package/dist/typings/commands/dev.d.ts +2 -0
  145. package/dist/typings/commands/format.d.ts +5 -0
  146. package/dist/typings/commands/gen.d.ts +1 -0
  147. package/dist/typings/commands/host.d.ts +1 -0
  148. package/dist/typings/commands/index.d.ts +10 -0
  149. package/dist/typings/commands/lint.d.ts +5 -0
  150. package/dist/typings/commands/nginx.d.ts +6 -0
  151. package/dist/typings/commands/publish.d.ts +2 -0
  152. package/dist/typings/commands/typings.d.ts +4 -0
  153. package/dist/typings/commands/version.d.ts +1 -0
  154. package/dist/typings/helpers/fastify-compress.d.ts +6 -0
  155. package/dist/typings/helpers/getTSConfig.d.ts +11 -0
  156. package/dist/typings/helpers/terminal.d.ts +22 -0
  157. package/dist/typings/helpers/watcher.d.ts +7 -0
  158. package/dist/typings/index.d.ts +4 -0
  159. package/dist/typings/model/bundle.d.ts +34 -0
  160. package/dist/typings/model/flags.d.ts +15 -0
  161. package/dist/typings/model/monorepo.d.ts +18 -0
  162. package/dist/typings/model/pack.d.ts +45 -0
  163. package/dist/typings/model/resolver.d.ts +38 -0
  164. package/dist/typings/model/target.d.ts +27 -0
  165. package/dist/typings/servers/bundle-server.d.ts +10 -0
  166. package/dist/typings/servers/dev-server.d.ts +16 -0
  167. package/dist/typings/servers/pack-server.d.ts +9 -0
  168. package/dist/typings/servers/target-runnner.d.ts +13 -0
  169. package/dist/typings/servers/vite-dev-server.d.ts +18 -0
  170. package/dist/typings/specs/dev-server.specs.d.ts +1 -0
  171. package/dist/typings/specs/monorepo.specs.d.ts +1 -0
  172. package/dist/typings/specs/resolver.specs.d.ts +1 -0
  173. package/dist/typings/specs/rolldown.specs.d.ts +1 -0
  174. package/dist/typings/specs/target-specs.d.ts +1 -0
  175. package/dist/typings/specs/vite-bundler.specs.d.ts +1 -0
  176. package/dist/typings/test/test.d.ts +16 -0
  177. package/{compile → helpers}/tsconfig.json +12 -9
  178. package/node/hooks-dev.js +72 -0
  179. package/node/register-dev.js +3 -0
  180. package/node/register.js +14 -0
  181. package/package.json +50 -40
  182. package/readme.md +2 -2
  183. package/tsconfig.json +14 -0
  184. package/LICENSE +0 -21
  185. package/bin.js +0 -21
  186. package/bundle/bundle.js +0 -46
  187. package/bundle/esbuild.config.js +0 -178
  188. package/bundle/getConfigs.js +0 -62
  189. package/compile/compile.js +0 -53
  190. package/compile/ts-resolve-plugin.js +0 -235
  191. package/compile/typings.d.ts +0 -19
  192. package/gen/component.ts.tpl +0 -16
  193. package/gen/gen.js +0 -27
  194. package/gen/style.less.tpl +0 -3
  195. package/gen/template.ts.tpl +0 -8
  196. package/helpers/getTSConfig.js +0 -19
  197. package/serve/readme.md +0 -8
  198. package/serve/serve.js +0 -109
  199. package/spawn/index.js +0 -81
  200. package/test/index.d.ts +0 -18
  201. package/test/index.js +0 -16
  202. package/test/jest.config.js +0 -32
  203. package/test/pathsToModuleNameMapper.js +0 -46
@@ -0,0 +1,278 @@
1
+ import { _ as _ts_add_disposable_resource } from "@swc/helpers/_/_ts_add_disposable_resource";
2
+ import { _ as _ts_dispose_resources } from "@swc/helpers/_/_ts_dispose_resources";
3
+ var _computedKey;
4
+ import { describe, test } from "node:test";
5
+ import { fileURLToPath } from "node:url";
6
+ import path, { dirname, join } from "node:path";
7
+ import fs from "node:fs/promises";
8
+ import { expect } from "expect";
9
+ import { RolldownBundler } from "../bundlers/rolldown-bundler.js";
10
+ import { Pack } from "../model/pack.js";
11
+ import { Resolver } from "../model/resolver.js";
12
+ import { existsSync } from "node:fs";
13
+ import { Flags } from "../model/flags.js";
14
+ const flags = new Flags([]);
15
+ describe('rolldown', async function dependencyBuilder() {
16
+ await test('as-is', async function asIs() {
17
+ const env = {
18
+ stack: [],
19
+ error: void 0,
20
+ hasError: false
21
+ };
22
+ try {
23
+ const pack = _ts_add_disposable_resource(env, await TemporaryPack.create({
24
+ '.': 'export const a = 1'
25
+ }), true);
26
+ const builder = new RolldownBundler(pack, new Resolver([
27
+ pack
28
+ ], flags), flags);
29
+ const res = await builder.bundle();
30
+ expect(res.fileNames()).toEqual([
31
+ 'index.js'
32
+ ]);
33
+ expect(res.get('index.js')).toMatch(/export \{.*a.*}/);
34
+ } catch (e) {
35
+ env.error = e;
36
+ env.hasError = true;
37
+ } finally{
38
+ const result = _ts_dispose_resources(env);
39
+ if (result) await result;
40
+ }
41
+ });
42
+ await test('external', async function external() {
43
+ const env = {
44
+ stack: [],
45
+ error: void 0,
46
+ hasError: false
47
+ };
48
+ try {
49
+ const pack = _ts_add_disposable_resource(env, await TemporaryPack.create({
50
+ './a': 'export const a = 1',
51
+ '.': `import { a } from './a'; export const b = a + 1;`
52
+ }), true);
53
+ const builder = new RolldownBundler(pack, new Resolver([
54
+ pack
55
+ ], flags), flags);
56
+ const res = await builder.bundle();
57
+ expect(res.fileNames()).toContain('index.js');
58
+ expect(res.fileNames()).toContain('a.js');
59
+ expect(res.get('index.js')).toMatch(/import \{.*a.*} from "\.\//);
60
+ expect(res.get('index.js')).toMatch(/export \{.*b.*}/);
61
+ expect(res.get('a.js')).toMatch(/export \{.*a.*}/);
62
+ } catch (e) {
63
+ env.error = e;
64
+ env.hasError = true;
65
+ } finally{
66
+ const result = _ts_dispose_resources(env);
67
+ if (result) await result;
68
+ }
69
+ });
70
+ await test('wasm', async function wasm() {
71
+ const env = {
72
+ stack: [],
73
+ error: void 0,
74
+ hasError: false
75
+ };
76
+ try {
77
+ const pack = _ts_add_disposable_resource(env, await TemporaryPack.create({
78
+ '.': `import wasm from './x.wasm'; export { wasm };`
79
+ }, {
80
+ './x.wasm': '0ABCF1'
81
+ }), true);
82
+ const builder = new RolldownBundler(pack, new Resolver([
83
+ pack
84
+ ], flags), flags);
85
+ const res = await builder.bundle();
86
+ expect(res.fileNames()).toContain('index.js');
87
+ expect(res.fileNames()).toContain('x.wasm');
88
+ expect(res.get('x.wasm').toString()).toEqual('0ABCF1');
89
+ expect(res.get('index.js')).toContain("new URL(\"x.wasm\"");
90
+ expect(res.get('index.js')).toMatch(/export \{.*wasm.*}/);
91
+ } catch (e) {
92
+ env.error = e;
93
+ env.hasError = true;
94
+ } finally{
95
+ const result = _ts_dispose_resources(env);
96
+ if (result) await result;
97
+ }
98
+ });
99
+ await test('loro-crdt', async function wasm() {
100
+ const pack = await Pack.read('loro-crdt');
101
+ const builder = new RolldownBundler(pack, new Resolver([
102
+ pack
103
+ ], flags), flags);
104
+ const bundle = await builder.bundle();
105
+ expect(bundle.get('index.js')).not.toBeUndefined();
106
+ const wasm = bundle.fileNames().find((x)=>x.endsWith('.wasm'));
107
+ expect(bundle.get(wasm)).not.toBeUndefined();
108
+ const json = await bundle.getBundleJson();
109
+ const deps = new Set([
110
+ ...getAssetsTree(json, 'index.js')
111
+ ].map((x)=>x.path));
112
+ expect(deps.size).toEqual(4);
113
+ function* getAssetsTree(json, start) {
114
+ const asset = json.assets.find((x)=>x.path === start);
115
+ for (let dep of asset.deps['.'] ?? [])yield* getAssetsTree(json, dep);
116
+ yield asset;
117
+ }
118
+ });
119
+ await test('external-pack', async function wasm() {
120
+ const env = {
121
+ stack: [],
122
+ error: void 0,
123
+ hasError: false
124
+ };
125
+ try {
126
+ const pack = _ts_add_disposable_resource(env, await TemporaryPack.create({
127
+ './a': 'import { a } from "@test/external"; export const c = a + 1;'
128
+ }), true);
129
+ const external = _ts_add_disposable_resource(env, await TemporaryPack.create({
130
+ '.': 'export const a = 1'
131
+ }, {}, true, '@test/external'), true);
132
+ const builder = new RolldownBundler(pack, new Resolver([
133
+ pack,
134
+ external
135
+ ], flags), flags);
136
+ const res = await builder.bundle();
137
+ expect(res.get('a.js')).toContain('import { a } from "/_/@test/external/index.js"');
138
+ } catch (e) {
139
+ env.error = e;
140
+ env.hasError = true;
141
+ } finally{
142
+ const result = _ts_dispose_resources(env);
143
+ if (result) await result;
144
+ }
145
+ });
146
+ await test('react', async function wasm() {
147
+ const react = await Pack.read('react');
148
+ const reactDOM = await Pack.read('react-dom');
149
+ const builder = new RolldownBundler(reactDOM, new Resolver([
150
+ react,
151
+ reactDOM
152
+ ], flags), flags);
153
+ const res = await builder.bundle();
154
+ for (let fileName of res.fileNames()){
155
+ if (res.get(fileName).toString().match(/import *.*from.*"react"/)) return;
156
+ }
157
+ });
158
+ await test('uuidv7', async function wasm() {
159
+ const uuidv7 = await Pack.read('uuidv7');
160
+ const builder = new RolldownBundler(uuidv7, new Resolver([], flags), flags);
161
+ const res = await builder.bundle();
162
+ expect(res.fileNames()).toEqual([
163
+ 'index.js'
164
+ ]);
165
+ });
166
+ await test('commonjs', async function commonjs() {
167
+ const env = {
168
+ stack: [],
169
+ error: void 0,
170
+ hasError: false
171
+ };
172
+ try {
173
+ const pack = _ts_add_disposable_resource(env, await TemporaryPack.create({
174
+ '.': `module.exports = { x: 2 };
175
+ exports.a = 1;
176
+ module.exports.c = 3;`
177
+ }, {}, false), true);
178
+ const builder = new RolldownBundler(pack, new Resolver([
179
+ pack
180
+ ], flags), flags);
181
+ const res = await builder.bundle();
182
+ expect(res.get('index.js')).toMatch(/export \{.*a.*}/);
183
+ expect(res.get('index.js')).toMatch(/export \{.*c.*}/);
184
+ expect(res.get('index.js')).toMatch(/export \{.*default.*}/);
185
+ } catch (e) {
186
+ env.error = e;
187
+ env.hasError = true;
188
+ } finally{
189
+ const result = _ts_dispose_resources(env);
190
+ if (result) await result;
191
+ }
192
+ });
193
+ await test('commonjs-dynamic-require', async function commonjsRequire() {
194
+ const env = {
195
+ stack: [],
196
+ error: void 0,
197
+ hasError: false
198
+ };
199
+ try {
200
+ const a = `
201
+ exports.a = 'A_EXPORT_CONST';
202
+ `;
203
+ const b = `
204
+ exports.b = 1;
205
+ exports.getA = function dynamicRequire(){
206
+ exports.a = require('./a.js');
207
+ }
208
+ `;
209
+ const pack = _ts_add_disposable_resource(env, await TemporaryPack.create({
210
+ './a': a,
211
+ './b': b
212
+ }, {}, false), true);
213
+ const builder = new RolldownBundler(pack, new Resolver([
214
+ pack
215
+ ], flags), flags);
216
+ const res = await builder.bundle();
217
+ expect(res.get('b.js')).not.toContain('A_EXPORT_CONST');
218
+ expect(res.get('b.js')).toMatch(/export.*\{.*a.*}/);
219
+ } catch (e) {
220
+ env.error = e;
221
+ env.hasError = true;
222
+ } finally{
223
+ const result = _ts_dispose_resources(env);
224
+ if (result) await result;
225
+ }
226
+ });
227
+ });
228
+ _computedKey = Symbol.asyncDispose;
229
+ class TemporaryPack extends Pack {
230
+ static async create(entries, files = {}, isModule = true, name = '@test/test' + Math.random().toString(36).substring(2)) {
231
+ const json = {
232
+ name,
233
+ version: '1.0.0',
234
+ exports: {},
235
+ type: isModule ? 'module' : 'commonjs'
236
+ };
237
+ const node_modules = this.getNodeModulesPath();
238
+ const root = join(node_modules, name);
239
+ await fs.mkdir(root, {
240
+ recursive: true
241
+ });
242
+ for (let [name, content] of Object.entries(entries)){
243
+ let file = !name || name == '.' ? './index.js' : name + '.js';
244
+ json.exports[name] = file;
245
+ await fs.writeFile(join(root, file), content, 'utf-8');
246
+ }
247
+ for (let [name, content] of Object.entries(files)){
248
+ await fs.writeFile(join(root, name), content, 'utf-8');
249
+ }
250
+ await fs.writeFile(join(root, 'package.json'), JSON.stringify(json), 'utf-8');
251
+ return new TemporaryPack(root, json);
252
+ }
253
+ static getNodeModulesPath(dir = process.cwd()) {
254
+ if (existsSync(dir + '/node_modules')) return dir + '/node_modules';
255
+ const parent = dirname(dir);
256
+ return this.getNodeModulesPath(parent);
257
+ }
258
+ async [_computedKey]() {
259
+ await fs.rm(this.rootDir, {
260
+ recursive: true,
261
+ force: true
262
+ });
263
+ }
264
+ }
265
+ async function getPackageJSON(pkg) {
266
+ const resolved = import.meta.resolve(pkg);
267
+ const file = fileURLToPath(resolved);
268
+ let dir = path.dirname(file);
269
+ while(true){
270
+ const packageJsonText = await fs.readFile(path.resolve(dir, 'package.json'), {
271
+ encoding: 'utf-8'
272
+ }).catch(()=>null);
273
+ if (packageJsonText) return JSON.parse(packageJsonText);
274
+ dir = path.resolve(dir, '..');
275
+ }
276
+ }
277
+
278
+ //# sourceMappingURL=rolldown.specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/mnt/dev/cmmn/tools/specs/rolldown.specs.ts"],"names":["describe","test","fileURLToPath","path","dirname","join","fs","expect","RolldownBundler","Pack","Resolver","existsSync","Flags","flags","dependencyBuilder","asIs","pack","TemporaryPack","create","builder","res","bundle","fileNames","toEqual","get","toMatch","external","toContain","wasm","toString","read","not","toBeUndefined","find","x","endsWith","json","getBundleJson","deps","Set","getAssetsTree","map","size","start","asset","assets","dep","react","reactDOM","fileName","match","uuidv7","commonjs","commonjsRequire","a","b","Symbol","asyncDispose","entries","files","isModule","name","Math","random","substring","version","exports","type","node_modules","getNodeModulesPath","root","mkdir","recursive","content","Object","file","writeFile","JSON","stringify","dir","process","cwd","parent","rm","rootDir","force","getPackageJSON","pkg","resolved","resolve","packageJsonText","readFile","encoding","catch","parse"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { describe, test } from "node:test";
2
+ import { expect } from "expect";
3
+ import { fileURLToPath } from "node:url";
4
+ import { Monorepo } from "../model/monorepo.js";
5
+ describe('target', async function target() {
6
+ const monorepo = await Monorepo.load();
7
+ const targets = monorepo.packs;
8
+ const map = new Map(targets.map((x)=>[
9
+ x.packageJson.name,
10
+ x
11
+ ]));
12
+ await describe('@cmmn/core', function() {
13
+ const target = map.get('@cmmn/core');
14
+ test('entries', function() {
15
+ expect(target.entries).toHaveLength(1);
16
+ const entry = target.getEntry("");
17
+ expect(entry.name).toBe("");
18
+ expect(entry.source).toBe(fileURLToPath(import.meta.resolve("@cmmn/core")));
19
+ expect(entry.relative).toBe("index.ts");
20
+ expect(entry.output).toBe("index.js");
21
+ expect(entry.isExcluded).toBe(false);
22
+ expect(entry.isHTML).toBe(false);
23
+ expect(entry.isJavaScript).toBe(false);
24
+ expect(entry.isTypeScript).toBe(true);
25
+ });
26
+ });
27
+ await describe('@cmmn/uhtml', function() {
28
+ const target = map.get('@cmmn/uhtml');
29
+ test('entries', function() {
30
+ expect(target.entries).toHaveLength(1);
31
+ const entry = target.getEntry("");
32
+ expect(entry.name).toBe("");
33
+ expect(entry.source).toBe(fileURLToPath(import.meta.resolve("@cmmn/uhtml")));
34
+ expect(entry.relative).toBe("index.ts");
35
+ expect(entry.output).toBe("index.js");
36
+ expect(entry.isExcluded).toBe(false);
37
+ expect(entry.isHTML).toBe(false);
38
+ expect(entry.isJavaScript).toBe(false);
39
+ expect(entry.isTypeScript).toBe(true);
40
+ });
41
+ });
42
+ await describe('@cmmn/service-worker', function() {
43
+ const target = map.get('@cmmn/service-worker');
44
+ for (let entryName of [
45
+ 'client',
46
+ 'worker'
47
+ ]){
48
+ test(entryName, function() {
49
+ const entry = target.getEntry(entryName);
50
+ expect(entry.name).toBe(entryName);
51
+ expect(entry.source).toBe(fileURLToPath(import.meta.resolve(`@cmmn/service-worker/${entryName}`)));
52
+ expect(entry.relative).toBe(`${entryName}/index.ts`);
53
+ expect(entry.output).toBe(`${entryName}.js`);
54
+ expect(entry.isExcluded).toBe(false);
55
+ expect(entry.isHTML).toBe(false);
56
+ expect(entry.isJavaScript).toBe(false);
57
+ expect(entry.isTypeScript).toBe(true);
58
+ });
59
+ }
60
+ });
61
+ await describe('@cmmn/examples-client', function() {
62
+ const target = map.get('@cmmn/examples-client');
63
+ test('entries', function() {
64
+ expect(target.entries).toHaveLength(1);
65
+ const entry = target.getEntry("");
66
+ expect(entry.name).toBe("");
67
+ expect(entry.source).toBe(fileURLToPath(import.meta.resolve("@cmmn/examples-client")));
68
+ expect(entry.relative).toBe("src/index.html");
69
+ expect(entry.output).toBe("index.html");
70
+ expect(entry.isExcluded).toBe(false);
71
+ expect(entry.isHTML).toBe(true);
72
+ expect(entry.isJavaScript).toBe(false);
73
+ expect(entry.isTypeScript).toBe(false);
74
+ });
75
+ });
76
+ await describe('@cmmn/examples-counter', function() {
77
+ const target = map.get('@cmmn/examples-counter');
78
+ test('entries', function() {
79
+ expect(target.entries).toHaveLength(1);
80
+ const entry = target.getEntry("");
81
+ expect(entry.name).toBe("");
82
+ expect(entry.source).toBe(fileURLToPath(import.meta.resolve("@cmmn/examples-counter")));
83
+ expect(entry.relative).toBe("index.html");
84
+ expect(entry.output).toBe("index.html");
85
+ expect(entry.isExcluded).toBe(false);
86
+ expect(entry.isHTML).toBe(true);
87
+ expect(entry.isJavaScript).toBe(false);
88
+ expect(entry.isTypeScript).toBe(false);
89
+ });
90
+ });
91
+ await describe('@cmmn/ui', function() {
92
+ const target = map.get('@cmmn/ui');
93
+ test('entries', function() {
94
+ expect(target.entries).toHaveLength(1);
95
+ const entry = target.getEntry("");
96
+ expect(entry.name).toBe("");
97
+ expect(entry.source).toBe(fileURLToPath(import.meta.resolve("@cmmn/ui")));
98
+ expect(entry.relative).toBe("index.ts");
99
+ expect(entry.output).toBe("index.js");
100
+ expect(entry.isExcluded).toBe(false);
101
+ expect(entry.isHTML).toBe(false);
102
+ expect(entry.isJavaScript).toBe(false);
103
+ expect(entry.isTypeScript).toBe(true);
104
+ });
105
+ });
106
+ });
107
+
108
+ //# sourceMappingURL=target-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/mnt/dev/cmmn/tools/specs/target-specs.ts"],"names":["describe","test","expect","fileURLToPath","Monorepo","target","monorepo","load","targets","packs","map","Map","x","packageJson","name","get","entries","toHaveLength","entry","getEntry","toBe","source","resolve","relative","output","isExcluded","isHTML","isJavaScript","isTypeScript","entryName"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { describe, test } from "node:test";
2
+ import { expect } from "expect";
3
+ import { Monorepo } from "../model/monorepo.js";
4
+ import { Flags } from "../model/flags.js";
5
+ describe('vite-bundler', async function target() {
6
+ const flags = new Flags([
7
+ '--prod'
8
+ ]);
9
+ const monorepo = await Monorepo.load(flags);
10
+ async function getBundle(pkg) {
11
+ const target = monorepo.get(pkg);
12
+ const viteBuilder = monorepo.createBundler(target);
13
+ return await viteBuilder.bundle();
14
+ }
15
+ await test('@cmmn/core', async function() {
16
+ const bundle = await getBundle('@cmmn/core');
17
+ expect(bundle.fileNames()).toEqual([
18
+ 'index.js'
19
+ ]);
20
+ });
21
+ await test('@cmmn/sync', async function() {
22
+ const bundle = await getBundle('@cmmn/sync');
23
+ expect(bundle.fileNames()).toEqual([
24
+ 'index.js',
25
+ 'storage.js'
26
+ ]);
27
+ });
28
+ await test('@cmmn/server', async function() {
29
+ const bundle = await getBundle('@cmmn/server');
30
+ expect(bundle.fileNames()).toEqual([
31
+ 'index.js'
32
+ ]);
33
+ const json = await bundle.getBundleJson();
34
+ expect(json.assets[0].size).toBeLessThan(1024 * 1024);
35
+ });
36
+ await test('@cmmn/examples-client', async function() {
37
+ const bundle = await getBundle('@cmmn/examples-client');
38
+ const json = await bundle.getBundleJson();
39
+ // expect(assets).toContain('index.js')
40
+ expect(json.baseURI).toEqual('/example/react');
41
+ const index = json.assets.find((x)=>x.path == 'index.html');
42
+ const regex = new RegExp(index.regex);
43
+ expect('').toMatch(regex);
44
+ expect('/dashboard').toMatch(regex);
45
+ expect('@vite').not.toMatch(regex);
46
+ expect('index.js').not.toMatch(regex);
47
+ const allDeps = new Map();
48
+ for (let asset of json.assets){
49
+ for(let pack in asset.deps){
50
+ if (!allDeps.has(pack)) allDeps.set(pack, new Set());
51
+ asset.deps[pack].forEach((x)=>allDeps.get(pack).add(x));
52
+ }
53
+ }
54
+ expect(allDeps.get('/_/@cmmn/ui').size).toBe(1);
55
+ expect(allDeps.get('/_/@cmmn/sync').size).toBe(2);
56
+ expect(allDeps.get('/_/@cmmn/service-worker').size).toBe(1);
57
+ expect(allDeps.get('.').size).toBeGreaterThan(1);
58
+ });
59
+ await test('@cmmn/examples-model', async function() {
60
+ const bundle = await getBundle('@cmmn/examples-model');
61
+ const json = await bundle.getBundleJson();
62
+ const allDeps = new Map();
63
+ for (let asset of json.assets){
64
+ for(let pack in asset.deps){
65
+ if (!allDeps.has(pack)) allDeps.set(pack, new Set());
66
+ asset.deps[pack].forEach((x)=>allDeps.get(pack).add(x));
67
+ }
68
+ }
69
+ expect(allDeps.size).toBe(2);
70
+ expect(allDeps.get('/_/@cmmn/core').size).toBe(1);
71
+ expect(allDeps.get('/_/@cmmn/sync').size).toBe(1);
72
+ });
73
+ });
74
+
75
+ //# sourceMappingURL=vite-bundler.specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/mnt/dev/cmmn/tools/specs/vite-bundler.specs.ts"],"names":["describe","test","expect","Monorepo","Flags","target","flags","monorepo","load","getBundle","pkg","get","viteBuilder","createBundler","bundle","fileNames","toEqual","json","getBundleJson","assets","size","toBeLessThan","baseURI","index","find","x","path","regex","RegExp","toMatch","not","allDeps","Map","asset","pack","deps","has","set","Set","forEach","add","toBe","toBeGreaterThan"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import * as t from "node:test";
2
+ import * as assert from "node:assert";
3
+ import { expect } from "expect";
4
+ function _suite(target, context) {
5
+ t.suite(context.name, (ctx)=>{
6
+ const result = new target(ctx);
7
+ if (result.after) t.after(result.after.bind(result));
8
+ if (result.before) t.before(result.before.bind(result));
9
+ if (result.afterEach) t.afterEach(result.afterEach.bind(result));
10
+ if (result.beforeEach) t.beforeEach(result.beforeEach.bind(result));
11
+ });
12
+ }
13
+ function _test(method, context) {
14
+ context.addInitializer(function() {
15
+ return t.test(context.name.toString(), method.bind(this));
16
+ });
17
+ }
18
+ export const test = (target, ctx)=>{
19
+ if (ctx == undefined) return _test;
20
+ return _test(target, ctx);
21
+ };
22
+ export const suite = (target, ctx)=>{
23
+ if (ctx == undefined) return _suite;
24
+ return _suite(target, ctx);
25
+ };
26
+ export const describe = suite;
27
+ export { assert, expect };
28
+ export { mock } from "node:test";
29
+
30
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/mnt/dev/cmmn/tools/test/test.ts"],"names":["t","assert","expect","_suite","target","context","suite","name","ctx","result","after","bind","before","afterEach","beforeEach","_test","method","addInitializer","test","toString","undefined","describe","mock"],"mappings":"AAAA,YAAYA,OAAO,YAAY;AAC/B,YAAYC,YAAY,cAAc;AACtC,SAASC,MAAM,QAAQ,SAAS;AAEhC,SAASC,OACLC,MAAc,EACdC,OAAsC;IAEtCL,EAAEM,KAAK,CAACD,QAAQE,IAAI,EAAE,CAACC;QACnB,MAAMC,SAAS,IAAIL,OAAOI;QAC1B,IAAIC,OAAOC,KAAK,EAAEV,EAAEU,KAAK,CAACD,OAAOC,KAAK,CAACC,IAAI,CAACF;QAC5C,IAAIA,OAAOG,MAAM,EAAEZ,EAAEY,MAAM,CAACH,OAAOG,MAAM,CAACD,IAAI,CAACF;QAC/C,IAAIA,OAAOI,SAAS,EAAEb,EAAEa,SAAS,CAACJ,OAAOI,SAAS,CAACF,IAAI,CAACF;QACxD,IAAIA,OAAOK,UAAU,EAAEd,EAAEc,UAAU,CAACL,OAAOK,UAAU,CAACH,IAAI,CAACF;IAC/D;AACJ;AAEA,SAASM,MACLC,MAAc,EACdX,OAAoD;IAEpDA,QAAQY,cAAc,CAAC;QACnB,OAAOjB,EAAEkB,IAAI,CAACb,QAAQE,IAAI,CAACY,QAAQ,IAAIH,OAAOL,IAAI,CAAC,IAAI;IAC3D;AACJ;AACA,OAAO,MAAMO,OAER,CAACd,QAAQI;IACV,IAAIA,OAAOY,WACP,OAAOL;IACX,OAAOA,MAAMX,QAAQI;AACzB,EAAU;AACV,OAAO,MAAMF,QAER,CAACF,QAAQI;IACV,IAAIA,OAAOY,WACP,OAAOjB;IACX,OAAOA,OAAOC,QAAQI;AAC1B,EAAU;AACV,OAAO,MAAMa,WAAWf,MAAM;AAE9B,SAASL,MAAM,EAAEC,MAAM,GAAG;AAC1B,SAASoB,IAAI,QAA6C,YAAY"}
@@ -0,0 +1 @@
1
+ {"root":["../bin.ts","../index.ts","../bundlers/rolldown-bundler.ts","../bundlers/types.ts","../bundlers/vite.builder.ts","../bundlers/vite.bundler.ts","../bundlers/plugins/minify.ts","../bundlers/plugins/wasm.ts","../commands/bundle.ts","../commands/cert.js","../commands/clean.ts","../commands/compile.ts","../commands/dev.ts","../commands/format.js","../commands/gen.js","../commands/host.js","../commands/index.js","../commands/lint.js","../commands/nginx.js","../commands/publish.ts","../commands/typings.ts","../commands/version.js","../helpers/fastify-compress.ts","../helpers/getTSConfig.ts","../helpers/terminal.js","../helpers/watcher.ts","../model/bundle.ts","../model/flags.ts","../model/monorepo.ts","../model/pack.ts","../model/resolver.ts","../model/target.ts","../servers/bundle-server.ts","../servers/dev-server.ts","../servers/pack-server.ts","../servers/target-runnner.ts","../servers/vite-dev-server.ts","../specs/dev-server.specs.ts","../specs/monorepo.specs.ts","../specs/resolver.specs.ts","../specs/rolldown.specs.ts","../specs/target-specs.ts","../specs/vite-bundler.specs.ts","../test/test.ts"],"errors":true,"version":"5.8.3"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Plugin } from "vite";
2
+ /**
3
+ * Custom plugin to apply terser during the bundle generation. Vite doesn't minify library ES
4
+ * modules.
5
+ */
6
+ export declare function swcMinifyPlugin(): Plugin;
@@ -0,0 +1,5 @@
1
+ import { Plugin } from "vite";
2
+ export declare function wasm(options?: {
3
+ emitAsset?: boolean;
4
+ assetName?: string;
5
+ }): Plugin;
@@ -0,0 +1,18 @@
1
+ import { Bundle } from "../model/bundle";
2
+ import { Pack } from "../model/pack";
3
+ import { Resolver } from "../model/resolver";
4
+ import { Flags } from "../model/flags";
5
+ import { IBundler } from "./types";
6
+ import { Plugin } from "rolldown";
7
+ export declare class RolldownBundler implements IBundler {
8
+ private pack;
9
+ private resolver;
10
+ private flags;
11
+ constructor(pack: Pack, resolver: Resolver, flags: Flags);
12
+ private getFileContent;
13
+ dir: string;
14
+ getInputs(): Promise<AsyncDisposable & Record<string, string>>;
15
+ private getConfig;
16
+ getPlugins(): Generator<Plugin>;
17
+ bundle(): Promise<Bundle>;
18
+ }
@@ -0,0 +1,4 @@
1
+ import { Bundle } from "../model/bundle";
2
+ export interface IBundler {
3
+ bundle(): Promise<Bundle>;
4
+ }
@@ -0,0 +1,12 @@
1
+ import { Target } from "../model/target";
2
+ import { Resolver } from "../model/resolver";
3
+ import { InlineConfig, Plugin } from "vite";
4
+ import { Flags } from "../model/flags";
5
+ export declare class ViteBuilder {
6
+ protected readonly target: Target;
7
+ protected readonly resolver: Resolver;
8
+ protected readonly flags: Flags;
9
+ constructor(target: Target, resolver: Resolver, flags: Flags);
10
+ getConfig(): Promise<InlineConfig>;
11
+ getPlugins(): Generator<Plugin>;
12
+ }
@@ -0,0 +1,9 @@
1
+ import { InlineConfig } from "vite";
2
+ import { IBundler } from "./types";
3
+ import { Bundle } from "../model/bundle";
4
+ import { ViteBuilder } from "./vite.builder";
5
+ export declare class ViteBundler extends ViteBuilder implements IBundler {
6
+ getBundleConfig(): Promise<InlineConfig>;
7
+ private createBundle;
8
+ bundle(): Promise<Bundle>;
9
+ }
@@ -0,0 +1,2 @@
1
+ import { Flags } from "../model/flags";
2
+ export declare function bundle(flags: Flags): Promise<void>;
@@ -0,0 +1 @@
1
+ export function cert(...flags: any[]): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import { Flags } from "../model/flags";
2
+ export declare function clean(flags: Flags): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import { Flags } from "../model/flags";
2
+ export declare function compile(flags: Flags): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import { Flags } from "../model/flags";
2
+ export declare function dev(flags: Flags): Promise<any>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @param flags
3
+ * @returns {Promise<import('@swc/types').Config>}
4
+ */
5
+ export function format(...flags: any[]): Promise<import("@swc/types").Config>;
@@ -0,0 +1 @@
1
+ export function gen(name: any, directory: any, nested?: boolean): Promise<void>;
@@ -0,0 +1 @@
1
+ export function host(...flags: any[]): Promise<void>;
@@ -0,0 +1,10 @@
1
+ export { compile } from "./compile.ts";
2
+ export { typings } from "./typings.ts";
3
+ export { gen } from "./gen.js";
4
+ export { bundle } from "./bundle.ts";
5
+ export { dev } from "./dev.ts";
6
+ export { publish } from "./publish.ts";
7
+ export { format } from "./format.js";
8
+ export { lint } from "./lint.js";
9
+ export { version } from "./version.js";
10
+ export { host } from "./host.js";