rasengan 1.0.0-beta.52 → 1.0.0-beta.55
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 +9 -0
- package/lib/esm/routing/utils/generate-routes.js +83 -2
- package/lib/esm/server/dev/utils.js +2 -0
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/lib/cjs/cli/index.js +0 -45
- package/lib/cjs/client.js +0 -8
- package/lib/cjs/core/config/index.js +0 -7
- package/lib/cjs/core/config/type.js +0 -7
- package/lib/cjs/core/config/utils/define-config.js +0 -82
- package/lib/cjs/core/config/utils/load-modules.js +0 -120
- package/lib/cjs/core/config/utils/path.js +0 -19
- package/lib/cjs/core/config/vite/defaults.js +0 -93
- package/lib/cjs/core/dynamic/index.js +0 -24
- package/lib/cjs/core/index.js +0 -3
- package/lib/cjs/core/middlewares/index.js +0 -17
- package/lib/cjs/core/middlewares/logger.js +0 -10
- package/lib/cjs/core/plugins/index.js +0 -123
- package/lib/cjs/core/types.js +0 -2
- package/lib/cjs/core/utils/log.js +0 -17
- package/lib/cjs/entries/client/render.js +0 -19
- package/lib/cjs/entries/server/entry.server.js +0 -34
- package/lib/cjs/entries/server/index.js +0 -27
- package/lib/cjs/index.js +0 -22
- package/lib/cjs/plugin.js +0 -6
- package/lib/cjs/routing/components/index.js +0 -111
- package/lib/cjs/routing/components/template.js +0 -100
- package/lib/cjs/routing/index.js +0 -26
- package/lib/cjs/routing/interfaces.js +0 -108
- package/lib/cjs/routing/types.js +0 -2
- package/lib/cjs/routing/utils/define-router.js +0 -114
- package/lib/cjs/routing/utils/define-routes-group.js +0 -48
- package/lib/cjs/routing/utils/generate-metadata.js +0 -87
- package/lib/cjs/routing/utils/generate-routes.js +0 -175
- package/lib/cjs/routing/utils/index.js +0 -20
- package/lib/cjs/scripts/build-command.js +0 -22
- package/lib/cjs/scripts/generate-package-json.js +0 -28
- package/lib/cjs/scripts/utils/check-os.js +0 -14
- package/lib/cjs/scripts/utils/copy.js +0 -23
- package/lib/cjs/server/build/index.js +0 -15
- package/lib/cjs/server/build/manifest.js +0 -98
- package/lib/cjs/server/dev/handlers.js +0 -134
- package/lib/cjs/server/dev/server.js +0 -173
- package/lib/cjs/server/dev/utils.js +0 -204
- package/lib/cjs/server/node/index.js +0 -109
- package/lib/cjs/server/node/rendering.js +0 -52
- package/lib/cjs/server/node/stream.js +0 -136
- package/lib/cjs/server/node/utils.js +0 -96
- package/lib/cjs/server/runtime/mode.js +0 -18
- package/lib/cjs/server/utils/handleError.js +0 -59
- package/lib/cjs/server/utils/handleRequest.js +0 -224
- package/lib/cjs/server/utils/index.js +0 -6
- package/lib/cjs/server/virtual/index.js +0 -11
- package/lib/cjs/server.js +0 -22
- package/lib/esm/server/utils/handleError.js +0 -23
- package/lib/esm/server/utils/handleRequest.js +0 -185
- package/lib/esm/server/utils/index.js +0 -4
- package/lib/tsconfig.cjs.tsbuildinfo +0 -1
- package/lib/types/server/utils/handleError.d.ts +0 -2
- package/lib/types/server/utils/handleRequest.d.ts +0 -1
- package/lib/types/server/utils/index.d.ts +0 -2
package/CHANGELOG.md
ADDED
|
@@ -17,6 +17,86 @@ export const getRouter = (routerInstance) => {
|
|
|
17
17
|
});
|
|
18
18
|
return () => _jsx(RouterProvider, { router: router });
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* This function merge the metadata, giving priority to the ones comming from loader
|
|
22
|
+
*/
|
|
23
|
+
const mergeMetaData = (responseMeta, meta) => {
|
|
24
|
+
let mergedMetaData = {
|
|
25
|
+
metaTags: [],
|
|
26
|
+
links: [],
|
|
27
|
+
};
|
|
28
|
+
// merge title and description
|
|
29
|
+
mergedMetaData['title'] =
|
|
30
|
+
responseMeta.title ?? meta.title;
|
|
31
|
+
mergedMetaData['description'] =
|
|
32
|
+
responseMeta.description ?? meta.description;
|
|
33
|
+
// merge openGraph datas
|
|
34
|
+
mergedMetaData['openGraph'] = {
|
|
35
|
+
...meta.openGraph,
|
|
36
|
+
...responseMeta.openGraph,
|
|
37
|
+
};
|
|
38
|
+
// merge twitter data
|
|
39
|
+
mergedMetaData['twitter'] = {
|
|
40
|
+
...meta.twitter,
|
|
41
|
+
...responseMeta.twitter,
|
|
42
|
+
};
|
|
43
|
+
// merge elements of type <array> eg. metaTags and links
|
|
44
|
+
const metaSet = new Set();
|
|
45
|
+
const linkSet = new Set();
|
|
46
|
+
if (meta['metaTags'] && Array.isArray(meta.metaTags)) {
|
|
47
|
+
// Loop through the metaTags and add every key to the set
|
|
48
|
+
for (const element of meta.metaTags) {
|
|
49
|
+
metaSet.add(element.name ?? element.property);
|
|
50
|
+
}
|
|
51
|
+
if (responseMeta['metaTags'] && Array.isArray(responseMeta.metaTags)) {
|
|
52
|
+
// Loop through the responseMeta and check if the key is already in the set
|
|
53
|
+
for (const element of responseMeta.metaTags) {
|
|
54
|
+
if (metaSet.has(element.name ?? element.property)) {
|
|
55
|
+
// remove the element from the set
|
|
56
|
+
metaSet.delete(element.name ?? element.property);
|
|
57
|
+
}
|
|
58
|
+
mergedMetaData.metaTags.push(element);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Loop through the remaining elements in the set
|
|
62
|
+
for (const element of metaSet) {
|
|
63
|
+
const metaElement = meta.metaTags.find((el) => el.name === element);
|
|
64
|
+
if (metaElement) {
|
|
65
|
+
mergedMetaData.metaTags.push(metaElement);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
mergedMetaData.metaTags = responseMeta.metaTags ?? [];
|
|
71
|
+
}
|
|
72
|
+
if (meta['links'] && Array.isArray(meta.links)) {
|
|
73
|
+
// Loop through the links and add every key to the set
|
|
74
|
+
for (const element of meta.links) {
|
|
75
|
+
linkSet.add(element.rel);
|
|
76
|
+
}
|
|
77
|
+
if (responseMeta['links'] && Array.isArray(responseMeta.links)) {
|
|
78
|
+
// Loop through the responseMeta and check if the key is already in the set
|
|
79
|
+
for (const element of responseMeta.links) {
|
|
80
|
+
if (linkSet.has(element.rel)) {
|
|
81
|
+
// remove the element from the set
|
|
82
|
+
linkSet.delete(element.rel);
|
|
83
|
+
}
|
|
84
|
+
mergedMetaData.links.push(element);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Loop through the remaining elements in the set
|
|
88
|
+
for (const element of linkSet) {
|
|
89
|
+
const linkElement = meta.links.find((el) => el.rel === element);
|
|
90
|
+
if (linkElement) {
|
|
91
|
+
mergedMetaData.links.push(linkElement);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
mergedMetaData.links = responseMeta.links ?? [];
|
|
97
|
+
}
|
|
98
|
+
return mergedMetaData;
|
|
99
|
+
};
|
|
20
100
|
/**
|
|
21
101
|
* This function create a loader function
|
|
22
102
|
*/
|
|
@@ -44,11 +124,12 @@ const createLoaderFunction = ({ loader, metadata, }) => {
|
|
|
44
124
|
});
|
|
45
125
|
}
|
|
46
126
|
return {
|
|
47
|
-
|
|
48
|
-
meta: metadata,
|
|
127
|
+
props: response.props,
|
|
128
|
+
meta: mergeMetaData(response.meta, metadata),
|
|
49
129
|
};
|
|
50
130
|
}
|
|
51
131
|
catch (error) {
|
|
132
|
+
console.error(error);
|
|
52
133
|
return {
|
|
53
134
|
props: {},
|
|
54
135
|
meta: {},
|
|
@@ -3,6 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import fs from 'fs/promises';
|
|
4
4
|
import openBrowser from 'open';
|
|
5
5
|
import os from 'node:os';
|
|
6
|
+
import readline from 'node:readline';
|
|
6
7
|
// Get local IP
|
|
7
8
|
export default function getIPAddress() {
|
|
8
9
|
// Get network interfaces
|
|
@@ -69,6 +70,7 @@ export async function logServerInfo(port, mode, open = false) {
|
|
|
69
70
|
if (open) {
|
|
70
71
|
openBrowser(`http://localhost:${port}`);
|
|
71
72
|
}
|
|
73
|
+
readline.emitKeypressEvents(process.stdin);
|
|
72
74
|
// Listen on user keyboard input on the terminal
|
|
73
75
|
process.stdin.on('keypress', (_, key) => {
|
|
74
76
|
// Check if the key pressed is 'c'
|
|
@@ -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/index.tsx","../src/routing/components/template.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.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/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/
|
|
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/index.tsx","../src/routing/components/template.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.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/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/virtual/index.ts","../types/client.d.ts"],"version":"5.7.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/index.tsx","../src/routing/components/template.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.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/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/
|
|
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/index.tsx","../src/routing/components/template.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.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/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/virtual/index.ts","../types/client.d.ts"],"version":"5.7.2"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rasengan",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.55",
|
|
5
5
|
"description": "The modern React Framework",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "lib/esm/index.js",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"sass": "*",
|
|
80
80
|
"stylus": "*",
|
|
81
81
|
"vite": "^6.0.0",
|
|
82
|
-
"@rasenganjs/mdx": "1.0.6"
|
|
82
|
+
"@rasenganjs/mdx": "^1.0.6"
|
|
83
83
|
},
|
|
84
84
|
"peerDependenciesMeta": {
|
|
85
85
|
"@types/node": {
|
package/lib/cjs/cli/index.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
7
|
-
const commander_1 = require("commander");
|
|
8
|
-
const execa_1 = require("execa");
|
|
9
|
-
const program = new commander_1.Command();
|
|
10
|
-
program
|
|
11
|
-
.name(chalk_1.default.blue('rasengan'))
|
|
12
|
-
.version('1.0.0', '-v, --version', 'Output the current version number');
|
|
13
|
-
// Handle the dev command
|
|
14
|
-
program
|
|
15
|
-
.command('dev')
|
|
16
|
-
.option('-p <port>')
|
|
17
|
-
.description('Start development server')
|
|
18
|
-
.action(async ({ p: port }) => {
|
|
19
|
-
const convertedPort = Number(port);
|
|
20
|
-
// Checking port
|
|
21
|
-
if (port &&
|
|
22
|
-
(isNaN(convertedPort) || convertedPort < 0 || convertedPort > 65535)) {
|
|
23
|
-
console.log('');
|
|
24
|
-
console.log(chalk_1.default.red('Please provide a valid port number between 0-65535'));
|
|
25
|
-
console.log('');
|
|
26
|
-
process.exit(1);
|
|
27
|
-
}
|
|
28
|
-
(0, execa_1.execa)('node', ['node_modules/rasengan/lib/esm/server/dev/server'], {
|
|
29
|
-
stdio: 'inherit',
|
|
30
|
-
env: {
|
|
31
|
-
...process.env,
|
|
32
|
-
PORT: convertedPort ? convertedPort.toString() : undefined,
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
// Handle the build command
|
|
37
|
-
program
|
|
38
|
-
.command('build')
|
|
39
|
-
.description('Build the project')
|
|
40
|
-
.action(async () => {
|
|
41
|
-
(0, execa_1.execa)('node', ['node_modules/rasengan/lib/esm/scripts/build-command'], {
|
|
42
|
-
stdio: 'inherit',
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
program.parse(process.argv);
|
package/lib/cjs/client.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.renderApp = void 0;
|
|
7
|
-
const render_js_1 = __importDefault(require("./entries/client/render.js"));
|
|
8
|
-
exports.renderApp = render_js_1.default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolvePath = exports.defineConfig = void 0;
|
|
4
|
-
const define_config_js_1 = require("./utils/define-config.js");
|
|
5
|
-
Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return define_config_js_1.defineConfig; } });
|
|
6
|
-
const path_js_1 = require("./utils/path.js");
|
|
7
|
-
Object.defineProperty(exports, "resolvePath", { enumerable: true, get: function () { return path_js_1.resolvePath; } });
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineConfig = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Function to define the config for the app
|
|
6
|
-
* It will be used by vite.config.ts and other files in other to configure the app
|
|
7
|
-
* @param {AppConfig | AppConfigFunction | AppConfigFunctionAsync} loadedConfig
|
|
8
|
-
*/
|
|
9
|
-
const defineConfig = async (loadedConfig) => {
|
|
10
|
-
return async () => {
|
|
11
|
-
let config;
|
|
12
|
-
// Check if the loadedConfig is a function
|
|
13
|
-
if (typeof loadedConfig === 'function') {
|
|
14
|
-
// Call the function to get the config
|
|
15
|
-
const result = loadedConfig();
|
|
16
|
-
// Check if it's a promise (asynchronous function)
|
|
17
|
-
if (result instanceof Promise) {
|
|
18
|
-
config = await result; // Await the promise result (AppConfigFunctionAsync)
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
config = result; // Synchronous function result (AppConfigFunction)
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
config = loadedConfig;
|
|
26
|
-
}
|
|
27
|
-
const { server, vite, redirects } = config;
|
|
28
|
-
// Define default values for vite config coming from loadedConfig.vite
|
|
29
|
-
const defaultViteConfig = {
|
|
30
|
-
...vite,
|
|
31
|
-
resolve: {
|
|
32
|
-
symbole: vite?.resolve?.symbole || '@',
|
|
33
|
-
alias: vite?.resolve?.alias || [],
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
// Define default values for server config coming from loadedConfig.server
|
|
37
|
-
const defaultServerConfig = {
|
|
38
|
-
development: {
|
|
39
|
-
port: server?.development?.port || undefined,
|
|
40
|
-
open: server?.development?.open || false,
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
// Define default values for redirects config coming from loadedConfig.redirects
|
|
44
|
-
const defaultRedirectsConfig = redirects || (() => new Promise((resolve) => resolve([])));
|
|
45
|
-
try {
|
|
46
|
-
const config = {
|
|
47
|
-
server: defaultServerConfig,
|
|
48
|
-
vite: {
|
|
49
|
-
...defaultViteConfig,
|
|
50
|
-
resolve: {
|
|
51
|
-
alias: [
|
|
52
|
-
{
|
|
53
|
-
find: defaultViteConfig.resolve.symbole,
|
|
54
|
-
replacement: './src',
|
|
55
|
-
},
|
|
56
|
-
...defaultViteConfig.resolve.alias,
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
redirects: defaultRedirectsConfig,
|
|
61
|
-
};
|
|
62
|
-
return config;
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
return {
|
|
66
|
-
vite: {
|
|
67
|
-
appType: 'custom',
|
|
68
|
-
resolve: {
|
|
69
|
-
alias: [
|
|
70
|
-
{
|
|
71
|
-
find: '@',
|
|
72
|
-
replacement: './src',
|
|
73
|
-
},
|
|
74
|
-
],
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
redirects: () => new Promise((resolve) => resolve([])),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
exports.defineConfig = defineConfig;
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.getDirname = exports.findModulePath = exports.loadModuleSSR = exports.extensions = void 0;
|
|
40
|
-
const path_js_1 = require("./path.js");
|
|
41
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
42
|
-
exports.extensions = [
|
|
43
|
-
'.mjs',
|
|
44
|
-
'.js',
|
|
45
|
-
'.mts',
|
|
46
|
-
'.ts',
|
|
47
|
-
'.jsx',
|
|
48
|
-
'.tsx',
|
|
49
|
-
'.json',
|
|
50
|
-
];
|
|
51
|
-
/**
|
|
52
|
-
* Asynchronously loads a module from a file path only in the server-side environment.
|
|
53
|
-
*
|
|
54
|
-
* @param path - The path to the module.
|
|
55
|
-
* @returns The loaded module.
|
|
56
|
-
*/
|
|
57
|
-
const loadModuleSSR = async (path) => {
|
|
58
|
-
try {
|
|
59
|
-
let modulePath = path;
|
|
60
|
-
// Check if the module path has an extension
|
|
61
|
-
const moduleExtension = path.split('.').pop(); // eg: js or ts
|
|
62
|
-
if (!moduleExtension || !exports.extensions.includes(`.${moduleExtension}`)) {
|
|
63
|
-
const { path: newPath } = await (0, exports.findModulePath)(path);
|
|
64
|
-
modulePath = newPath;
|
|
65
|
-
}
|
|
66
|
-
const module = await Promise.resolve(`${(0, path_js_1.resolvePath)(modulePath)}`).then(s => __importStar(require(s)));
|
|
67
|
-
return module;
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
throw new Error(error);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
exports.loadModuleSSR = loadModuleSSR;
|
|
74
|
-
/**
|
|
75
|
-
* Finds the module path with the right extension.
|
|
76
|
-
*
|
|
77
|
-
* @param path - The path to the module.
|
|
78
|
-
* @returns The module path and extension.
|
|
79
|
-
*/
|
|
80
|
-
const findModulePath = async (path) => {
|
|
81
|
-
try {
|
|
82
|
-
let modulePath = path;
|
|
83
|
-
let rightExtension = '';
|
|
84
|
-
// Check if the module path has an extension
|
|
85
|
-
const moduleExtension = path.split('.').pop(); // eg: js or ts
|
|
86
|
-
if (!moduleExtension || !exports.extensions.includes(`.${moduleExtension}`)) {
|
|
87
|
-
for (let ext of exports.extensions) {
|
|
88
|
-
const newModulePath = `${modulePath}${ext}`;
|
|
89
|
-
try {
|
|
90
|
-
await promises_1.default.access(newModulePath);
|
|
91
|
-
modulePath = newModulePath;
|
|
92
|
-
rightExtension = ext;
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (modulePath === path) {
|
|
100
|
-
throw new Error(`Module "${path}" not found`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
path: modulePath,
|
|
105
|
-
extension: rightExtension,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
throw new Error(error);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
exports.findModulePath = findModulePath;
|
|
113
|
-
const getDirname = async (url) => {
|
|
114
|
-
// Load the dirname function from the path module
|
|
115
|
-
// and return the dirname of the file URL
|
|
116
|
-
const { dirname } = await Promise.resolve().then(() => __importStar(require('node:path')));
|
|
117
|
-
const { fileURLToPath } = await Promise.resolve().then(() => __importStar(require('node:url')));
|
|
118
|
-
return dirname(fileURLToPath(url));
|
|
119
|
-
};
|
|
120
|
-
exports.getDirname = getDirname;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolvePath = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Adapts the provided file path to a valid URL format based on the operating system.
|
|
6
|
-
*
|
|
7
|
-
* @param path - The file path to be adapted.
|
|
8
|
-
* @returns The adapted file path in a valid URL format.
|
|
9
|
-
*/
|
|
10
|
-
const resolvePath = (path) => {
|
|
11
|
-
// Check the OS
|
|
12
|
-
const isWindows = process.platform === 'win32';
|
|
13
|
-
// Adapt the path
|
|
14
|
-
if (isWindows) {
|
|
15
|
-
return `file:///${path}`;
|
|
16
|
-
}
|
|
17
|
-
return path;
|
|
18
|
-
};
|
|
19
|
-
exports.resolvePath = resolvePath;
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createDefaultViteConfig = void 0;
|
|
4
|
-
// core/config/defaults.ts
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
6
|
-
// Define core external packages
|
|
7
|
-
const CORE_EXTERNALS = [
|
|
8
|
-
// '@rasenganjs/mdx',
|
|
9
|
-
// '@rasenganjs/vercel',
|
|
10
|
-
// '@rasenganjs/netlify',
|
|
11
|
-
];
|
|
12
|
-
const createDefaultViteConfig = (rootPath, __dirname, mode, config) => {
|
|
13
|
-
// Combine core externals with user-defined externals
|
|
14
|
-
const externals = [
|
|
15
|
-
...CORE_EXTERNALS,
|
|
16
|
-
...(Array.isArray(config.vite?.build?.external)
|
|
17
|
-
? config.vite.build.external
|
|
18
|
-
: []),
|
|
19
|
-
];
|
|
20
|
-
return {
|
|
21
|
-
...config.vite,
|
|
22
|
-
root: rootPath,
|
|
23
|
-
build: {
|
|
24
|
-
sourcemap: mode === 'development',
|
|
25
|
-
rollupOptions: {
|
|
26
|
-
external: externals,
|
|
27
|
-
input: './src/index',
|
|
28
|
-
output: {
|
|
29
|
-
manualChunks(id) {
|
|
30
|
-
if (id.includes('node_modules'))
|
|
31
|
-
return 'vendor';
|
|
32
|
-
if (id.includes('src/components'))
|
|
33
|
-
return 'shared-components';
|
|
34
|
-
if (id.includes('src/app') && id.includes('.page.')) {
|
|
35
|
-
const parts = id.split('src/app')[1]?.split('/');
|
|
36
|
-
if (parts?.length) {
|
|
37
|
-
const pageName = parts.pop()?.split('.')[0];
|
|
38
|
-
return pageName ? `page-${pageName}` : undefined;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
outDir: 'dist',
|
|
46
|
-
chunkSizeWarningLimit: 1000,
|
|
47
|
-
},
|
|
48
|
-
environments: {
|
|
49
|
-
client: {
|
|
50
|
-
build: {
|
|
51
|
-
manifest: true,
|
|
52
|
-
outDir: 'dist/client',
|
|
53
|
-
rollupOptions: {
|
|
54
|
-
input: './src/index',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
ssr: {
|
|
59
|
-
build: {
|
|
60
|
-
outDir: 'dist/server',
|
|
61
|
-
rollupOptions: {
|
|
62
|
-
input: {
|
|
63
|
-
'entry.server': (0, node_path_1.join)(__dirname, './lib/esm/entries/server/entry.server.js'),
|
|
64
|
-
'app.router': './src/app/app.router',
|
|
65
|
-
main: './src/main',
|
|
66
|
-
template: './src/template',
|
|
67
|
-
config: './rasengan.config.js',
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
ssrEmitAssets: false,
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
resolve: {
|
|
75
|
-
alias: Array.isArray(config.vite?.resolve?.alias)
|
|
76
|
-
? config.vite.resolve.alias.map(({ find, replacement }) => ({
|
|
77
|
-
find,
|
|
78
|
-
replacement: (0, node_path_1.join)(rootPath, replacement),
|
|
79
|
-
}))
|
|
80
|
-
: [],
|
|
81
|
-
},
|
|
82
|
-
builder: {
|
|
83
|
-
buildApp: async (builder) => {
|
|
84
|
-
await builder.build(builder.environments.ssr);
|
|
85
|
-
await builder.build(builder.environments.client);
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
cacheDir: '.rasengan/',
|
|
89
|
-
envPrefix: 'RASENGAN_',
|
|
90
|
-
appType: 'custom',
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
exports.createDefaultViteConfig = createDefaultViteConfig;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dynamicLoad = dynamicLoad;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
/**
|
|
7
|
-
* It allows you to defer loading of Client Components,
|
|
8
|
-
* and only include them in the client bundle when they're needed
|
|
9
|
-
* @param load
|
|
10
|
-
* @param fallback
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
function dynamicLoad(load, fallback = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}) // Default pending UI element
|
|
14
|
-
) {
|
|
15
|
-
try {
|
|
16
|
-
const LazyComponent = (0, react_1.lazy)(load);
|
|
17
|
-
// Return a functional component preserving the exact props type
|
|
18
|
-
const WrappedComponent = (props) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: fallback, children: (0, jsx_runtime_1.jsx)(LazyComponent, { ...props }) }));
|
|
19
|
-
return WrappedComponent;
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
throw new Error(error);
|
|
23
|
-
}
|
|
24
|
-
}
|
package/lib/cjs/core/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./logger.js"), exports);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loggerMiddleware = void 0;
|
|
4
|
-
const log_js_1 = require("../utils/log.js");
|
|
5
|
-
const loggerMiddleware = (req, _, next) => {
|
|
6
|
-
const url = req.originalUrl;
|
|
7
|
-
(0, log_js_1.logGetRequest)(url);
|
|
8
|
-
next();
|
|
9
|
-
};
|
|
10
|
-
exports.loggerMiddleware = loggerMiddleware;
|