zova-cli-set-front 1.2.119 → 1.2.120

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.
@@ -1,6 +1,6 @@
1
1
  import { metadataCustomSnippet } from '@cabloy/cli';
2
2
 
3
- const __snippet_declare = "import { ZPage<%=argv.nameMeta.fullCapitalize%> } from './.metadata/page/<%=argv.pageName%>.js';\n";
3
+ const __snippet_declare = "import { ZPage<%=argv.nameMeta.fullCapitalize%> } from './.metadata/page/<%=argv.pageName%>.ts';\n";
4
4
  const __snippet_body = '{ path: \'<%=argv.moduleInfo.name!==argv.pageName?argv.pageName:""%>\', component: ZPage<%=argv.nameMeta.fullCapitalize%> },';
5
5
 
6
6
  export default metadataCustomSnippet({
@@ -19,7 +19,7 @@ export default metadataCustomSnippet({
19
19
  ast = ast.replace(" } from 'zova';", ", Use } from 'zova';");
20
20
  }
21
21
  ast = ast
22
- .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.renderClassName} } from './render.${argv.renderName}.jsx';`)
22
+ .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.renderClassName} } from './render.${argv.renderName}.tsx';`)
23
23
  .replace(
24
24
  'extends BeanRenderBase {',
25
25
  `extends BeanRenderBase {\n @Use()\n $$$$render${argv.renderNameCapitalize}: ${argv.renderClassName};\n`,
@@ -19,7 +19,7 @@ export default metadataCustomSnippet({
19
19
  ast = ast.replace(" } from 'zova';", ", Use } from 'zova';");
20
20
  }
21
21
  ast = ast
22
- .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.styleClassName} } from './style.${argv.styleName}.js';`)
22
+ .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.styleClassName} } from './style.${argv.styleName}.ts';`)
23
23
  .replace('extends BeanStyleBase {', `extends BeanStyleBase {\n @Use()\n $$$$style${argv.styleNameCapitalize}: ${argv.styleClassName};\n`);
24
24
  // ok
25
25
  return ast;
package/dist/index.js CHANGED
@@ -1779,7 +1779,7 @@ export const OpenApiBaseURL = (sys: ZovaSys) => {
1779
1779
  });
1780
1780
  // output: openapi/index.ts
1781
1781
  const indexFile = path.join(module.root, 'src/api/openapi/index.ts');
1782
- await fse.outputFile(indexFile, "export * from './baseURL.js';\nexport * from './schemas.js';\nexport * from './types.js';");
1782
+ await fse.outputFile(indexFile, "export * from './baseURL.ts';\nexport * from './schemas.ts';\nexport * from './types.ts';");
1783
1783
  await this.helper.formatFile({
1784
1784
  fileName: indexFile
1785
1785
  });
@@ -1799,7 +1799,7 @@ export const OpenApiBaseURL = (sys: ZovaSys) => {
1799
1799
  }
1800
1800
  let contentSchemas = typeSchemas.join('\n');
1801
1801
  if (contentSchemas.includes('components["schemas"]')) {
1802
- contentSchemas = `import type { components } from './types.js';\n${contentSchemas}`;
1802
+ contentSchemas = `import type { components } from './types.ts';\n${contentSchemas}`;
1803
1803
  }
1804
1804
  contentSchemas = `// eslint-disable\n${contentSchemas}`;
1805
1805
  return contentSchemas;
@@ -1959,8 +1959,8 @@ export const OpenApiBaseURL = (sys: ZovaSys) => {
1959
1959
  if (contentSignatures.length > 0) importsOpenapiValue.push('OpenApiBaseURL');
1960
1960
  if (contentTypes2.includes('components["schemas"]')) importsOpenapiType.push('components');
1961
1961
  if (contentTypes2.includes('paths[')) importsOpenapiType.push('paths');
1962
- const contentImportsOpenapiValue = importsOpenapiValue.length > 0 ? `import { ${importsOpenapiValue.join(', ')} } from './openapi/index.js';` : '';
1963
- const contentImportsOpenapiType = importsOpenapiType.length > 0 ? `import type { ${importsOpenapiType.join(', ')} } from './openapi/index.js';` : '';
1962
+ const contentImportsOpenapiValue = importsOpenapiValue.length > 0 ? `import { ${importsOpenapiValue.join(', ')} } from './openapi/index.ts';` : '';
1963
+ const contentImportsOpenapiType = importsOpenapiType.length > 0 ? `import type { ${importsOpenapiType.join(', ')} } from './openapi/index.ts';` : '';
1964
1964
  const contentImportsOpenapi = [contentImportsOpenapiValue, contentImportsOpenapiType].filter(item => !!item).join('\n');
1965
1965
  // apiContent
1966
1966
  const apiContent = `import { Api, BeanApiBase } from 'zova-module-a-api';
@@ -1989,7 +1989,7 @@ export class Api${apiName} extends BeanApiBase {
1989
1989
  }
1990
1990
  `);
1991
1991
  }
1992
- const contentImportsApiPath = importsApiPath.length > 0 ? `import { ${importsApiPath.join(', ')} } from '../api/${apiNameLower}.js';` : '';
1992
+ const contentImportsApiPath = importsApiPath.length > 0 ? `import { ${importsApiPath.join(', ')} } from '../api/${apiNameLower}.ts';` : '';
1993
1993
  const apiMetaContent = `import { BeanBase } from 'zova';
1994
1994
  import { ApiMeta } from 'zova-module-a-api';
1995
1995
  ${contentImportsApiPath}
@@ -2650,7 +2650,7 @@ class CliRefactorRenameComponent extends BeanCliBase {
2650
2650
  const routesFile = path.join(targetDir, 'src/routes.ts');
2651
2651
  let content = (await fse.readFile(routesFile)).toString();
2652
2652
  //
2653
- content = content.replace(`import { ZPage${argv.nameMeta.shortCapitalize} } from './.metadata/page/${argv.nameMeta.short}.js';`, `import { ZPage${argv.componentNameNewCapitalize} } from './.metadata/page/${argv.componentNameNew}.js';`);
2653
+ content = content.replace(`import { ZPage${argv.nameMeta.shortCapitalize} } from './.metadata/page/${argv.nameMeta.short}.ts';`, `import { ZPage${argv.componentNameNewCapitalize} } from './.metadata/page/${argv.componentNameNew}.ts';`);
2654
2654
  //
2655
2655
  const ast = gogocode(content);
2656
2656
  const astNode = ast.find('export const routes: IModuleRoute[] = [$_$]');
@@ -2776,8 +2776,8 @@ async function generateConfig(modulePath) {
2776
2776
  if (!(await fse.pathExists(configFile))) return '';
2777
2777
  // combine
2778
2778
  const content = `/** config: begin */
2779
- export * from '../config/config.js';
2780
- import { config } from '../config/config.js';
2779
+ export * from '../config/config.ts';
2780
+ import { config } from '../config/config.ts';
2781
2781
  /** config: end */
2782
2782
  `;
2783
2783
  return content;
@@ -2787,8 +2787,8 @@ async function generateConstant(modulePath) {
2787
2787
  if (!(await fse.pathExists(constantFile))) return '';
2788
2788
  // combine
2789
2789
  const content = `/** constant: begin */
2790
- export * from '../config/constants.js';
2791
- import { constants } from '../config/constants.js';
2790
+ export * from '../config/constants.ts';
2791
+ import { constants } from '../config/constants.ts';
2792
2792
  /** constant: end */
2793
2793
  `;
2794
2794
  return content;
@@ -2804,7 +2804,7 @@ async function generateLocale1(modulePath) {
2804
2804
  for (const file of files) {
2805
2805
  const localeName = path.basename(file, '.ts');
2806
2806
  const className = `locale_${localeName.replace('-', '_')}`;
2807
- contentImports.push(`import ${className} from '../config/locale/${localeName}.js';`);
2807
+ contentImports.push(`import ${className} from '../config/locale/${localeName}.ts';`);
2808
2808
  contentLocales.push(` '${localeName}': ${className},`);
2809
2809
  }
2810
2810
  // combine
@@ -2820,7 +2820,7 @@ async function generateLocale2(contentLocales) {
2820
2820
  if (!contentLocales) return '';
2821
2821
  // combine
2822
2822
  const content = `/** locale: begin */
2823
- import { locales } from './locales.js';
2823
+ import { locales } from './locales.ts';
2824
2824
  /** locale: end */
2825
2825
  `;
2826
2826
  return content;
@@ -2830,8 +2830,8 @@ async function generateError(modulePath) {
2830
2830
  if (!(await fse.pathExists(errorFile))) return '';
2831
2831
  // combine
2832
2832
  const content = `/** error: begin */
2833
- export * from '../config/errors.js';
2834
- import { errors } from '../config/errors.js';
2833
+ export * from '../config/errors.ts';
2834
+ import { errors } from '../config/errors.ts';
2835
2835
  /** error: end */
2836
2836
  `;
2837
2837
  return content;
@@ -2995,7 +2995,7 @@ async function generateMonkey_common(modulePath, commandName) {
2995
2995
  if (!(await fse.pathExists(monkeyFile))) return '';
2996
2996
  // combine
2997
2997
  const content = `/** ${commandName}: begin */
2998
- export * from '../${commandName}.js';
2998
+ export * from '../${commandName}.ts';
2999
2999
  /** ${commandName}: end */
3000
3000
  `;
3001
3001
  return content;
@@ -3005,7 +3005,7 @@ async function generateMain_common(modulePath, commandName) {
3005
3005
  if (!(await fse.pathExists(monkeyFile))) return '';
3006
3006
  // combine
3007
3007
  const content = `/** ${commandName}: begin */
3008
- export * from '../${commandName}.js';
3008
+ export * from '../${commandName}.ts';
3009
3009
  /** ${commandName}: end */
3010
3010
  `;
3011
3011
  return content;
@@ -3039,8 +3039,8 @@ async function globAllTsFiles(moduleName, modulePath) {
3039
3039
  if (fileName.startsWith('_')) continue;
3040
3040
  const parts = fileName.split('.').slice(0, -1);
3041
3041
  const isIgnore = checkIgnoreOfParts(parts);
3042
- const fileNameJS = fileName.replace('.ts', '.js').replace('.tsx', '.jsx');
3043
- const fileNameJSRelative = path.relative(pathMetadata, filePath).replace(/\\/g, '/').replace('.ts', '.js').replace('.tsx', '.jsx');
3042
+ const fileNameJS = fileName;
3043
+ const fileNameJSRelative = path.relative(pathMetadata, filePath).replace(/\\/g, '/');
3044
3044
  const fileContent = fse.readFileSync(filePath).toString();
3045
3045
  const isVirtual = fileContent.includes('@Virtual()');
3046
3046
  const isPreload = fileContent.includes('@Preload()');
@@ -3304,7 +3304,7 @@ async function generateScope(moduleName, relativeNameCapitalize, scopeResources,
3304
3304
  // combine
3305
3305
  const content = `/** scope: begin */
3306
3306
  import { ${contentImports.join(', ')} } from 'zova';
3307
- import { Scope } from '${moduleName === 'a-bean' ? '../lib/scope.js' : 'zova-module-a-bean'}';
3307
+ import { Scope } from '${moduleName === 'a-bean' ? '../lib/scope.ts' : 'zova-module-a-bean'}';
3308
3308
 
3309
3309
  @Scope()
3310
3310
  export class ScopeModule${relativeNameCapitalize} extends BeanScopeBase {}
@@ -3372,7 +3372,7 @@ async function generateScopeResourcesMeta(globFiles, metaName, _metaMeta, _scene
3372
3372
  if (globFiles.length === 0) return '';
3373
3373
  // combine
3374
3374
  const content = `/** meta ${metaName}: begin */
3375
- import { Meta${toUpperCaseFirstChar(metaName)} } from '../bean/meta.${metaName}.js';
3375
+ import { Meta${toUpperCaseFirstChar(metaName)} } from '../bean/meta.${metaName}.ts';
3376
3376
  /** meta ${metaName}: end */
3377
3377
  `;
3378
3378
  return content;
@@ -3524,14 +3524,30 @@ class CliToolsMetadata extends BeanCliBase {
3524
3524
  }
3525
3525
  async _generateThis(moduleName, relativeNameCapitalize, modulePath) {
3526
3526
  const thisDest = path.join(modulePath, 'src/.metadata/this.ts');
3527
- if (await fse.pathExists(thisDest)) return;
3527
+ const exportLine = `export { ScopeModule${relativeNameCapitalize} as ScopeModule } from './index.ts';`;
3528
+ if (await fse.pathExists(thisDest)) {
3529
+ const content = await fse.readFile(thisDest, 'utf8');
3530
+ const migrated = this._migrateOwnedExport(content, exportLine);
3531
+ if (migrated !== content) await fse.writeFile(thisDest, migrated);
3532
+ return;
3533
+ }
3528
3534
  const content = `export const __ThisModule__ = '${moduleName}';
3529
- export { ScopeModule${relativeNameCapitalize} as ScopeModule } from './index.js';
3535
+ ${exportLine}
3530
3536
  `;
3531
3537
  // save
3532
3538
  await fse.writeFile(thisDest, content);
3533
3539
  }
3540
+ _migrateOwnedExport(content, exportLine) {
3541
+ const pattern = escapeRegExp(exportLine).replace('\\.ts', '\\.(?:js|ts)').replaceAll("'", '[\'"]');
3542
+ let seen = false;
3543
+ return content.replace(new RegExp(`^([ \\t]*)${pattern}([ \\t]*)(\\r?)(\\n|$)`, 'gm'), (_line, indent, trailing, carriageReturn, newline) => {
3544
+ if (seen) return '';
3545
+ seen = true;
3546
+ return `${indent}${exportLine}${trailing}${carriageReturn}${newline}`;
3547
+ });
3548
+ }
3534
3549
  async _prependExportIfNeeded(jsContent, exportLine, sourceFile, modulePath) {
3550
+ jsContent = this._migrateOwnedExport(jsContent, exportLine);
3535
3551
  const sourcePath = path.join(modulePath, sourceFile);
3536
3552
  if ((await fse.pathExists(sourcePath)) && !jsContent.includes(exportLine)) {
3537
3553
  return `${exportLine}\n${jsContent}`;
@@ -3544,10 +3560,10 @@ export { ScopeModule${relativeNameCapitalize} as ScopeModule } from './index.js'
3544
3560
  if (await fse.pathExists(jsFile)) {
3545
3561
  jsContent = (await fse.readFile(jsFile)).toString();
3546
3562
  }
3547
- jsContent = await this._prependExportIfNeeded(jsContent, "export * from './types/index.js';", 'src/types/index.ts', modulePath);
3548
- jsContent = await this._prependExportIfNeeded(jsContent, "export * from './lib/index.js';", 'src/lib/index.ts', modulePath);
3549
- jsContent = await this._prependExportIfNeeded(jsContent, "export * from './.metadata/locales.js';", 'src/.metadata/locales.ts', modulePath);
3550
- jsContent = await this._prependExportIfNeeded(jsContent, "export * from './.metadata/index.js';", 'src/.metadata/index.ts', modulePath);
3563
+ jsContent = await this._prependExportIfNeeded(jsContent, "export * from './types/index.ts';", 'src/types/index.ts', modulePath);
3564
+ jsContent = await this._prependExportIfNeeded(jsContent, "export * from './lib/index.ts';", 'src/lib/index.ts', modulePath);
3565
+ jsContent = await this._prependExportIfNeeded(jsContent, "export * from './.metadata/locales.ts';", 'src/.metadata/locales.ts', modulePath);
3566
+ jsContent = await this._prependExportIfNeeded(jsContent, "export * from './.metadata/index.ts';", 'src/.metadata/index.ts', modulePath);
3551
3567
  // trim empty
3552
3568
  jsContent = jsContent.replace('export {};\n', '');
3553
3569
  // write
@@ -9,6 +9,7 @@ export declare class CliToolsMetadata extends BeanCliBase {
9
9
  _generateMetadata(moduleName: string, force: boolean): Promise<void>;
10
10
  _generateLocales(modulePath: string, contentLocales: any): Promise<void>;
11
11
  _generateThis(moduleName: string, relativeNameCapitalize: string, modulePath: string): Promise<void>;
12
+ _migrateOwnedExport(content: string, exportLine: string): string;
12
13
  _prependExportIfNeeded(jsContent: string, exportLine: string, sourceFile: string, modulePath: string): Promise<string>;
13
14
  _generateIndex(modulePath: string): Promise<void>;
14
15
  _generatePackage(modulePath: string, beansPreload: string[]): Promise<void>;
@@ -1,5 +1,5 @@
1
- export declare function generateConfig(modulePath: string): Promise<"" | "/** config: begin */\nexport * from '../config/config.js';\nimport { config } from '../config/config.js';\n/** config: end */\n">;
2
- export declare function generateConstant(modulePath: string): Promise<"" | "/** constant: begin */\nexport * from '../config/constants.js';\nimport { constants } from '../config/constants.js';\n/** constant: end */\n">;
1
+ export declare function generateConfig(modulePath: string): Promise<"" | "/** config: begin */\nexport * from '../config/config.ts';\nimport { config } from '../config/config.ts';\n/** config: end */\n">;
2
+ export declare function generateConstant(modulePath: string): Promise<"" | "/** constant: begin */\nexport * from '../config/constants.ts';\nimport { constants } from '../config/constants.ts';\n/** constant: end */\n">;
3
3
  export declare function generateLocale1(modulePath: string): Promise<string>;
4
- export declare function generateLocale2(contentLocales: string): Promise<"" | "/** locale: begin */\nimport { locales } from './locales.js';\n/** locale: end */\n">;
5
- export declare function generateError(modulePath: string): Promise<"" | "/** error: begin */\nexport * from '../config/errors.js';\nimport { errors } from '../config/errors.js';\n/** error: end */\n">;
4
+ export declare function generateLocale2(contentLocales: string): Promise<"" | "/** locale: begin */\nimport { locales } from './locales.ts';\n/** locale: end */\n">;
5
+ export declare function generateError(modulePath: string): Promise<"" | "/** error: begin */\nexport * from '../config/errors.ts';\nimport { errors } from '../config/errors.ts';\n/** error: end */\n">;
@@ -1,5 +1,5 @@
1
1
  import { metadataCustomSnippet } from '@cabloy/cli';
2
- const __snippet_declare = "import { ZPage<%=argv.nameMeta.fullCapitalize%> } from './.metadata/page/<%=argv.pageName%>.js';\n";
2
+ const __snippet_declare = "import { ZPage<%=argv.nameMeta.fullCapitalize%> } from './.metadata/page/<%=argv.pageName%>.ts';\n";
3
3
  const __snippet_body = '{ path: \'<%=argv.moduleInfo.name!==argv.pageName?argv.pageName:""%>\', component: ZPage<%=argv.nameMeta.fullCapitalize%> },';
4
4
  export default metadataCustomSnippet({
5
5
  file: 'src/routes.ts',
@@ -9,7 +9,7 @@ export default metadataCustomSnippet({
9
9
  ast = ast.replace(" } from 'zova';", ", Use } from 'zova';");
10
10
  }
11
11
  ast = ast
12
- .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.renderClassName} } from './render.${argv.renderName}.jsx';`)
12
+ .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.renderClassName} } from './render.${argv.renderName}.tsx';`)
13
13
  .replace('extends BeanRenderBase {', `extends BeanRenderBase {\n @Use()\n $$$$render${argv.renderNameCapitalize}: ${argv.renderClassName};\n`);
14
14
  // ok
15
15
  return ast;
@@ -9,7 +9,7 @@ export default metadataCustomSnippet({
9
9
  ast = ast.replace(" } from 'zova';", ", Use } from 'zova';");
10
10
  }
11
11
  ast = ast
12
- .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.styleClassName} } from './style.${argv.styleName}.js';`)
12
+ .replace("from 'zova-module-a-bean';", `from 'zova-module-a-bean';\nimport { ${argv.styleClassName} } from './style.${argv.styleName}.ts';`)
13
13
  .replace('extends BeanStyleBase {', `extends BeanStyleBase {\n @Use()\n $$$$style${argv.styleNameCapitalize}: ${argv.styleClassName};\n`);
14
14
  // ok
15
15
  return ast;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zova-cli-set-front",
3
- "version": "1.2.119",
4
- "gitHead": "d5e87632838e3f3ea06c8a69a204b61edc2ca9e4",
3
+ "version": "1.2.120",
4
+ "gitHead": "c27fb3b5f3566b676b7d635e2e26545c6d389ad7",
5
5
  "description": "zova cli-set-front",
6
6
  "keywords": [
7
7
  "framework",
@@ -65,7 +65,7 @@
65
65
  "vite": "^8.3.4",
66
66
  "yaml": "^2.8.3",
67
67
  "zova-openapi": "^1.1.17",
68
- "zova-vite": "^1.1.50"
68
+ "zova-vite": "^1.1.51"
69
69
  },
70
70
  "engines": {
71
71
  "node": ">=24.11.0"