zova-cli-set-front 1.2.93 → 1.2.94

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.
package/dist/index.js CHANGED
@@ -252,14 +252,20 @@ class CliBinBuildRest extends BeanCliBase {
252
252
  // Modules
253
253
  const modules = [];
254
254
  const bundleModules = [];
255
+ const sideEffectImportModuleNames = [];
255
256
  for (const module of modulesMeta.modulesArray) {
256
- modules.push(`export * from '${module.info.fullName}';`);
257
+ const moduleName = module.info.fullName;
258
+ modules.push(`import '${moduleName}';`);
259
+ modules.push(`export * from '${moduleName}';`);
257
260
  const moduleRoot = module.root.replaceAll('\\', '/');
258
261
  if (moduleRoot.includes('/src/module/') || moduleRoot.includes('/src/suite/')) {
259
- bundleModules.push(module.info.fullName);
262
+ bundleModules.push(moduleName);
263
+ } else {
264
+ sideEffectImportModuleNames.push(moduleName);
260
265
  }
261
266
  }
262
267
  context.bundleModules = bundleModules;
268
+ context.sideEffectImportModuleNames = sideEffectImportModuleNames;
263
269
  argv.Modules = modules.join('\n');
264
270
  // Name/Version
265
271
  argv.Name = bundleName;
@@ -297,7 +303,8 @@ class CliBinBuildRest extends BeanCliBase {
297
303
  async _buildDts({
298
304
  srcDir,
299
305
  outDir,
300
- bundleModules
306
+ bundleModules,
307
+ sideEffectImportModuleNames
301
308
  }) {
302
309
  // entry
303
310
  const entry = path.join(srcDir, 'index.ts');
@@ -325,6 +332,15 @@ class CliBinBuildRest extends BeanCliBase {
325
332
  }
326
333
  // minify: true,
327
334
  });
335
+ await this._injectDtsImports(outDir, sideEffectImportModuleNames);
336
+ }
337
+ async _injectDtsImports(outDir, sideEffectImportModuleNames) {
338
+ const fileIndex = path.join(outDir, 'index.d.mts');
339
+ let fileContent = (await fse.readFile(fileIndex)).toString();
340
+ const imports = sideEffectImportModuleNames.filter(moduleName => !fileContent.includes(`import "${moduleName}";`)).map(moduleName => `import "${moduleName}";`);
341
+ if (imports.length === 0) return;
342
+ fileContent = `${imports.join('\n')}\n${fileContent}`;
343
+ await fse.writeFile(fileIndex, fileContent);
328
344
  }
329
345
  async _build(buildContext) {
330
346
  const {
@@ -369,7 +385,7 @@ async function _extractDeps(filePath) {
369
385
  const pos = content.indexOf('//#region');
370
386
  content = content.substring(0, pos);
371
387
  const packageNames = new Set();
372
- const re = /import\s+[\s\S]*?\s+from\s+['"]([^'"]+)['"]/g;
388
+ const re = /import\s+(?:[\s\S]*?\s+from\s+)?['"]([^'"]+)['"]/g;
373
389
  let match;
374
390
  while (true) {
375
391
  match = re.exec(content);
@@ -16,12 +16,14 @@ interface IBinBuildRestContext {
16
16
  srcDir: string;
17
17
  outDir: string;
18
18
  bundleModules?: string[];
19
+ sideEffectImportModuleNames?: string[];
19
20
  }
20
21
  export declare class CliBinBuildRest extends BeanCliBase {
21
22
  execute(): Promise<void>;
22
23
  _prepareResources(context: IBinBuildRestContext): Promise<void>;
23
24
  _buildTs({ srcDir, outDir }: IBinBuildRestContext): Promise<void>;
24
- _buildDts({ srcDir, outDir, bundleModules }: IBinBuildRestContext): Promise<void>;
25
+ _buildDts({ srcDir, outDir, bundleModules, sideEffectImportModuleNames, }: IBinBuildRestContext): Promise<void>;
26
+ _injectDtsImports(outDir: string, sideEffectImportModuleNames: string[]): Promise<void>;
25
27
  _build(buildContext: IBinBuildRestContext): Promise<void>;
26
28
  }
27
29
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zova-cli-set-front",
3
- "version": "1.2.93",
4
- "gitHead": "e12433f9ed9e7bba82a4c80458bbf0893e56348f",
3
+ "version": "1.2.94",
4
+ "gitHead": "2b67a70e9c2a1703aec3665ddd12d39413015fbf",
5
5
  "description": "zova cli-set-front",
6
6
  "keywords": [
7
7
  "framework",