@modern-js/app-tools 3.0.5 → 3.1.0
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/cjs/builder/shared/builderPlugins/adapterSSR.js +1 -1
- package/dist/cjs/config/default.js +1 -1
- package/dist/cjs/plugins/analyze/utils.js +6 -6
- package/dist/cjs/plugins/deploy/index.js +10 -5
- package/dist/cjs/plugins/deploy/platforms/gh-pages.js +1 -1
- package/dist/cjs/plugins/deploy/platforms/netlify.js +17 -33
- package/dist/cjs/plugins/deploy/platforms/node.js +17 -38
- package/dist/cjs/plugins/deploy/platforms/templates/netlify-entry.cjs +57 -0
- package/dist/cjs/plugins/deploy/platforms/templates/netlify-entry.mjs +59 -0
- package/dist/cjs/plugins/deploy/platforms/templates/node-entry.cjs +44 -0
- package/dist/{esm/plugins/deploy/platforms → cjs/plugins/deploy/platforms/templates}/node-entry.mjs +5 -27
- package/dist/cjs/plugins/deploy/platforms/templates/vercel-entry.cjs +56 -0
- package/dist/cjs/plugins/deploy/platforms/templates/vercel-entry.mjs +58 -0
- package/dist/cjs/plugins/deploy/platforms/vercel.js +15 -32
- package/dist/cjs/plugins/deploy/types.js +18 -0
- package/dist/cjs/plugins/deploy/utils/generator.js +103 -0
- package/dist/cjs/plugins/deploy/{utils.js → utils/index.js} +28 -24
- package/dist/cjs/utils/register.js +1 -9
- package/dist/esm/builder/shared/builderPlugins/adapterBasic.mjs +2 -2
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.mjs +2 -2
- package/dist/esm/commands/build.mjs +3 -3
- package/dist/esm/commands/dev.mjs +5 -5
- package/dist/esm/commands/serve.mjs +2 -2
- package/dist/esm/config/default.mjs +1 -1
- package/dist/esm/esm/register-esm.mjs +3 -3
- package/dist/esm/plugins/analyze/utils.mjs +2 -2
- package/dist/esm/plugins/deploy/index.mjs +9 -4
- package/dist/esm/plugins/deploy/platforms/gh-pages.mjs +1 -1
- package/dist/esm/plugins/deploy/platforms/netlify.mjs +25 -41
- package/dist/esm/plugins/deploy/platforms/node.mjs +22 -43
- package/dist/esm/plugins/deploy/platforms/templates/netlify-entry.cjs +57 -0
- package/dist/esm/plugins/deploy/platforms/templates/netlify-entry.mjs +59 -0
- package/dist/esm/plugins/deploy/platforms/templates/node-entry.cjs +44 -0
- package/dist/esm/plugins/deploy/platforms/templates/node-entry.mjs +46 -0
- package/dist/esm/plugins/deploy/platforms/templates/vercel-entry.cjs +56 -0
- package/dist/esm/plugins/deploy/platforms/templates/vercel-entry.mjs +58 -0
- package/dist/esm/plugins/deploy/platforms/vercel.mjs +28 -45
- package/dist/esm/plugins/deploy/types.mjs +0 -0
- package/dist/esm/plugins/deploy/utils/generator.mjs +47 -0
- package/dist/esm/plugins/deploy/utils/index.mjs +40 -0
- package/dist/esm/utils/loadPlugins.mjs +4 -4
- package/dist/esm/utils/register.mjs +6 -14
- package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.mjs +2 -2
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.mjs +2 -2
- package/dist/esm-node/commands/build.mjs +3 -3
- package/dist/esm-node/commands/dev.mjs +5 -5
- package/dist/esm-node/commands/serve.mjs +2 -2
- package/dist/esm-node/config/default.mjs +1 -1
- package/dist/esm-node/esm/register-esm.mjs +3 -3
- package/dist/esm-node/plugins/analyze/utils.mjs +2 -2
- package/dist/esm-node/plugins/deploy/index.mjs +9 -4
- package/dist/esm-node/plugins/deploy/platforms/gh-pages.mjs +1 -1
- package/dist/esm-node/plugins/deploy/platforms/netlify.mjs +25 -44
- package/dist/esm-node/plugins/deploy/platforms/node.mjs +22 -46
- package/dist/esm-node/plugins/deploy/platforms/templates/netlify-entry.cjs +57 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/netlify-entry.mjs +59 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/node-entry.cjs +44 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/node-entry.mjs +46 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/vercel-entry.cjs +56 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/vercel-entry.mjs +58 -0
- package/dist/esm-node/plugins/deploy/platforms/vercel.mjs +28 -48
- package/dist/esm-node/plugins/deploy/types.mjs +1 -0
- package/dist/esm-node/plugins/deploy/utils/generator.mjs +48 -0
- package/dist/esm-node/plugins/deploy/utils/index.mjs +44 -0
- package/dist/esm-node/utils/loadPlugins.mjs +4 -4
- package/dist/esm-node/utils/register.mjs +6 -14
- package/dist/types/plugins/analyze/utils.d.ts +1 -1
- package/dist/types/plugins/deploy/platforms/platform.d.ts +8 -1
- package/dist/types/plugins/deploy/platforms/templates/netlify-entry.d.mts +2 -0
- package/dist/types/plugins/deploy/platforms/templates/node-entry.d.mts +1 -0
- package/dist/types/plugins/deploy/platforms/templates/vercel-entry.d.cts +2 -0
- package/dist/types/plugins/deploy/platforms/templates/vercel-entry.d.mts +2 -0
- package/dist/types/plugins/deploy/types.d.ts +3 -0
- package/dist/types/plugins/deploy/utils/generator.d.ts +24 -0
- package/dist/types/plugins/deploy/utils/index.d.ts +16 -0
- package/package.json +12 -11
- package/rslib.config.mts +19 -0
- package/dist/cjs/plugins/deploy/platforms/netlify-entry.js +0 -36
- package/dist/cjs/plugins/deploy/platforms/netlify-handler.js +0 -89
- package/dist/cjs/plugins/deploy/platforms/node-entry.js +0 -75
- package/dist/cjs/plugins/deploy/platforms/vercel-entry.js +0 -37
- package/dist/cjs/plugins/deploy/platforms/vercel-handler.js +0 -89
- package/dist/esm/plugins/deploy/platforms/netlify-entry.mjs +0 -2
- package/dist/esm/plugins/deploy/platforms/netlify-handler.mjs +0 -85
- package/dist/esm/plugins/deploy/platforms/vercel-entry.mjs +0 -3
- package/dist/esm/plugins/deploy/platforms/vercel-handler.mjs +0 -85
- package/dist/esm/plugins/deploy/utils.mjs +0 -39
- package/dist/esm-node/plugins/deploy/platforms/netlify-entry.mjs +0 -3
- package/dist/esm-node/plugins/deploy/platforms/netlify-handler.mjs +0 -89
- package/dist/esm-node/plugins/deploy/platforms/node-entry.mjs +0 -72
- package/dist/esm-node/plugins/deploy/platforms/vercel-entry.mjs +0 -4
- package/dist/esm-node/plugins/deploy/platforms/vercel-handler.mjs +0 -89
- package/dist/esm-node/plugins/deploy/utils.mjs +0 -40
- package/dist/types/plugins/deploy/platforms/netlify-entry.d.cts +0 -2
- package/dist/types/plugins/deploy/platforms/netlify-entry.d.mts +0 -1
- package/dist/types/plugins/deploy/platforms/vercel-entry.d.mts +0 -2
- package/dist/types/plugins/deploy/platforms/vercel-entry.d.ts +0 -2
- package/dist/types/plugins/deploy/platforms/vercel-handler.d.cts +0 -1
- package/dist/types/plugins/deploy/utils.d.ts +0 -23
- /package/dist/types/plugins/deploy/platforms/{netlify-handler.d.cts → templates/netlify-entry.d.cts} +0 -0
- /package/dist/types/plugins/deploy/platforms/{node-entry.d.ts → templates/node-entry.d.cts} +0 -0
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import "node:module";
|
|
2
|
-
import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
|
|
3
|
-
import { dirname as __rspack_dirname } from "node:path";
|
|
4
|
-
import * as __rspack_external__modern_js_prod_server_057184e2 from "@modern-js/prod-server";
|
|
5
|
-
import * as __rspack_external_node_fs_promises_153e37e0 from "node:fs/promises";
|
|
6
|
-
import * as __rspack_external_node_path_c5b9b54f from "node:path";
|
|
7
|
-
var __webpack_modules__ = {
|
|
8
|
-
"@modern-js/prod-server" (module) {
|
|
9
|
-
module.exports = __rspack_external__modern_js_prod_server_057184e2;
|
|
10
|
-
},
|
|
11
|
-
"node:fs/promises" (module) {
|
|
12
|
-
module.exports = __rspack_external_node_fs_promises_153e37e0;
|
|
13
|
-
},
|
|
14
|
-
"node:path" (module) {
|
|
15
|
-
module.exports = __rspack_external_node_path_c5b9b54f;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
var __webpack_module_cache__ = {};
|
|
19
|
-
function __webpack_require__(moduleId) {
|
|
20
|
-
var cachedModule = __webpack_module_cache__[moduleId];
|
|
21
|
-
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
22
|
-
var module = __webpack_module_cache__[moduleId] = {
|
|
23
|
-
exports: {}
|
|
24
|
-
};
|
|
25
|
-
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
26
|
-
return module.exports;
|
|
27
|
-
}
|
|
28
|
-
var __dirname = __rspack_dirname(__rspack_fileURLToPath(import.meta.url));
|
|
29
|
-
const fs = __webpack_require__("node:fs/promises");
|
|
30
|
-
const path = __webpack_require__("node:path");
|
|
31
|
-
const { createProdServer } = __webpack_require__("@modern-js/prod-server");
|
|
32
|
-
p_genPluginImportsCode;
|
|
33
|
-
if (!process.env.NODE_ENV) process.env.NODE_ENV = 'production';
|
|
34
|
-
async function loadRoutes(routeFilepath) {
|
|
35
|
-
try {
|
|
36
|
-
await fs.access(routeFilepath);
|
|
37
|
-
const content = await fs.readFile(routeFilepath, 'utf-8');
|
|
38
|
-
const routeSpec = JSON.parse(content);
|
|
39
|
-
return routeSpec.routes || [];
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.warn('route.json not found or invalid, continuing with empty routes.');
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async function main() {
|
|
46
|
-
const routeFilepath = path.join(__dirname, p_ROUTE_SPEC_FILE);
|
|
47
|
-
const routes = await loadRoutes(routeFilepath);
|
|
48
|
-
const dynamicProdOptions = p_dynamicProdOptions;
|
|
49
|
-
const prodServerOptions = {
|
|
50
|
-
pwd: __dirname,
|
|
51
|
-
routes,
|
|
52
|
-
disableCustomHook: true,
|
|
53
|
-
appContext: {
|
|
54
|
-
sharedDirectory: p_sharedDirectory,
|
|
55
|
-
apiDirectory: p_apiDirectory,
|
|
56
|
-
lambdaDirectory: p_lambdaDirectory,
|
|
57
|
-
bffRuntimeFramework: p_bffRuntimeFramework
|
|
58
|
-
},
|
|
59
|
-
plugins: p_plugins,
|
|
60
|
-
serverConfigPath: p_serverDirectory,
|
|
61
|
-
...dynamicProdOptions
|
|
62
|
-
};
|
|
63
|
-
const app = await createProdServer(prodServerOptions);
|
|
64
|
-
const port = process.env.PORT || 8080;
|
|
65
|
-
app.listen({
|
|
66
|
-
host: '::',
|
|
67
|
-
port
|
|
68
|
-
}, ()=>{
|
|
69
|
-
console.log(`\x1b[32mServer is listening on http://[::]:${port}`, '\x1b[0m');
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
main();
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import "node:module";
|
|
2
|
-
import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
|
|
3
|
-
import { dirname as __rspack_dirname } from "node:path";
|
|
4
|
-
import * as __rspack_external__modern_js_prod_server_057184e2 from "@modern-js/prod-server";
|
|
5
|
-
import * as __rspack_external_node_fs_promises_153e37e0 from "node:fs/promises";
|
|
6
|
-
import * as __rspack_external_node_path_c5b9b54f from "node:path";
|
|
7
|
-
var __webpack_modules__ = {
|
|
8
|
-
"@modern-js/prod-server" (module) {
|
|
9
|
-
module.exports = __rspack_external__modern_js_prod_server_057184e2;
|
|
10
|
-
},
|
|
11
|
-
"node:fs/promises" (module) {
|
|
12
|
-
module.exports = __rspack_external_node_fs_promises_153e37e0;
|
|
13
|
-
},
|
|
14
|
-
"node:path" (module) {
|
|
15
|
-
module.exports = __rspack_external_node_path_c5b9b54f;
|
|
16
|
-
},
|
|
17
|
-
"./src/plugins/deploy/platforms/vercel-handler.cjs" (module, __unused_rspack_exports, __webpack_require__) {
|
|
18
|
-
var __dirname = __rspack_dirname(__rspack_fileURLToPath(import.meta.url));
|
|
19
|
-
const fs = __webpack_require__("node:fs/promises");
|
|
20
|
-
const path = __webpack_require__("node:path");
|
|
21
|
-
const { createProdServer } = __webpack_require__("@modern-js/prod-server");
|
|
22
|
-
p_genPluginImportsCode;
|
|
23
|
-
if (!process.env.NODE_ENV) process.env.NODE_ENV = 'production';
|
|
24
|
-
let requestHandler = null;
|
|
25
|
-
let handlerCreationPromise = null;
|
|
26
|
-
async function loadRoutes(routeFilepath) {
|
|
27
|
-
try {
|
|
28
|
-
await fs.access(routeFilepath);
|
|
29
|
-
const content = await fs.readFile(routeFilepath, 'utf-8');
|
|
30
|
-
const routeSpec = JSON.parse(content);
|
|
31
|
-
return routeSpec.routes || [];
|
|
32
|
-
} catch (error) {
|
|
33
|
-
console.warn('route.json not found or invalid, continuing with empty routes.');
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
async function initServer() {
|
|
38
|
-
const routeFilepath = path.join(__dirname, p_ROUTE_SPEC_FILE);
|
|
39
|
-
const routes = await loadRoutes(routeFilepath);
|
|
40
|
-
const dynamicProdOptions = p_dynamicProdOptions;
|
|
41
|
-
const prodServerOptions = {
|
|
42
|
-
pwd: __dirname,
|
|
43
|
-
routes,
|
|
44
|
-
disableCustomHook: true,
|
|
45
|
-
appContext: {
|
|
46
|
-
sharedDirectory: p_sharedDirectory,
|
|
47
|
-
apiDirectory: p_apiDirectory,
|
|
48
|
-
lambdaDirectory: p_lambdaDirectory
|
|
49
|
-
},
|
|
50
|
-
plugins: p_plugins,
|
|
51
|
-
serverConfigPath: p_serverDirectory,
|
|
52
|
-
...dynamicProdOptions
|
|
53
|
-
};
|
|
54
|
-
const app = await createProdServer(prodServerOptions);
|
|
55
|
-
return app.getRequestListener();
|
|
56
|
-
}
|
|
57
|
-
async function createHandler() {
|
|
58
|
-
if (!handlerCreationPromise) handlerCreationPromise = (async ()=>{
|
|
59
|
-
try {
|
|
60
|
-
requestHandler = await initServer();
|
|
61
|
-
} catch (error) {
|
|
62
|
-
console.error('Error creating server:', error);
|
|
63
|
-
process.exit(1);
|
|
64
|
-
}
|
|
65
|
-
})();
|
|
66
|
-
await handlerCreationPromise;
|
|
67
|
-
return requestHandler;
|
|
68
|
-
}
|
|
69
|
-
createHandler();
|
|
70
|
-
const handler = async (req, res)=>{
|
|
71
|
-
if (!requestHandler) await createHandler();
|
|
72
|
-
return requestHandler(req, res);
|
|
73
|
-
};
|
|
74
|
-
module.exports = {
|
|
75
|
-
handler
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
var __webpack_module_cache__ = {};
|
|
80
|
-
function __webpack_require__(moduleId) {
|
|
81
|
-
var cachedModule = __webpack_module_cache__[moduleId];
|
|
82
|
-
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
83
|
-
var module = __webpack_module_cache__[moduleId] = {
|
|
84
|
-
exports: {}
|
|
85
|
-
};
|
|
86
|
-
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
87
|
-
return module.exports;
|
|
88
|
-
}
|
|
89
|
-
__webpack_require__("./src/plugins/deploy/platforms/vercel-handler.cjs");
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import "node:module";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { ROUTE_SPEC_FILE, SERVER_DIR, fs, getMeta } from "@modern-js/utils";
|
|
4
|
-
const serverAppContenxtTemplate = (appContext)=>{
|
|
5
|
-
const { appDirectory, sharedDirectory, apiDirectory, lambdaDirectory, metaName, bffRuntimeFramework } = appContext;
|
|
6
|
-
return {
|
|
7
|
-
sharedDirectory: `path.join(__dirname, "${path.relative(appDirectory, sharedDirectory)}")`,
|
|
8
|
-
apiDirectory: `path.join(__dirname, "${path.relative(appDirectory, apiDirectory)}")`,
|
|
9
|
-
lambdaDirectory: `path.join(__dirname, "${path.relative(appDirectory, lambdaDirectory)}")`,
|
|
10
|
-
metaName,
|
|
11
|
-
bffRuntimeFramework: bffRuntimeFramework || 'hono'
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
const genPluginImportsCode = (plugins)=>plugins.map(([name, options], index)=>`
|
|
15
|
-
let plugin_${index} = require('${name}')
|
|
16
|
-
plugin_${index} = plugin_${index}.default || plugin_${index}
|
|
17
|
-
`).join(';\n');
|
|
18
|
-
const getPluginsCode = (plugins)=>`[${plugins.map(([, options], index)=>`plugin_${index}(${options ? JSON.stringify(options) : ''})`).join(',')}]`;
|
|
19
|
-
const getProjectUsage = (appDirectory, distDirectory, metaName)=>{
|
|
20
|
-
const routeJSON = path.join(distDirectory, ROUTE_SPEC_FILE);
|
|
21
|
-
const { routes } = fs.readJSONSync(routeJSON);
|
|
22
|
-
let useSSR = false;
|
|
23
|
-
let useAPI = false;
|
|
24
|
-
routes.forEach((route)=>{
|
|
25
|
-
if (route.isSSR) useSSR = true;
|
|
26
|
-
if (route.isApi) useAPI = true;
|
|
27
|
-
});
|
|
28
|
-
const meta = getMeta(metaName);
|
|
29
|
-
const serverConfigPath = path.resolve(appDirectory, SERVER_DIR, `${meta}.server`);
|
|
30
|
-
const isServerConfigExists = [
|
|
31
|
-
'.ts',
|
|
32
|
-
'.js'
|
|
33
|
-
].some((ex)=>fs.existsSync(`${serverConfigPath}${ex}`));
|
|
34
|
-
return {
|
|
35
|
-
useSSR,
|
|
36
|
-
useAPI,
|
|
37
|
-
useWebServer: isServerConfigExists
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
export { genPluginImportsCode, getPluginsCode, getProjectUsage, serverAppContenxtTemplate };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { handler as default } from "./netlify-handler.cjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function handler(req: any, res: any): Promise<any>;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { AppToolsContext } from '../../types/plugin';
|
|
2
|
-
export type ServerAppContext = {
|
|
3
|
-
sharedDirectory: string;
|
|
4
|
-
apiDirectory: string;
|
|
5
|
-
lambdaDirectory: string;
|
|
6
|
-
metaName: string;
|
|
7
|
-
bffRuntimeFramework: string;
|
|
8
|
-
};
|
|
9
|
-
export declare const serverAppContenxtTemplate: (appContext: AppToolsContext) => {
|
|
10
|
-
sharedDirectory: string;
|
|
11
|
-
apiDirectory: string;
|
|
12
|
-
lambdaDirectory: string;
|
|
13
|
-
metaName: string;
|
|
14
|
-
bffRuntimeFramework: string;
|
|
15
|
-
};
|
|
16
|
-
export type PluginItem = [string, Record<string, any> | undefined];
|
|
17
|
-
export declare const genPluginImportsCode: (plugins: PluginItem[]) => string;
|
|
18
|
-
export declare const getPluginsCode: (plugins: PluginItem[]) => string;
|
|
19
|
-
export declare const getProjectUsage: (appDirectory: string, distDirectory: string, metaName: string) => {
|
|
20
|
-
useSSR: boolean;
|
|
21
|
-
useAPI: boolean;
|
|
22
|
-
useWebServer: boolean;
|
|
23
|
-
};
|
/package/dist/types/plugins/deploy/platforms/{netlify-handler.d.cts → templates/netlify-entry.d.cts}
RENAMED
|
File without changes
|
|
File without changes
|