@jayfong/x-server 2.30.0 → 2.30.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.
@@ -6,8 +6,8 @@ exports.TemplateUtil = void 0;
6
6
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
7
7
  var _globby = _interopRequireDefault(require("globby"));
8
8
  var _path = _interopRequireDefault(require("path"));
9
- var _vtils = require("vtils");
10
9
  var _vscodeGenerateIndexStandalone = require("vscode-generate-index-standalone");
10
+ var _vtils = require("vtils");
11
11
  class TemplateUtil {
12
12
  /**
13
13
  * 初始化。
@@ -23,6 +23,7 @@ class TemplateUtil {
23
23
  const prismaClientFile = TemplateUtil.getPrismaClientTypeFile();
24
24
  const fromDir = _path.default.join(__dirname, 'templates');
25
25
  const toDir = _path.default.join(cwd, 'node_modules/.x');
26
+ const hasDb = await _fsExtra.default.pathExists(_path.default.join(cwd, 'src/db/schema.prisma'));
26
27
  const fromFiles = await (0, _globby.default)('*', {
27
28
  cwd: fromDir,
28
29
  onlyFiles: true,
@@ -31,9 +32,14 @@ class TemplateUtil {
31
32
  await _fsExtra.default.ensureDir(toDir);
32
33
  await Promise.all(fromFiles.map(async fromFile => {
33
34
  const toFile = fromFile.replace(fromDir, toDir);
34
- let fromFileContent = await _fsExtra.default.readFile(fromFile, 'utf-8');
35
- fromFileContent = fromFileContent.replaceAll('../.prisma/client/index.d.ts', _path.default.relative(toDir, prismaClientFile)).replaceAll('../../src', _path.default.relative(toDir, `${cwd}/src`));
36
- await _fsExtra.default.writeFile(toFile, fromFileContent);
35
+ // 对于 models.ts, 项目未使用数据库相关功能时不生成
36
+ if (fromFile.endsWith('models.ts') && !hasDb) {
37
+ await _fsExtra.default.writeFile(toFile, 'export {}');
38
+ } else {
39
+ let fromFileContent = await _fsExtra.default.readFile(fromFile, 'utf-8');
40
+ fromFileContent = fromFileContent.replaceAll('../.prisma/client/index.d.ts', _path.default.relative(toDir, prismaClientFile)).replaceAll('../../src', _path.default.relative(toDir, `${cwd}/src`));
41
+ await _fsExtra.default.writeFile(toFile, fromFileContent);
42
+ }
37
43
  }));
38
44
  await (0, _vscodeGenerateIndexStandalone.generateManyIndex)({
39
45
  cwd: cwd,
@@ -1,8 +1,8 @@
1
1
  import fs from 'fs-extra';
2
2
  import globby from 'globby';
3
3
  import path from 'path';
4
- import { camelCase, dedent, snakeCase, upperFirst } from 'vtils';
5
4
  import { generateManyIndex } from 'vscode-generate-index-standalone';
5
+ import { camelCase, dedent, snakeCase, upperFirst } from 'vtils';
6
6
  export class TemplateUtil {
7
7
  /**
8
8
  * 初始化。
@@ -18,6 +18,7 @@ export class TemplateUtil {
18
18
  const prismaClientFile = TemplateUtil.getPrismaClientTypeFile();
19
19
  const fromDir = path.join(__dirname, 'templates');
20
20
  const toDir = path.join(cwd, 'node_modules/.x');
21
+ const hasDb = await fs.pathExists(path.join(cwd, 'src/db/schema.prisma'));
21
22
  const fromFiles = await globby('*', {
22
23
  cwd: fromDir,
23
24
  onlyFiles: true,
@@ -26,9 +27,14 @@ export class TemplateUtil {
26
27
  await fs.ensureDir(toDir);
27
28
  await Promise.all(fromFiles.map(async fromFile => {
28
29
  const toFile = fromFile.replace(fromDir, toDir);
29
- let fromFileContent = await fs.readFile(fromFile, 'utf-8');
30
- fromFileContent = fromFileContent.replaceAll('../.prisma/client/index.d.ts', path.relative(toDir, prismaClientFile)).replaceAll('../../src', path.relative(toDir, `${cwd}/src`));
31
- await fs.writeFile(toFile, fromFileContent);
30
+ // 对于 models.ts, 项目未使用数据库相关功能时不生成
31
+ if (fromFile.endsWith('models.ts') && !hasDb) {
32
+ await fs.writeFile(toFile, 'export {}');
33
+ } else {
34
+ let fromFileContent = await fs.readFile(fromFile, 'utf-8');
35
+ fromFileContent = fromFileContent.replaceAll('../.prisma/client/index.d.ts', path.relative(toDir, prismaClientFile)).replaceAll('../../src', path.relative(toDir, `${cwd}/src`));
36
+ await fs.writeFile(toFile, fromFileContent);
37
+ }
32
38
  }));
33
39
  await generateManyIndex({
34
40
  cwd: cwd,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "2.30.0",
3
+ "version": "2.30.1",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",
@@ -15,6 +15,7 @@
15
15
  "scripts": {
16
16
  "build": "haoma compile",
17
17
  "build_test_pkg": "tyn build && rm -rf ./lib_test && mkdir -p ./lib_test && cp -r ./lib ./lib_test/lib && cp ./package.json ./lib_test/package.json && cd ./tests/app && tyn add file:../../lib_test",
18
+ "preinstall": "tnpx only-allow pnpm",
18
19
  "test": "tsc --noEmit -p ./tsconfig.build.json && jest \"$(pwd)/src/\"",
19
20
  "test_all": "tsc --noEmit -p ./tsconfig.build.json && jest"
20
21
  },