@jayfong/x-server 2.12.15 → 2.12.16

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.
@@ -9,6 +9,7 @@ var _api_generator = require("./api_generator");
9
9
  var _build_util = require("./build_util");
10
10
  var _vtils = require("vtils");
11
11
  var _deploy_util = require("./deploy_util");
12
+ var _dev_util = require("./dev_util");
12
13
  var _env_util = require("./env_util");
13
14
  var _vscodeGenerateIndexStandalone = require("vscode-generate-index-standalone");
14
15
  var _template_util = require("./template_util");
@@ -20,13 +21,17 @@ _yargs.default.command('dev', '开始开发', _ => _.positional('index', {
20
21
  }).positional('npc', {
21
22
  describe: 'npc 地址及密钥,格式:地址@密钥',
22
23
  type: 'string'
24
+ }).positional('tsx', {
25
+ describe: '使用 tsx 运行',
26
+ type: 'boolean'
23
27
  }), async argv => {
24
28
  process.env.NODE_ENV = 'development';
25
29
  let lastRun;
26
30
  const run = () => {
27
- lastRun = (0, _execa.default)('tsx', ['src/main.ts'], {
31
+ lastRun = _dev_util.DevUtil.runFile({
32
+ file: 'src/main.ts',
28
33
  cwd: process.cwd(),
29
- stdio: 'inherit'
34
+ runner: argv.tsx ? 'tsx' : 'esbuild-register'
30
35
  });
31
36
  };
32
37
  if (argv.npc) {
@@ -143,6 +148,9 @@ _yargs.default.command('dev', '开始开发', _ => _.positional('index', {
143
148
  describe: '是否生产模式',
144
149
  type: 'boolean',
145
150
  default: false
151
+ }).positional('tsx', {
152
+ describe: '使用 tsx 运行',
153
+ type: 'boolean'
146
154
  }), async argv => {
147
155
  process.env.NODE_ENV = argv.production ? 'production' : 'development';
148
156
  await _env_util.EnvUtil.importFile({
@@ -156,9 +164,10 @@ _yargs.default.command('dev', '开始开发', _ => _.positional('index', {
156
164
  stdio: 'inherit'
157
165
  });
158
166
  } else {
159
- await (0, _execa.default)('tsx', [argv.script], {
167
+ await _dev_util.DevUtil.runFile({
168
+ file: argv.script,
160
169
  cwd: process.cwd(),
161
- stdio: 'inherit'
170
+ runner: argv.tsx ? 'tsx' : 'esbuild-register'
162
171
  });
163
172
  }
164
173
  }).command('deploy [type]', '部署', _ => _.positional('type', {
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.DevUtil = void 0;
6
+ var _execa = _interopRequireDefault(require("execa"));
7
+ class DevUtil {
8
+ static runFile(options) {
9
+ return options.runner === 'tsx' ? (0, _execa.default)('tsx', [options.file], {
10
+ cwd: options.cwd,
11
+ stdio: 'inherit'
12
+ }) : (0, _execa.default)('node', ['-r', require.resolve("./esbuild_register"), options.file], {
13
+ cwd: options.cwd,
14
+ stdio: 'inherit'
15
+ });
16
+ }
17
+ }
18
+ exports.DevUtil = DevUtil;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ var _node = require("esbuild-register/dist/node");
4
+ (0, _node.register)({
5
+ hookIgnoreNodeModules: false,
6
+ hookMatcher: filename => filename.includes('/.x/') || !filename.includes('/node_modules/')
7
+ });
package/lib/cli/cli.js CHANGED
@@ -6,6 +6,7 @@ import { ApiGenerator } from "./api_generator";
6
6
  import { BuildUtil } from "./build_util";
7
7
  import { castArray, debounce } from 'vtils';
8
8
  import { DeployUtil } from "./deploy_util";
9
+ import { DevUtil } from "./dev_util";
9
10
  import { EnvUtil } from "./env_util";
10
11
  import { generateManyIndex } from 'vscode-generate-index-standalone';
11
12
  import { TemplateUtil } from "./template_util";
@@ -17,13 +18,17 @@ yargs.command('dev', '开始开发', _ => _.positional('index', {
17
18
  }).positional('npc', {
18
19
  describe: 'npc 地址及密钥,格式:地址@密钥',
19
20
  type: 'string'
21
+ }).positional('tsx', {
22
+ describe: '使用 tsx 运行',
23
+ type: 'boolean'
20
24
  }), async argv => {
21
25
  process.env.NODE_ENV = 'development';
22
26
  let lastRun;
23
27
  const run = () => {
24
- lastRun = execa('tsx', ['src/main.ts'], {
28
+ lastRun = DevUtil.runFile({
29
+ file: 'src/main.ts',
25
30
  cwd: process.cwd(),
26
- stdio: 'inherit'
31
+ runner: argv.tsx ? 'tsx' : 'esbuild-register'
27
32
  });
28
33
  };
29
34
  if (argv.npc) {
@@ -140,6 +145,9 @@ yargs.command('dev', '开始开发', _ => _.positional('index', {
140
145
  describe: '是否生产模式',
141
146
  type: 'boolean',
142
147
  default: false
148
+ }).positional('tsx', {
149
+ describe: '使用 tsx 运行',
150
+ type: 'boolean'
143
151
  }), async argv => {
144
152
  process.env.NODE_ENV = argv.production ? 'production' : 'development';
145
153
  await EnvUtil.importFile({
@@ -153,9 +161,10 @@ yargs.command('dev', '开始开发', _ => _.positional('index', {
153
161
  stdio: 'inherit'
154
162
  });
155
163
  } else {
156
- await execa('tsx', [argv.script], {
164
+ await DevUtil.runFile({
165
+ file: argv.script,
157
166
  cwd: process.cwd(),
158
- stdio: 'inherit'
167
+ runner: argv.tsx ? 'tsx' : 'esbuild-register'
159
168
  });
160
169
  }
161
170
  }).command('deploy [type]', '部署', _ => _.positional('type', {
@@ -0,0 +1,8 @@
1
+ import execa from 'execa';
2
+ export declare class DevUtil {
3
+ static runFile(options: {
4
+ file: string;
5
+ cwd: string;
6
+ runner: 'esbuild-register' | 'tsx';
7
+ }): execa.ExecaChildProcess<string>;
8
+ }
@@ -0,0 +1,12 @@
1
+ import execa from 'execa';
2
+ export class DevUtil {
3
+ static runFile(options) {
4
+ return options.runner === 'tsx' ? execa('tsx', [options.file], {
5
+ cwd: options.cwd,
6
+ stdio: 'inherit'
7
+ }) : execa('node', ['-r', require.resolve("./esbuild_register"), options.file], {
8
+ cwd: options.cwd,
9
+ stdio: 'inherit'
10
+ });
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { register } from 'esbuild-register/dist/node';
2
+ register({
3
+ hookIgnoreNodeModules: false,
4
+ hookMatcher: filename => filename.includes('/.x/') || !filename.includes('/node_modules/')
5
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "2.12.15",
3
+ "version": "2.12.16",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",
@@ -23,7 +23,7 @@
23
23
  "@fastify/formbody": "^7.4.0",
24
24
  "@fastify/multipart": "^7.7.0",
25
25
  "@fastify/websocket": "^8.1.0",
26
- "@jayfong/x-request": "^2.12.15",
26
+ "@jayfong/x-request": "^2.12.16",
27
27
  "@prisma/client": "^4.8.0",
28
28
  "@types/busboy": "^0.3.2",
29
29
  "@types/cron": "^2.0.0",
@@ -41,6 +41,7 @@
41
41
  "cuid": "^2.1.8",
42
42
  "debug": "^4.3.4",
43
43
  "esbuild": "^0.18.11",
44
+ "esbuild-register": "^3.4.2",
44
45
  "execa": "^5.1.1",
45
46
  "exit-hook": "^2.2.1",
46
47
  "fast-xml-parser": "^4.2.5",