@modern-js/app-tools 2.48.6 → 2.49.1-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/dist/cjs/builder/builder-webpack/index.js +1 -1
  2. package/dist/cjs/commands/build.js +3 -0
  3. package/dist/cjs/commands/dev.js +16 -16
  4. package/dist/cjs/commands/serve.js +14 -22
  5. package/dist/cjs/index.js +3 -1
  6. package/dist/cjs/plugins/deploy/dependencies.js +257 -0
  7. package/dist/cjs/plugins/deploy/entrys/netlify.js +95 -0
  8. package/dist/cjs/plugins/deploy/entrys/node.js +88 -0
  9. package/dist/cjs/plugins/deploy/entrys/vercel.js +95 -0
  10. package/dist/cjs/plugins/deploy/index.js +140 -0
  11. package/dist/cjs/plugins/deploy/utils.js +150 -0
  12. package/dist/cjs/utils/createServer.js +5 -27
  13. package/dist/cjs/utils/env.js +2 -2
  14. package/dist/cjs/utils/register.js +103 -0
  15. package/dist/esm/builder/builder-webpack/index.js +1 -1
  16. package/dist/esm/commands/build.js +16 -9
  17. package/dist/esm/commands/dev.js +34 -38
  18. package/dist/esm/commands/serve.js +28 -32
  19. package/dist/esm/index.js +3 -1
  20. package/dist/esm/plugins/deploy/dependencies.js +726 -0
  21. package/dist/esm/plugins/deploy/entrys/netlify.js +41 -0
  22. package/dist/esm/plugins/deploy/entrys/node.js +39 -0
  23. package/dist/esm/plugins/deploy/entrys/vercel.js +41 -0
  24. package/dist/esm/plugins/deploy/index.js +219 -0
  25. package/dist/esm/plugins/deploy/utils.js +244 -0
  26. package/dist/esm/utils/createServer.js +14 -50
  27. package/dist/esm/utils/env.js +1 -1
  28. package/dist/esm/utils/register.js +129 -0
  29. package/dist/esm-node/builder/builder-webpack/index.js +1 -1
  30. package/dist/esm-node/commands/build.js +3 -0
  31. package/dist/esm-node/commands/dev.js +17 -17
  32. package/dist/esm-node/commands/serve.js +14 -12
  33. package/dist/esm-node/index.js +3 -1
  34. package/dist/esm-node/plugins/deploy/dependencies.js +223 -0
  35. package/dist/esm-node/plugins/deploy/entrys/netlify.js +71 -0
  36. package/dist/esm-node/plugins/deploy/entrys/node.js +64 -0
  37. package/dist/esm-node/plugins/deploy/entrys/vercel.js +71 -0
  38. package/dist/esm-node/plugins/deploy/index.js +110 -0
  39. package/dist/esm-node/plugins/deploy/utils.js +109 -0
  40. package/dist/esm-node/utils/createServer.js +6 -17
  41. package/dist/esm-node/utils/env.js +1 -1
  42. package/dist/esm-node/utils/register.js +69 -0
  43. package/dist/types/plugins/deploy/dependencies.d.ts +1 -0
  44. package/dist/types/plugins/deploy/entrys/netlify.d.ts +5 -0
  45. package/dist/types/plugins/deploy/entrys/node.d.ts +5 -0
  46. package/dist/types/plugins/deploy/entrys/vercel.d.ts +5 -0
  47. package/dist/types/plugins/deploy/index.d.ts +4 -0
  48. package/dist/types/plugins/deploy/utils.d.ts +27 -0
  49. package/dist/types/types/config/tools.d.ts +1 -1
  50. package/dist/types/utils/createServer.d.ts +4 -9
  51. package/dist/types/utils/register.d.ts +3 -0
  52. package/package.json +28 -22
@@ -0,0 +1,71 @@
1
+ import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
2
+ import { genPluginImportsCode, getPluginsCode, severAppContextTemplate } from "../utils";
3
+ function genVercelEntry({ config, plugins, appContext } = {}) {
4
+ const defaultConfig = {
5
+ server: {
6
+ port: 8080
7
+ },
8
+ output: {
9
+ path: "."
10
+ }
11
+ };
12
+ return `
13
+
14
+ const fs = require('node:fs/promises');
15
+ const path = require('node:path');
16
+ const { createNetlifyFunction } = require('@modern-js/prod-server/netlify');
17
+ ${genPluginImportsCode(plugins || [])}
18
+
19
+ let requestHandler = null;
20
+
21
+ if(!process.env.NODE_ENV){
22
+ process.env.NODE_ENV = 'production';
23
+ }
24
+
25
+ async function createHandler() {
26
+ try {
27
+ let routes = [];
28
+ const routeFilepath = path.join(__dirname, "${ROUTE_SPEC_FILE}");
29
+ try {
30
+ await fs.access(routeFilepath);
31
+ const content = await fs.readFile(routeFilepath, "utf-8");
32
+ const routeSpec = JSON.parse(content);
33
+ routes = routeSpec.routes;
34
+ } catch (error) {
35
+ console.warn('route.json not found, continuing with empty routes.');
36
+ }
37
+
38
+ const prodServerOptions = {
39
+ pwd: __dirname,
40
+ routes,
41
+ config: ${JSON.stringify(config || defaultConfig)},
42
+ serverConfigFile: '${DEFAULT_SERVER_CONFIG}',
43
+ plugins: ${getPluginsCode(plugins || [])},
44
+ appContext: ${appContext ? severAppContextTemplate(appContext) : "undefined"},
45
+ disableCustomHook: true
46
+ }
47
+
48
+ requestHandler = await createNetlifyFunction(prodServerOptions)
49
+
50
+ return requestHandler
51
+ } catch(error) {
52
+ console.error(error);
53
+ process.exit(1);
54
+ }
55
+ }
56
+
57
+ createHandler();
58
+
59
+ const handleRequest = async(request, context) => {
60
+ if(typeof requestHandler !== 'function'){
61
+ await createHandler();
62
+ }
63
+ return requestHandler(request, context);
64
+ }
65
+
66
+ export default handleRequest;
67
+ `;
68
+ }
69
+ export {
70
+ genVercelEntry
71
+ };
@@ -0,0 +1,110 @@
1
+ import path from "path";
2
+ import { fs as fse, getInternalPlugins } from "@modern-js/utils";
3
+ import { getProjectUsage } from "./utils";
4
+ import { handleDependencies } from "./dependencies";
5
+ var deploy_default = () => ({
6
+ name: "@modern-js/plugin-deploy",
7
+ pre: [
8
+ "@modern-js/plugin-bff",
9
+ "@modern-js/plugin-server"
10
+ ],
11
+ setup: (api) => {
12
+ return {
13
+ async beforeDeploy() {
14
+ const deployTarget = process.env.MODERNJS_DEPLOY || "node";
15
+ const appContext = api.useAppContext();
16
+ const { appDirectory, distDirectory, serverInternalPlugins, sharedDirectory, apiDirectory, lambdaDirectory, metaName } = appContext;
17
+ const configContext = api.useResolvedConfigContext();
18
+ const outputDirectory = path.join(appDirectory, ".output");
19
+ let funcsDirectory = outputDirectory;
20
+ let staticDirectory = path.join(outputDirectory, "static");
21
+ await fse.remove(outputDirectory);
22
+ if (deployTarget === "node") {
23
+ await fse.copy(distDirectory, outputDirectory, {
24
+ filter: (src) => {
25
+ const distStaticDirectory = path.join(distDirectory, "static");
26
+ return !src.includes(distStaticDirectory);
27
+ }
28
+ });
29
+ }
30
+ if (deployTarget === "vercel") {
31
+ funcsDirectory = path.join(outputDirectory, "functions");
32
+ staticDirectory = path.join(outputDirectory, "static");
33
+ await fse.copy(distDirectory, funcsDirectory, {
34
+ filter: (src) => {
35
+ const distStaticDirectory = path.join(distDirectory, "static");
36
+ return !src.includes(distStaticDirectory);
37
+ }
38
+ });
39
+ await fse.copy(path.join(distDirectory, "static"), staticDirectory);
40
+ await fse.writeJSON(path.join(funcsDirectory, ".vc-config.json"), {
41
+ runtime: "nodejs16.x",
42
+ handler: "index.js",
43
+ launcherType: "Nodejs",
44
+ shouldAddHelpers: false,
45
+ supportsResponseStreaming: true
46
+ });
47
+ }
48
+ const { bff } = configContext;
49
+ const config = {
50
+ output: {
51
+ path: "."
52
+ },
53
+ bff
54
+ };
55
+ const plugins = getInternalPlugins(appDirectory, serverInternalPlugins);
56
+ const serverAppContext = {
57
+ sharedDirectory: `path.join(__dirname, "${path.relative(appDirectory, sharedDirectory)}")`,
58
+ apiDirectory: `path.join(__dirname, "${path.relative(appDirectory, apiDirectory)}")`,
59
+ lambdaDirectory: `path.join(__dirname, "${path.relative(appDirectory, lambdaDirectory)}")`,
60
+ metaName
61
+ };
62
+ let code = ``;
63
+ console.log("deployTarget111111111", deployTarget);
64
+ switch (deployTarget) {
65
+ case "node": {
66
+ const { genNodeEntry } = await import("./entrys/node");
67
+ code = genNodeEntry({
68
+ plugins,
69
+ config,
70
+ appContext: serverAppContext
71
+ });
72
+ break;
73
+ }
74
+ case "vercel": {
75
+ const { genVercelEntry } = await import("./entrys/vercel");
76
+ code = genVercelEntry({
77
+ plugins,
78
+ config,
79
+ appContext: serverAppContext
80
+ });
81
+ break;
82
+ }
83
+ case "netlify": {
84
+ const { genNetlifyEntry } = await import("./entrys/netlify");
85
+ code = genNetlifyEntry({
86
+ plugins,
87
+ config,
88
+ appContext: serverAppContext
89
+ });
90
+ break;
91
+ }
92
+ default: {
93
+ code = `throw new Error("unknown deploy target, MODERNJS_DEPLOY should be set");`;
94
+ }
95
+ }
96
+ const { useSSR, useAPI, useWebServer } = getProjectUsage(appDirectory, distDirectory);
97
+ const entryFilePath = path.join(funcsDirectory, "index.js");
98
+ if (useSSR || useAPI || useWebServer) {
99
+ await fse.writeFile(entryFilePath, code);
100
+ }
101
+ await handleDependencies(appDirectory, funcsDirectory, [
102
+ "@modern-js/prod-server"
103
+ ]);
104
+ }
105
+ };
106
+ }
107
+ });
108
+ export {
109
+ deploy_default as default
110
+ };
@@ -0,0 +1,109 @@
1
+ import path from "path";
2
+ import os from "node:os";
3
+ import { ROUTE_SPEC_FILE, fs as fse, isDepExists } from "@modern-js/utils";
4
+ import { parseNodeModulePath } from "mlly";
5
+ const severAppContextTemplate = (serverAppContext) => {
6
+ return `{
7
+ sharedDirectory: ${serverAppContext.sharedDirectory},
8
+ apiDirectory: ${serverAppContext.apiDirectory},
9
+ lambdaDirectory: ${serverAppContext.lambdaDirectory},
10
+ }`;
11
+ };
12
+ const getPluginsCode = (plugins) => `[${plugins.map((_, index) => `plugin_${index}()`).join(",")}]`;
13
+ const genPluginImportsCode = (plugins) => {
14
+ return plugins.map((plugin, index) => `
15
+ let plugin_${index} = require('${plugin}')
16
+ plugin_${index} = plugin_${index}.default || plugin_${index}
17
+ `).join(";\n");
18
+ };
19
+ const getProjectUsage = (appDirectory, distDirectory) => {
20
+ const routeJSON = path.join(distDirectory, ROUTE_SPEC_FILE);
21
+ const { routes } = fse.readJSONSync(routeJSON);
22
+ let useSSR = false;
23
+ let useAPI = false;
24
+ routes.forEach((route) => {
25
+ if (route.isSSR) {
26
+ useSSR = true;
27
+ }
28
+ if (route.isApi) {
29
+ useAPI = true;
30
+ }
31
+ });
32
+ const useWebServer = isDepExists(appDirectory, "@modern-js/plugin-server");
33
+ return {
34
+ useSSR,
35
+ useAPI,
36
+ useWebServer
37
+ };
38
+ };
39
+ function applyProductionCondition(exports) {
40
+ if (!exports || typeof exports === "string") {
41
+ return;
42
+ }
43
+ if (exports.production) {
44
+ if (typeof exports.production === "string") {
45
+ exports.default = exports.production;
46
+ } else {
47
+ Object.assign(exports, exports.production);
48
+ }
49
+ }
50
+ for (const key in exports) {
51
+ applyProductionCondition(exports[key]);
52
+ }
53
+ }
54
+ function applyPublicCondition(pkg) {
55
+ var _pkg_publishConfig;
56
+ if (pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig = pkg.publishConfig) === null || _pkg_publishConfig === void 0 ? void 0 : _pkg_publishConfig.exports) {
57
+ var _pkg_publishConfig1;
58
+ pkg.exports = pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig1 = pkg.publishConfig) === null || _pkg_publishConfig1 === void 0 ? void 0 : _pkg_publishConfig1.exports;
59
+ }
60
+ }
61
+ const writePackage = async (pkg, version, projectDir, _pkgPath) => {
62
+ const pkgPath = _pkgPath || pkg.name;
63
+ for (const src of pkg.versions[version].files) {
64
+ if (src.includes("node_modules")) {
65
+ const { subpath } = parseNodeModulePath(src);
66
+ const dest = path.join(projectDir, "node_modules", pkgPath, subpath);
67
+ const dirname = path.dirname(dest);
68
+ await fse.ensureDir(dirname);
69
+ await fse.copyFile(src, dest);
70
+ } else {
71
+ const subpath = path.relative(pkg.versions[version].path, src);
72
+ const dest = path.join(projectDir, "node_modules", pkgPath, subpath);
73
+ const dirname = path.dirname(dest);
74
+ await fse.ensureDir(dirname);
75
+ await fse.copyFile(src, dest);
76
+ }
77
+ }
78
+ const { pkgJSON } = pkg.versions[version];
79
+ applyPublicCondition(pkgJSON);
80
+ const packageJsonPath = path.join(projectDir, "node_modules", pkgPath, "package.json");
81
+ await fse.ensureDir(path.dirname(packageJsonPath));
82
+ await fse.writeFile(packageJsonPath, JSON.stringify(pkgJSON, null, 2));
83
+ };
84
+ const isWindows = os.platform() === "win32";
85
+ const linkPackage = async (from, to, projectRootDir) => {
86
+ const src = path.join(projectRootDir, "node_modules", from);
87
+ const dest = path.join(projectRootDir, "node_modules", to);
88
+ const dstStat = await fse.lstat(dest).catch(() => null);
89
+ const exists = dstStat === null || dstStat === void 0 ? void 0 : dstStat.isSymbolicLink();
90
+ if (exists) {
91
+ return;
92
+ }
93
+ await fse.mkdir(path.dirname(dest), {
94
+ recursive: true
95
+ });
96
+ await fse.symlink(path.relative(path.dirname(dest), src), dest, isWindows ? "junction" : "dir").catch((error) => {
97
+ console.error("Cannot link", from, "to", to, error);
98
+ });
99
+ };
100
+ export {
101
+ applyProductionCondition,
102
+ applyPublicCondition,
103
+ genPluginImportsCode,
104
+ getPluginsCode,
105
+ getProjectUsage,
106
+ linkPackage,
107
+ severAppContextTemplate,
108
+ writePackage
109
+ };
@@ -1,4 +1,5 @@
1
- import { Server } from "@modern-js/server";
1
+ import { createDevServer } from "@modern-js/server";
2
+ import { initProdMiddlewares } from "@modern-js/prod-server";
2
3
  let server = null;
3
4
  const getServer = () => server;
4
5
  const setServer = (newServer) => {
@@ -6,32 +7,20 @@ const setServer = (newServer) => {
6
7
  };
7
8
  const closeServer = async () => {
8
9
  if (server) {
9
- await server.close();
10
+ server.close();
10
11
  server = null;
11
12
  }
12
13
  };
13
14
  const createServer = async (options) => {
14
15
  if (server) {
15
- await server.close();
16
+ server.close();
16
17
  }
17
- server = new Server(options);
18
- const app = await server.init();
19
- return app;
20
- };
21
- const injectDataLoaderPlugin = (internalPlugins) => {
22
- const DataLoaderPlugin = require.resolve("@modern-js/plugin-data-loader/server");
23
- return {
24
- ...internalPlugins,
25
- "@modern-js/plugin-data-loader": {
26
- path: DataLoaderPlugin,
27
- forced: true
28
- }
29
- };
18
+ server = await createDevServer(options, initProdMiddlewares);
19
+ return server;
30
20
  };
31
21
  export {
32
22
  closeServer,
33
23
  createServer,
34
24
  getServer,
35
- injectDataLoaderPlugin,
36
25
  setServer
37
26
  };
@@ -1,4 +1,4 @@
1
- import { cutNameByHyphen } from "@modern-js/utils";
1
+ import { cutNameByHyphen } from "@modern-js/utils/universal";
2
2
  function getAutoInjectEnv(appContext) {
3
3
  const { metaName } = appContext;
4
4
  const prefix = `${cutNameByHyphen(metaName)}_`.toUpperCase();
@@ -0,0 +1,69 @@
1
+ import path from "node:path";
2
+ import { fs, getAliasConfig, readTsConfigByFile } from "@modern-js/utils";
3
+ const registerCompiler = async (appDir = process.cwd(), distDir, alias) => {
4
+ const TS_CONFIG_FILENAME = `tsconfig.json`;
5
+ const tsconfigPath = path.resolve(appDir, TS_CONFIG_FILENAME);
6
+ const isTsProject = await fs.pathExists(tsconfigPath);
7
+ const aliasConfig = getAliasConfig(alias, {
8
+ appDirectory: appDir,
9
+ tsconfigPath
10
+ });
11
+ const { paths = {}, absoluteBaseUrl = "./" } = aliasConfig;
12
+ const tsPaths = Object.keys(paths).reduce((o, key) => {
13
+ let tsPath = paths[key];
14
+ if (typeof tsPath === "string" && path.isAbsolute(tsPath)) {
15
+ tsPath = path.relative(absoluteBaseUrl, tsPath);
16
+ }
17
+ if (typeof tsPath === "string") {
18
+ tsPath = [
19
+ tsPath
20
+ ];
21
+ }
22
+ return {
23
+ ...o,
24
+ [`${key}`]: tsPath
25
+ };
26
+ }, {});
27
+ let tsConfig = {};
28
+ if (isTsProject) {
29
+ tsConfig = readTsConfigByFile(tsconfigPath);
30
+ }
31
+ try {
32
+ const tsNode = await import("ts-node");
33
+ const tsNodeOptions = tsConfig["ts-node"];
34
+ if (isTsProject) {
35
+ tsNode.register({
36
+ project: tsconfigPath,
37
+ scope: true,
38
+ // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
39
+ files: true,
40
+ transpileOnly: true,
41
+ ignore: [
42
+ "(?:^|/)node_modules/",
43
+ `(?:^|/)${distDir}/`
44
+ ],
45
+ ...tsNodeOptions
46
+ });
47
+ }
48
+ } catch (error) {
49
+ const esbuildRegister = await import("esbuild-register/dist/node");
50
+ esbuildRegister.register({
51
+ tsconfigRaw: isTsProject ? tsConfig : void 0,
52
+ hookIgnoreNodeModules: true,
53
+ hookMatcher: (fileName) => !fileName.startsWith(distDir)
54
+ });
55
+ }
56
+ const tsConfigPaths = await import("@modern-js/utils/tsconfig-paths");
57
+ if (await fs.pathExists(appDir)) {
58
+ const loaderRes = tsConfigPaths.loadConfig(appDir);
59
+ if (loaderRes.resultType === "success") {
60
+ tsConfigPaths.register({
61
+ baseUrl: absoluteBaseUrl || "./",
62
+ paths: tsPaths
63
+ });
64
+ }
65
+ }
66
+ };
67
+ export {
68
+ registerCompiler
69
+ };
@@ -0,0 +1 @@
1
+ export declare const handleDependencies: (appDir: string, serverRootDir: string, include: string[]) => Promise<void>;
@@ -0,0 +1,5 @@
1
+ export declare function genNetlifyEntry({ config, plugins, appContext, }?: {
2
+ config?: Record<string, any>;
3
+ plugins?: string[];
4
+ appContext?: Record<string, any>;
5
+ }): string;
@@ -0,0 +1,5 @@
1
+ export declare function genNodeEntry({ config, plugins, appContext, }?: {
2
+ config?: Record<string, any>;
3
+ plugins?: string[];
4
+ appContext?: Record<string, any>;
5
+ }): string;
@@ -0,0 +1,5 @@
1
+ export declare function genVercelEntry({ config, plugins, appContext, }?: {
2
+ config?: Record<string, any>;
3
+ plugins?: string[];
4
+ appContext?: Record<string, any>;
5
+ }): string;
@@ -0,0 +1,4 @@
1
+ import { CliPlugin } from '@modern-js/core';
2
+ import { AppTools } from '../../types';
3
+ declare const _default: () => CliPlugin<AppTools>;
4
+ export default _default;
@@ -0,0 +1,27 @@
1
+ import type { PackageJson } from 'pkg-types';
2
+ export type ServerAppContext = {
3
+ sharedDirectory: string;
4
+ apiDirectory: string;
5
+ lambdaDirectory: string;
6
+ metaName: string;
7
+ };
8
+ export declare const severAppContextTemplate: (serverAppContext: ServerAppContext) => string;
9
+ export declare const getPluginsCode: (plugins: string[]) => string;
10
+ export declare const genPluginImportsCode: (plugins: string[]) => string;
11
+ export declare const getProjectUsage: (appDirectory: string, distDirectory: string) => {
12
+ useSSR: boolean;
13
+ useAPI: boolean;
14
+ useWebServer: boolean;
15
+ };
16
+ export declare function applyProductionCondition(exports: PackageJson['exports']): void;
17
+ export declare function applyPublicCondition(pkg: PackageJson): void;
18
+ export type TracedPackage = {
19
+ name: string;
20
+ versions: Record<string, {
21
+ pkgJSON: PackageJson;
22
+ path: string;
23
+ files: string[];
24
+ }>;
25
+ };
26
+ export declare const writePackage: (pkg: TracedPackage, version: string, projectDir: string, _pkgPath?: string) => Promise<void>;
27
+ export declare const linkPackage: (from: string, to: string, projectRootDir: string) => Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import type { JestConfig } from '@modern-js/types';
2
2
  import type { PluginSwcOptions } from '@rsbuild/plugin-swc';
3
- import type { PluginEsbuildOptions } from '@rsbuild/plugin-esbuild';
3
+ import type { PluginEsbuildOptions } from '@modern-js/rsbuild-plugin-esbuild';
4
4
  import type { UniBuilderConfig } from '@modern-js/uni-builder';
5
5
  import type { UnwrapBuilderConfig, Bundler } from '../utils';
6
6
  export type Tailwindcss = Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
@@ -1,12 +1,7 @@
1
- import { Server, ModernDevServerOptions } from '@modern-js/server';
2
- import type { InternalPlugins } from '@modern-js/types';
3
- export declare const getServer: () => Server | null;
1
+ /// <reference types="node" />
2
+ import type { Server } from 'node:http';
3
+ import { ModernDevServerOptions } from '@modern-js/server';
4
+ export declare const getServer: () => Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> | null;
4
5
  export declare const setServer: (newServer: Server) => void;
5
6
  export declare const closeServer: () => Promise<void>;
6
7
  export declare const createServer: (options: ModernDevServerOptions) => Promise<Server>;
7
- export declare const injectDataLoaderPlugin: (internalPlugins: InternalPlugins) => {
8
- '@modern-js/plugin-data-loader': {
9
- path: string;
10
- forced: boolean;
11
- };
12
- };
@@ -0,0 +1,3 @@
1
+ import { Alias } from '@modern-js/utils';
2
+ import { ChainedConfig } from '@rsbuild/shared';
3
+ export declare const registerCompiler: (appDir: string | undefined, distDir: string, alias?: ChainedConfig<Alias>) => Promise<void>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.48.6",
18
+ "version": "2.49.1-alpha.0",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -69,37 +69,43 @@
69
69
  "@babel/parser": "^7.22.15",
70
70
  "@babel/traverse": "^7.23.2",
71
71
  "@babel/types": "^7.23.0",
72
- "@rsbuild/plugin-esbuild": "0.6.1",
73
- "@rsbuild/plugin-node-polyfill": "0.6.1",
74
- "@rsbuild/shared": "0.6.1",
75
- "@rsbuild/core": "0.6.1",
72
+ "@rsbuild/core": "0.6.4",
73
+ "@rsbuild/plugin-node-polyfill": "0.6.4",
74
+ "@rsbuild/shared": "0.6.4",
75
+ "@swc/helpers": "0.5.3",
76
+ "@vercel/nft": "^0.26.4",
76
77
  "es-module-lexer": "^1.1.0",
77
78
  "esbuild": "0.17.19",
78
- "@swc/helpers": "0.5.3",
79
- "@modern-js/core": "2.48.6",
80
- "@modern-js/uni-builder": "2.48.6",
81
- "@modern-js/node-bundle-require": "2.48.6",
82
- "@modern-js/plugin-data-loader": "2.48.6",
83
- "@modern-js/plugin": "2.48.6",
84
- "@modern-js/plugin-i18n": "2.48.6",
85
- "@modern-js/prod-server": "2.48.6",
86
- "@modern-js/plugin-lint": "2.48.6",
87
- "@modern-js/server": "2.48.6",
88
- "@modern-js/server-utils": "2.48.6",
89
- "@modern-js/types": "2.48.6",
90
- "@modern-js/server-core": "2.48.6",
91
- "@modern-js/utils": "2.48.6"
79
+ "esbuild-register": "^3.5.0",
80
+ "mlly": "^1.6.1",
81
+ "pkg-types": "^1.1.0",
82
+ "@modern-js/core": "2.49.0",
83
+ "@modern-js/node-bundle-require": "2.49.0",
84
+ "@modern-js/plugin": "2.49.0",
85
+ "@modern-js/plugin-i18n": "2.49.0",
86
+ "@modern-js/plugin-lint": "2.49.0",
87
+ "@modern-js/prod-server": "2.49.0",
88
+ "@modern-js/rsbuild-plugin-esbuild": "0.6.3",
89
+ "@modern-js/server": "2.49.0",
90
+ "@modern-js/plugin-data-loader": "2.49.0",
91
+ "@modern-js/server-utils": "2.49.0",
92
+ "@modern-js/server-core": "2.49.0",
93
+ "@modern-js/types": "2.49.0",
94
+ "@modern-js/uni-builder": "2.49.0",
95
+ "@modern-js/utils": "2.49.0"
92
96
  },
93
97
  "devDependencies": {
94
- "@rsbuild/plugin-swc": "0.6.1",
98
+ "@rsbuild/plugin-swc": "0.6.4",
95
99
  "@types/babel__traverse": "7.18.5",
96
100
  "@types/jest": "^29",
97
101
  "@types/node": "^14",
98
102
  "jest": "^29",
103
+ "ts-node": "^10.9.1",
104
+ "tsconfig-paths": "^4.2.0",
99
105
  "typescript": "^5",
100
106
  "webpack": "^5.91.0",
101
- "@scripts/build": "2.48.6",
102
- "@scripts/jest-config": "2.48.6"
107
+ "@scripts/build": "2.49.0",
108
+ "@scripts/jest-config": "2.49.0"
103
109
  },
104
110
  "sideEffects": false,
105
111
  "publishConfig": {