rasengan 1.2.0-beta.7 → 1.2.0-beta.9
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/CHANGELOG.md +4 -0
- package/lib/esm/core/plugins/index.js +8 -3
- package/lib/esm/routing/providers/metadata.js +1 -1
- package/lib/esm/server/node/index.js +7 -4
- package/lib/esm/server/runtime/detect-runtime.js +13 -0
- package/lib/esm/server.js +2 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.types.tsbuildinfo +1 -1
- package/lib/types/server/runtime/detect-runtime.d.ts +2 -0
- package/lib/types/server.d.ts +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path, { resolve } from 'path';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import { loadModuleSSR } from '../config/utils/load-modules.js';
|
|
4
|
-
import { resolveBuildOptions } from '../../server.js';
|
|
4
|
+
import { detectRuntime, resolveBuildOptions } from '../../server.js';
|
|
5
5
|
import { renderIndexHTML } from '../../server/build/rendering.js';
|
|
6
6
|
import { createVirtualModule } from '../../server/virtual/index.js';
|
|
7
7
|
import { pathToFileURL } from 'url';
|
|
@@ -238,8 +238,13 @@ export function rasengan({ adapter = { name: Adapters.DEFAULT, prepare: async ()
|
|
|
238
238
|
enableIndexFallback,
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
|
-
//
|
|
242
|
-
|
|
241
|
+
// Detect runtime environment
|
|
242
|
+
const runtime = detectRuntime();
|
|
243
|
+
console.log(`Detected runtime: ${runtime}`);
|
|
244
|
+
if (runtime !== 'local' && runtime !== 'unknown') {
|
|
245
|
+
// Prepare the app for deployment
|
|
246
|
+
await prepareToDeploy(adapter);
|
|
247
|
+
}
|
|
243
248
|
}
|
|
244
249
|
},
|
|
245
250
|
apply: 'build',
|
|
@@ -12,7 +12,7 @@ export default function MetadataProvider({ children, }) {
|
|
|
12
12
|
(async () => {
|
|
13
13
|
const loadersData = routes.map((route) => route.loaderData ?? route.data // Normally the route.data is deprecated, we need to consider route.loaderData, but in some cases, route.loaderData is undefined and I don't know why, that's why we are using route.data instead
|
|
14
14
|
);
|
|
15
|
-
handleInjectMetadata(loadersData);
|
|
15
|
+
handleInjectMetadata(loadersData.filter(Boolean)); // Sometimes, loadersData contains `undefined` values, the filter(Boolean) is there to remove all falsy values
|
|
16
16
|
})();
|
|
17
17
|
}, [location]);
|
|
18
18
|
/**
|
|
@@ -3,9 +3,7 @@ import { ManifestManager } from '../build/manifest.js';
|
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { render, } from '../../entries/server/entry.server.js';
|
|
6
|
-
import { generateRoutes, getAllRoutesPath, preloadMatches,
|
|
7
|
-
// generateSSRRoutes,
|
|
8
|
-
} from '../../routing/utils/index.js';
|
|
6
|
+
import { generateRoutes, getAllRoutesPath, preloadMatches, } from '../../routing/utils/index.js';
|
|
9
7
|
import { createStaticHandler, createStaticRouter, StaticRouterProvider, } from 'react-router';
|
|
10
8
|
import createRasenganRequest, { convertSecondsToMinutes, createFakeRasenganRequest, filterRoutesForPrerender, logRenderedPagesGrouped, } from './utils.js';
|
|
11
9
|
import { extractHeadersFromRRContext, extractMetaFromRRContext, isRedirectResponse, isStaticRedirectFromConfig, } from '../dev/utils.js';
|
|
@@ -102,8 +100,13 @@ export async function preRenderApp(options) {
|
|
|
102
100
|
// Start timer
|
|
103
101
|
const start = Date.now();
|
|
104
102
|
const createSpinner = spinner('Starting static pre-rendering...');
|
|
103
|
+
// Ensure .rasengan directory exists
|
|
104
|
+
const logDir = '.rasengan';
|
|
105
|
+
if (!fs.existsSync(logDir)) {
|
|
106
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
107
|
+
}
|
|
105
108
|
// Redirect console.log to a file
|
|
106
|
-
const logStream = fs.createWriteStream(
|
|
109
|
+
const logStream = fs.createWriteStream(`${logDir}/prerender.log`, {
|
|
107
110
|
flags: 'a',
|
|
108
111
|
});
|
|
109
112
|
const originalLog = console.log;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function detectRuntime() {
|
|
2
|
+
if (process.env.VERCEL === '1') {
|
|
3
|
+
return 'vercel';
|
|
4
|
+
}
|
|
5
|
+
if (process.env.NETLIFY === 'true') {
|
|
6
|
+
return 'netlify';
|
|
7
|
+
}
|
|
8
|
+
if (process.env.NODE_ENV === 'development' ||
|
|
9
|
+
process.env.NODE_ENV === 'test') {
|
|
10
|
+
return 'local';
|
|
11
|
+
}
|
|
12
|
+
return 'unknown';
|
|
13
|
+
}
|
package/lib/esm/server.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRequestHandler } from './server/node/index.js';
|
|
2
2
|
import { resolveBuildOptions } from './server/build/index.js';
|
|
3
|
+
import { detectRuntime } from './server/runtime/detect-runtime.js';
|
|
3
4
|
import compression from 'compression';
|
|
4
5
|
import express from 'express';
|
|
5
6
|
export * from './server/build/manifest.js';
|
|
6
|
-
export { createRequestHandler, resolveBuildOptions, express, compression };
|
|
7
|
+
export { createRequestHandler, resolveBuildOptions, express, compression, detectRuntime, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/fallback.tsx","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/define-static-paths.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/fallback.tsx","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/define-static-paths.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/detect-runtime.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/fallback.tsx","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/define-static-paths.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/fallback.tsx","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/define-static-paths.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/detect-runtime.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
package/lib/types/server.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRequestHandler } from './server/node/index.js';
|
|
2
2
|
import { resolveBuildOptions } from './server/build/index.js';
|
|
3
|
+
import { detectRuntime } from './server/runtime/detect-runtime.js';
|
|
3
4
|
import compression from 'compression';
|
|
4
5
|
import express from 'express';
|
|
5
6
|
export * from './server/build/manifest.js';
|
|
6
|
-
export { createRequestHandler, resolveBuildOptions, express, compression };
|
|
7
|
+
export { createRequestHandler, resolveBuildOptions, express, compression, detectRuntime, };
|