@analogjs/platform 0.1.0-beta.2 → 0.1.0-beta.21
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/package.json +4 -2
- package/src/lib/build-server.d.ts +3 -0
- package/src/lib/build-server.js +23 -0
- package/src/lib/content-plugin.d.ts +12 -0
- package/src/lib/content-plugin.js +58 -0
- package/src/lib/nx-plugin/README.md +23 -0
- package/src/lib/nx-plugin/generators.json +19 -0
- package/src/lib/nx-plugin/package.json +13 -0
- package/src/lib/nx-plugin/src/generators/app/compat.d.ts +2 -0
- package/src/lib/nx-plugin/src/generators/app/compat.js +6 -0
- package/src/lib/nx-plugin/src/generators/app/compat.js.map +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/.eslintrc.json__template__ +36 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/index.html__template__ +15 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/app/app.component.spec.ts__template__ +17 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/app/app.component.ts__template__ +20 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/app/pages/index.page.ts__template__ +62 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/favicon.ico__template__ +0 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/main.providers.ts__template__ +5 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/main.server.ts__template__ +23 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/main.ts__template__ +10 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/public/assets/.gitkeep__template__ +0 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/public/assets/analog.svg__template__ +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/public/assets/vite.svg__template__ +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/server/routes/v1/hello.ts__template__ +3 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/styles.css__template__ +75 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/test-setup.ts__template__ +12 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/vite-env.d.ts__template__ +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.app.json__template__ +16 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.editor.json__template__ +7 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.json__template__ +32 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.spec.json__template__ +15 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/vite.config.ts__template__ +64 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/.eslintrc.json__template__ +36 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/index.html__template__ +15 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/app/app.component.spec.ts__template__ +17 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/app/app.component.ts__template__ +20 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/app/pages/index.page.ts__template__ +62 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/favicon.ico__template__ +0 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/main.providers.ts__template__ +5 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/main.server.ts__template__ +23 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/main.ts__template__ +10 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/public/assets/.gitkeep__template__ +0 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/public/assets/analog.svg__template__ +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/public/assets/vite.svg__template__ +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/server/routes/v1/hello.ts__template__ +3 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/styles.css__template__ +75 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/test-setup.ts__template__ +12 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/src/vite-env.d.ts__template__ +1 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/tsconfig.app.json__template__ +16 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/tsconfig.editor.json__template__ +7 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/tsconfig.json__template__ +32 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/tsconfig.spec.json__template__ +15 -0
- package/src/lib/nx-plugin/src/generators/app/files/template-angular-v16/vite.config.ts__template__ +64 -0
- package/src/lib/nx-plugin/src/generators/app/files/versions.d.ts +26 -0
- package/src/lib/nx-plugin/src/generators/app/files/versions.js +36 -0
- package/src/lib/nx-plugin/src/generators/app/files/versions.js.map +1 -0
- package/src/lib/nx-plugin/src/generators/app/generator.d.ts +10 -0
- package/src/lib/nx-plugin/src/generators/app/generator.js +83 -0
- package/src/lib/nx-plugin/src/generators/app/generator.js.map +1 -0
- package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.d.ts +2 -0
- package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js +80 -0
- package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js.map +1 -0
- package/src/lib/nx-plugin/src/generators/app/schema.d.ts +6 -0
- package/src/lib/nx-plugin/src/generators/app/schema.json +34 -0
- package/src/lib/nx-plugin/src/index.d.ts +0 -0
- package/src/lib/nx-plugin/src/index.js +1 -0
- package/src/lib/nx-plugin/src/index.js.map +1 -0
- package/src/lib/nx-plugin/src/utils/version-utils.d.ts +2 -0
- package/src/lib/nx-plugin/src/utils/version-utils.js +18 -0
- package/src/lib/nx-plugin/src/utils/version-utils.js.map +1 -0
- package/src/lib/options.d.ts +19 -0
- package/src/lib/platform-plugin.js +25 -4
- package/src/lib/router-plugin.d.ts +1 -1
- package/src/lib/router-plugin.js +17 -2
- package/src/lib/runtime/api-middleware.js +16 -0
- package/src/lib/runtime/renderer.js +19 -0
- package/src/lib/ssr/build.d.ts +3 -0
- package/src/lib/ssr/build.js +18 -0
- package/src/lib/ssr/dev-server-plugin.d.ts +7 -0
- package/src/lib/ssr/dev-server-plugin.js +90 -0
- package/src/lib/ssr/ssr-build-plugin.d.ts +2 -0
- package/src/lib/ssr/ssr-build-plugin.js +35 -0
- package/src/lib/vite-nitro-plugin.d.ts +2 -1
- package/src/lib/vite-nitro-plugin.js +76 -25
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const semver_1 = require("semver");
|
|
7
|
+
const version_utils_1 = require("../../utils/version-utils");
|
|
8
|
+
const add_analog_project_config_1 = require("./lib/add-analog-project-config");
|
|
9
|
+
const versions_1 = require("./files/versions");
|
|
10
|
+
function normalizeOptions(tree, options) {
|
|
11
|
+
const allNames = (0, devkit_1.names)(options.name);
|
|
12
|
+
const name = allNames.fileName;
|
|
13
|
+
const projectDirectory = options.directory
|
|
14
|
+
? `${(0, devkit_1.names)(options.directory).fileName}/${name}`
|
|
15
|
+
: name;
|
|
16
|
+
const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
|
|
17
|
+
const projectRoot = `${(0, devkit_1.getWorkspaceLayout)(tree).appsDir}/${projectDirectory}`;
|
|
18
|
+
const parsedTags = options.tags
|
|
19
|
+
? options.tags.split(',').map((s) => s.trim())
|
|
20
|
+
: [];
|
|
21
|
+
const offsetFromRoot = (0, devkit_1.offsetFromRoot)(projectRoot);
|
|
22
|
+
return Object.assign(Object.assign(Object.assign({}, options), allNames), { projectName,
|
|
23
|
+
projectRoot,
|
|
24
|
+
projectDirectory,
|
|
25
|
+
parsedTags,
|
|
26
|
+
offsetFromRoot });
|
|
27
|
+
}
|
|
28
|
+
function addDependencies(tree, majorAngularVersion) {
|
|
29
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const dependencies = {
|
|
31
|
+
'@analogjs/content': majorAngularVersion === 15
|
|
32
|
+
? versions_1.V15_ANALOG_JS_CONTENT
|
|
33
|
+
: versions_1.V16_ANALOG_JS_CONTENT,
|
|
34
|
+
'@analogjs/router': majorAngularVersion === 15 ? versions_1.V15_ANALOG_JS_ROUTER : versions_1.V16_ANALOG_JS_ROUTER,
|
|
35
|
+
'@angular/platform-server': majorAngularVersion === 15
|
|
36
|
+
? versions_1.V15_ANGULAR_PLATFORM_SERVER
|
|
37
|
+
: versions_1.V16_ANGULAR_PLATFORM_SERVER,
|
|
38
|
+
'front-matter': majorAngularVersion === 15 ? versions_1.V15_FRONT_MATTER : versions_1.V16_FRONT_MATTER,
|
|
39
|
+
marked: majorAngularVersion === 15 ? versions_1.V15_MARKED : versions_1.V16_MARKED,
|
|
40
|
+
prismjs: majorAngularVersion === 15 ? versions_1.V15_PRISMJS : versions_1.V16_PRISMJS,
|
|
41
|
+
};
|
|
42
|
+
const devDependencies = {
|
|
43
|
+
'@analogjs/platform': majorAngularVersion === 15
|
|
44
|
+
? versions_1.V15_ANALOG_JS_PLATFORM
|
|
45
|
+
: versions_1.V16_ANALOG_JS_PLATFORM,
|
|
46
|
+
'@nrwl/vite': majorAngularVersion === 15 ? versions_1.V15_NRWL_VITE : versions_1.V16_NRWL_VITE,
|
|
47
|
+
jsdom: majorAngularVersion === 15 ? versions_1.V15_JSDOM : versions_1.V16_JSDOM,
|
|
48
|
+
typescript: majorAngularVersion === 15 ? versions_1.V15_TYPESCRIPT : versions_1.V16_TYPESCRIPT,
|
|
49
|
+
vite: majorAngularVersion === 15 ? versions_1.V15_VITE : versions_1.V16_VITE,
|
|
50
|
+
'vite-tsconfig-paths': majorAngularVersion === 15
|
|
51
|
+
? versions_1.V15_VITE_TSCONFIG_PATHS
|
|
52
|
+
: versions_1.V16_VITE_TSCONFIG_PATHS,
|
|
53
|
+
vitest: majorAngularVersion === 15 ? versions_1.V15_VITEST : versions_1.V16_VITEST,
|
|
54
|
+
};
|
|
55
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function addFiles(tree, options, majorAngularVersion) {
|
|
59
|
+
const templateOptions = Object.assign(Object.assign({}, options), { template: '' });
|
|
60
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files', 'template-angular-v' + majorAngularVersion), options.projectRoot, templateOptions);
|
|
61
|
+
}
|
|
62
|
+
function default_1(tree, options) {
|
|
63
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const installedAngularVersion = (0, version_utils_1.getInstalledAngularVersion)(tree, '16.0.0-next.0');
|
|
65
|
+
const installedMajorAngularVersion = (0, semver_1.major)(installedAngularVersion);
|
|
66
|
+
const normalizedOptions = normalizeOptions(tree, options);
|
|
67
|
+
const { projectRoot, projectName, parsedTags, name } = normalizedOptions;
|
|
68
|
+
if ((0, semver_1.lt)(installedAngularVersion, '15.0.0')) {
|
|
69
|
+
throw new Error((0, devkit_1.stripIndents) `AnalogJs only supports an Angular version of 15 and higher`);
|
|
70
|
+
}
|
|
71
|
+
yield addDependencies(tree, installedMajorAngularVersion);
|
|
72
|
+
(0, add_analog_project_config_1.addAnalogProjectConfig)(tree, projectRoot, projectName, parsedTags, name);
|
|
73
|
+
addFiles(tree, normalizedOptions, installedMajorAngularVersion);
|
|
74
|
+
if (!normalizedOptions.skipFormat) {
|
|
75
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
76
|
+
}
|
|
77
|
+
return () => {
|
|
78
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
exports.default = default_1;
|
|
83
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../../packages/nx-plugin/src/generators/app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addAnalogProjectConfig = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
function addAnalogProjectConfig(tree, projectRoot, projectName, parsedTags, name) {
|
|
6
|
+
const projectConfiguration = {
|
|
7
|
+
root: projectRoot,
|
|
8
|
+
projectType: 'application',
|
|
9
|
+
sourceRoot: `${projectRoot}/src`,
|
|
10
|
+
targets: {
|
|
11
|
+
build: {
|
|
12
|
+
executor: '@nrwl/vite:build',
|
|
13
|
+
outputs: [
|
|
14
|
+
'{options.outputPath}',
|
|
15
|
+
`dist/apps/${projectName}/.nitro`,
|
|
16
|
+
`dist/apps/${projectName}/ssr`,
|
|
17
|
+
`dist/apps/${projectName}/analog`,
|
|
18
|
+
],
|
|
19
|
+
options: {
|
|
20
|
+
configFile: 'vite.config.ts',
|
|
21
|
+
outputPath: `dist/apps/${projectName}/client`,
|
|
22
|
+
},
|
|
23
|
+
defaultConfiguration: 'production',
|
|
24
|
+
configurations: {
|
|
25
|
+
development: {
|
|
26
|
+
mode: 'development',
|
|
27
|
+
},
|
|
28
|
+
production: {
|
|
29
|
+
sourcemap: false,
|
|
30
|
+
mode: 'production',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
serve: {
|
|
35
|
+
executor: '@nrwl/vite:dev-server',
|
|
36
|
+
defaultConfiguration: 'development',
|
|
37
|
+
options: {
|
|
38
|
+
buildTarget: `${projectName}:build`,
|
|
39
|
+
port: 4200,
|
|
40
|
+
},
|
|
41
|
+
configurations: {
|
|
42
|
+
development: {
|
|
43
|
+
buildTarget: `${projectName}:build:development`,
|
|
44
|
+
hmr: true,
|
|
45
|
+
},
|
|
46
|
+
production: {
|
|
47
|
+
buildTarget: `${projectName}:build:production`,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
'extract-i18n': {
|
|
52
|
+
executor: '@angular-devkit/build-angular:extract-i18n',
|
|
53
|
+
options: {
|
|
54
|
+
browserTarget: `${projectName}:build`,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
lint: {
|
|
58
|
+
executor: '@nrwl/linter:eslint',
|
|
59
|
+
outputs: ['{options.outputFile}'],
|
|
60
|
+
options: {
|
|
61
|
+
lintFilePatterns: [
|
|
62
|
+
`apps/${projectName}/**/*.ts`,
|
|
63
|
+
`apps/${projectName}/**/*.html`,
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
test: {
|
|
68
|
+
executor: '@nrwl/vite:test',
|
|
69
|
+
outputs: [`apps/${projectName}/coverage`],
|
|
70
|
+
options: {
|
|
71
|
+
config: 'vite.config.ts',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
tags: parsedTags,
|
|
76
|
+
};
|
|
77
|
+
(0, devkit_1.addProjectConfiguration)(tree, name, projectConfiguration);
|
|
78
|
+
}
|
|
79
|
+
exports.addAnalogProjectConfig = addAnalogProjectConfig;
|
|
80
|
+
//# sourceMappingURL=add-analog-project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-analog-project-config.js","sourceRoot":"","sources":["../../../../../../../../../../packages/nx-plugin/src/generators/app/lib/add-analog-project-config.ts"],"names":[],"mappings":";;;AACA,yCAAuD;AAEvD,SAAgB,sBAAsB,CACpC,IAAU,EACV,WAAmB,EACnB,WAAmB,EACnB,UAAoB,EACpB,IAAY;IAEZ,MAAM,oBAAoB,GAAyB;QACjD,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,GAAG,WAAW,MAAM;QAChC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,OAAO,EAAE;oBACP,sBAAsB;oBACtB,aAAa,WAAW,SAAS;oBACjC,aAAa,WAAW,MAAM;oBAC9B,aAAa,WAAW,SAAS;iBAClC;gBACD,OAAO,EAAE;oBACP,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa,WAAW,SAAS;iBAC9C;gBACD,oBAAoB,EAAE,YAAY;gBAClC,cAAc,EAAE;oBACd,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;qBACpB;oBACD,UAAU,EAAE;wBACV,SAAS,EAAE,KAAK;wBAChB,IAAI,EAAE,YAAY;qBACnB;iBACF;aACF;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,oBAAoB,EAAE,aAAa;gBACnC,OAAO,EAAE;oBACP,WAAW,EAAE,GAAG,WAAW,QAAQ;oBACnC,IAAI,EAAE,IAAI;iBACX;gBACD,cAAc,EAAE;oBACd,WAAW,EAAE;wBACX,WAAW,EAAE,GAAG,WAAW,oBAAoB;wBAC/C,GAAG,EAAE,IAAI;qBACV;oBACD,UAAU,EAAE;wBACV,WAAW,EAAE,GAAG,WAAW,mBAAmB;qBAC/C;iBACF;aACF;YACD,cAAc,EAAE;gBACd,QAAQ,EAAE,4CAA4C;gBACtD,OAAO,EAAE;oBACP,aAAa,EAAE,GAAG,WAAW,QAAQ;iBACtC;aACF;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,qBAAqB;gBAC/B,OAAO,EAAE,CAAC,sBAAsB,CAAC;gBACjC,OAAO,EAAE;oBACP,gBAAgB,EAAE;wBAChB,QAAQ,WAAW,UAAU;wBAC7B,QAAQ,WAAW,YAAY;qBAChC;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE,CAAC,QAAQ,WAAW,WAAW,CAAC;gBACzC,OAAO,EAAE;oBACP,MAAM,EAAE,gBAAgB;iBACzB;aACF;SACF;QACD,IAAI,EAAE,UAAU;KACjB,CAAC;IAEF,IAAA,gCAAuB,EAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAC5D,CAAC;AAhFD,wDAgFC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"cli": "nx",
|
|
4
|
+
"$id": "app",
|
|
5
|
+
"title": "",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"name": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "",
|
|
11
|
+
"$default": {
|
|
12
|
+
"$source": "argv",
|
|
13
|
+
"index": 0
|
|
14
|
+
},
|
|
15
|
+
"x-prompt": "What name would you like to use?"
|
|
16
|
+
},
|
|
17
|
+
"tags": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Add tags to the project (used for linting)",
|
|
20
|
+
"alias": "t"
|
|
21
|
+
},
|
|
22
|
+
"directory": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "A directory where the project is placed"
|
|
25
|
+
},
|
|
26
|
+
"skipFormat": {
|
|
27
|
+
"description": "Skip formatting files.",
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"default": false,
|
|
30
|
+
"x-priority": "internal"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": ["name"]
|
|
34
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInstalledAngularVersion = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
const semver_1 = require("semver");
|
|
6
|
+
function getInstalledAngularVersion(tree, defaultVersion) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const pkgJson = (0, devkit_1.readJson)(tree, 'package.json');
|
|
9
|
+
const installedAngularVersion = pkgJson.dependencies && pkgJson.dependencies['@angular/core'];
|
|
10
|
+
if (!installedAngularVersion ||
|
|
11
|
+
installedAngularVersion === 'latest' ||
|
|
12
|
+
installedAngularVersion === 'next') {
|
|
13
|
+
return (_a = (0, semver_1.clean)(defaultVersion)) !== null && _a !== void 0 ? _a : (0, semver_1.coerce)(defaultVersion).version;
|
|
14
|
+
}
|
|
15
|
+
return ((_b = (0, semver_1.clean)(installedAngularVersion)) !== null && _b !== void 0 ? _b : (0, semver_1.coerce)(installedAngularVersion).version);
|
|
16
|
+
}
|
|
17
|
+
exports.getInstalledAngularVersion = getInstalledAngularVersion;
|
|
18
|
+
//# sourceMappingURL=version-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-utils.js","sourceRoot":"","sources":["../../../../../../../../packages/nx-plugin/src/utils/version-utils.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAC9C,mCAAuC;AAEvC,SAAgB,0BAA0B,CACxC,IAAU,EACV,cAAsB;;IAEtB,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,uBAAuB,GAC3B,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAChE,IACE,CAAC,uBAAuB;QACxB,uBAAuB,KAAK,QAAQ;QACpC,uBAAuB,KAAK,MAAM,EAClC;QACA,OAAO,MAAA,IAAA,cAAK,EAAC,cAAc,CAAC,mCAAI,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC;KAChE;IAED,OAAO,CACL,MAAA,IAAA,cAAK,EAAC,uBAAuB,CAAC,mCAAI,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAC,OAAO,CAC1E,CAAC;AACJ,CAAC;AAlBD,gEAkBC"}
|
package/src/lib/options.d.ts
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import type { PluginOptions } from '@analogjs/vite-plugin-angular';
|
|
2
2
|
import { NitroConfig } from 'nitropack';
|
|
3
|
+
export interface PrerenderOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Add additional routes to prerender through crawling page links.
|
|
6
|
+
*/
|
|
7
|
+
discover?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* List of routes to prerender resolved statically or dynamically.
|
|
10
|
+
*/
|
|
11
|
+
routes?: string[] | (() => Promise<(string | undefined)[]>);
|
|
12
|
+
}
|
|
3
13
|
export interface Options {
|
|
14
|
+
ssr?: boolean;
|
|
15
|
+
ssrBuildDir?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Prerender the static pages without producing the server output.
|
|
18
|
+
*/
|
|
19
|
+
static?: boolean;
|
|
20
|
+
prerender?: PrerenderOptions;
|
|
21
|
+
entryServer?: string;
|
|
4
22
|
vite?: PluginOptions;
|
|
5
23
|
nitro?: NitroConfig;
|
|
24
|
+
apiPrefix?: string;
|
|
6
25
|
}
|
|
@@ -4,12 +4,33 @@ exports.platformPlugin = void 0;
|
|
|
4
4
|
const vite_plugin_angular_1 = require("@analogjs/vite-plugin-angular");
|
|
5
5
|
const vite_nitro_plugin_1 = require("./vite-nitro-plugin");
|
|
6
6
|
const router_plugin_1 = require("./router-plugin");
|
|
7
|
-
|
|
7
|
+
const dev_server_plugin_1 = require("./ssr/dev-server-plugin");
|
|
8
|
+
const ssr_build_plugin_1 = require("./ssr/ssr-build-plugin");
|
|
9
|
+
const content_plugin_1 = require("./content-plugin");
|
|
10
|
+
function platformPlugin(opts = {}) {
|
|
11
|
+
const { apiPrefix, ...platformOptions } = {
|
|
12
|
+
ssr: true,
|
|
13
|
+
...opts,
|
|
14
|
+
};
|
|
15
|
+
let nitroOptions = platformOptions?.nitro;
|
|
16
|
+
if (apiPrefix) {
|
|
17
|
+
nitroOptions = {
|
|
18
|
+
...nitroOptions,
|
|
19
|
+
runtimeConfig: {
|
|
20
|
+
apiPrefix,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
8
24
|
return [
|
|
9
|
-
(0, vite_nitro_plugin_1.viteNitroPlugin)(
|
|
10
|
-
|
|
25
|
+
(0, vite_nitro_plugin_1.viteNitroPlugin)(platformOptions, nitroOptions),
|
|
26
|
+
(platformOptions.ssr ? (0, ssr_build_plugin_1.ssrBuildPlugin)() : false),
|
|
11
27
|
...(0, router_plugin_1.routerPlugin)(),
|
|
28
|
+
...(0, content_plugin_1.contentPlugin)(),
|
|
29
|
+
(platformOptions.ssr
|
|
30
|
+
? (0, dev_server_plugin_1.devServerPlugin)({ entryServer: opts.entryServer })
|
|
31
|
+
: false),
|
|
32
|
+
...(0, vite_plugin_angular_1.default)(opts?.vite),
|
|
12
33
|
];
|
|
13
34
|
}
|
|
14
35
|
exports.platformPlugin = platformPlugin;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhdGZvcm0vc3JjL2xpYi9wbGF0Zm9ybS1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdUVBQW9EO0FBRXBELDJEQUFzRDtBQUN0RCxtREFBK0M7QUFDL0MsK0RBQTBEO0FBQzFELDZEQUF3RDtBQUN4RCxxREFBaUQ7QUFFakQsU0FBZ0IsY0FBYyxDQUFDLE9BQWdCLEVBQUU7SUFDL0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsRUFBRSxHQUFHO1FBQ3hDLEdBQUcsRUFBRSxJQUFJO1FBQ1QsR0FBRyxJQUFJO0tBQ1IsQ0FBQztJQUVGLElBQUksWUFBWSxHQUFHLGVBQWUsRUFBRSxLQUFLLENBQUM7SUFDMUMsSUFBSSxTQUFTLEVBQUU7UUFDYixZQUFZLEdBQUc7WUFDYixHQUFHLFlBQVk7WUFDZixhQUFhLEVBQUU7Z0JBQ2IsU0FBUzthQUNWO1NBQ0YsQ0FBQztLQUNIO0lBRUQsT0FBTztRQUNMLElBQUEsbUNBQWUsRUFBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO1FBQzlDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQ0FBYyxHQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBVztRQUMxRCxHQUFHLElBQUEsNEJBQVksR0FBRTtRQUNqQixHQUFHLElBQUEsOEJBQWEsR0FBRTtRQUNsQixDQUFDLGVBQWUsQ0FBQyxHQUFHO1lBQ2xCLENBQUMsQ0FBQyxJQUFBLG1DQUFlLEVBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxLQUFLLENBQVc7UUFDcEIsR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztLQUN2QixDQUFDO0FBQ0osQ0FBQztBQTFCRCx3Q0EwQkMifQ==
|
package/src/lib/router-plugin.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.routerPlugin = void 0;
|
|
4
|
+
const vite_1 = require("vite");
|
|
4
5
|
/**
|
|
5
6
|
* This plugin invalidates the files for routes when new files
|
|
6
7
|
* are added/deleted.
|
|
@@ -11,11 +12,25 @@ exports.routerPlugin = void 0;
|
|
|
11
12
|
*/
|
|
12
13
|
function routerPlugin() {
|
|
13
14
|
return [
|
|
15
|
+
{
|
|
16
|
+
name: 'analogjs-router-plugin',
|
|
17
|
+
config() {
|
|
18
|
+
return {
|
|
19
|
+
ssr: {
|
|
20
|
+
noExternal: ['@analogjs/**', '@angular/**'],
|
|
21
|
+
},
|
|
22
|
+
optimizeDeps: {
|
|
23
|
+
exclude: ['@angular/platform-server', '@analogjs/router'],
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
},
|
|
14
28
|
{
|
|
15
29
|
name: 'analogjs-router-invalidate-routes',
|
|
16
30
|
configureServer(server) {
|
|
17
31
|
function invalidateRoutes(path) {
|
|
18
|
-
if (path.includes(
|
|
32
|
+
if (path.includes((0, vite_1.normalizePath)(`/app/routes/`)) ||
|
|
33
|
+
path.includes((0, vite_1.normalizePath)(`/app/pages/`))) {
|
|
19
34
|
server.moduleGraph.fileToModulesMap.forEach((mods) => {
|
|
20
35
|
mods.forEach((mod) => {
|
|
21
36
|
if (mod.id?.includes('@analogjs_router.js')) {
|
|
@@ -38,4 +53,4 @@ function routerPlugin() {
|
|
|
38
53
|
];
|
|
39
54
|
}
|
|
40
55
|
exports.routerPlugin = routerPlugin;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYXRmb3JtL3NyYy9saWIvcm91dGVyLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBNkM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFlBQVk7SUFDMUIsT0FBTztRQUNMO1lBQ0UsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixNQUFNO2dCQUNKLE9BQU87b0JBQ0wsR0FBRyxFQUFFO3dCQUNILFVBQVUsRUFBRSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUM7cUJBQzVDO29CQUNELFlBQVksRUFBRTt3QkFDWixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxrQkFBa0IsQ0FBQztxQkFDMUQ7aUJBQ0YsQ0FBQztZQUNKLENBQUM7U0FDRjtRQUNEO1lBQ0UsSUFBSSxFQUFFLG1DQUFtQztZQUN6QyxlQUFlLENBQUMsTUFBTTtnQkFDcEIsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFZO29CQUNwQyxJQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBQSxvQkFBYSxFQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUEsb0JBQWEsRUFBQyxhQUFhLENBQUMsQ0FBQyxFQUMzQzt3QkFDQSxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFOzRCQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0NBQ25CLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRTtvQ0FDM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQ0FFekMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3Q0FDNUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQ0FDM0MsQ0FBQyxDQUFDLENBQUM7aUNBQ0o7NEJBQ0gsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsQ0FBQyxDQUFDLENBQUM7d0JBRUgsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7NEJBQ2IsSUFBSSxFQUFFLGFBQWE7eUJBQ3BCLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDO2dCQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNoRCxDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQTlDRCxvQ0E4Q0MifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is written in JavaScript
|
|
3
|
+
* because it is used by Nitro to build
|
|
4
|
+
* the renderer for SSR.
|
|
5
|
+
*
|
|
6
|
+
* The package is shipped as commonjs
|
|
7
|
+
* which won't be parsed by Nitro correctly.
|
|
8
|
+
*/
|
|
9
|
+
import { eventHandler } from 'h3';
|
|
10
|
+
|
|
11
|
+
export default eventHandler(async (event) => {
|
|
12
|
+
const apiPrefix = import.meta.env.RUNTIME_CONFIG?.apiPrefix ?? '/api';
|
|
13
|
+
if (event.req.url?.startsWith(apiPrefix)) {
|
|
14
|
+
return $fetch(`${event.req.url?.replace(apiPrefix, '')}`);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is written in JavaScript
|
|
3
|
+
* because it is used by Nitro to build
|
|
4
|
+
* the renderer for SSR.
|
|
5
|
+
*
|
|
6
|
+
* The package is shipped as commonjs
|
|
7
|
+
* which won't be parsed by Nitro correctly.
|
|
8
|
+
*/
|
|
9
|
+
import { eventHandler } from 'h3';
|
|
10
|
+
import { useStorage } from '#imports';
|
|
11
|
+
|
|
12
|
+
export default eventHandler(async (event) => {
|
|
13
|
+
const render = (await import('#build/../ssr/main.server.mjs'))['default'];
|
|
14
|
+
const template = await useStorage().getItem(`/assets/public:index.html`);
|
|
15
|
+
|
|
16
|
+
const html = await render(event.req.url, template);
|
|
17
|
+
|
|
18
|
+
return html;
|
|
19
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildSSRApp = void 0;
|
|
4
|
+
const vite_1 = require("vite");
|
|
5
|
+
async function buildSSRApp(config, options) {
|
|
6
|
+
const ssrBuildConfig = (0, vite_1.mergeConfig)(config, {
|
|
7
|
+
build: {
|
|
8
|
+
ssr: true,
|
|
9
|
+
rollupOptions: {
|
|
10
|
+
input: options?.entryServer || './src/main.server.ts',
|
|
11
|
+
},
|
|
12
|
+
outDir: options?.ssrBuildDir || './dist/ssr',
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
await (0, vite_1.build)(ssrBuildConfig);
|
|
16
|
+
}
|
|
17
|
+
exports.buildSSRApp = buildSSRApp;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL3Nzci9idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBc0Q7QUFHL0MsS0FBSyxVQUFVLFdBQVcsQ0FBQyxNQUFrQixFQUFFLE9BQWlCO0lBQ3JFLE1BQU0sY0FBYyxHQUFHLElBQUEsa0JBQVcsRUFBQyxNQUFNLEVBQUU7UUFDekMsS0FBSyxFQUFFO1lBQ0wsR0FBRyxFQUFFLElBQUk7WUFDVCxhQUFhLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLElBQUksc0JBQXNCO2FBQ3REO1lBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLElBQUksWUFBWTtTQUM3QztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBQSxZQUFLLEVBQUMsY0FBYyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQVpELGtDQVlDIn0=
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// SSR dev server, middleware and error page source modified from
|
|
3
|
+
// https://github.com/solidjs/solid-start/blob/main/packages/start/dev/server.js
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.devServerPlugin = void 0;
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const fs = require("fs");
|
|
8
|
+
function devServerPlugin(options) {
|
|
9
|
+
const entryServer = options.entryServer || 'src/main.server.ts';
|
|
10
|
+
const index = options.index || 'index.html';
|
|
11
|
+
return {
|
|
12
|
+
name: 'analogjs-dev-ssr-plugin',
|
|
13
|
+
config() {
|
|
14
|
+
return {
|
|
15
|
+
resolve: {
|
|
16
|
+
alias: {
|
|
17
|
+
'~analog/entry-server': entryServer,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
configureServer(viteServer) {
|
|
23
|
+
return async () => {
|
|
24
|
+
remove_html_middlewares(viteServer.middlewares);
|
|
25
|
+
viteServer.middlewares.use(async (req, res) => {
|
|
26
|
+
let template = fs.readFileSync(path.resolve(viteServer.config.root, index), 'utf-8');
|
|
27
|
+
template = await viteServer.transformIndexHtml(req.originalUrl, template);
|
|
28
|
+
try {
|
|
29
|
+
const entryServer = (await viteServer.ssrLoadModule('~analog/entry-server'))['default'];
|
|
30
|
+
const result = await entryServer(req.originalUrl, template);
|
|
31
|
+
res.end(result);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
viteServer && viteServer.ssrFixStacktrace(e);
|
|
35
|
+
res.statusCode = 500;
|
|
36
|
+
res.end(`
|
|
37
|
+
<!DOCTYPE html>
|
|
38
|
+
<html lang="en">
|
|
39
|
+
<head>
|
|
40
|
+
<meta charset="UTF-8" />
|
|
41
|
+
<title>Error</title>
|
|
42
|
+
<script type="module">
|
|
43
|
+
import { ErrorOverlay } from '/@vite/client'
|
|
44
|
+
document.body.appendChild(new ErrorOverlay(${JSON.stringify(prepareError(req, e)).replace(/</g, '\\u003c')}))
|
|
45
|
+
</script>
|
|
46
|
+
</head>
|
|
47
|
+
<body>
|
|
48
|
+
</body>
|
|
49
|
+
</html>
|
|
50
|
+
`);
|
|
51
|
+
throw e;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.devServerPlugin = devServerPlugin;
|
|
59
|
+
/**
|
|
60
|
+
* Removes Vite internal middleware
|
|
61
|
+
*
|
|
62
|
+
* @param server
|
|
63
|
+
*/
|
|
64
|
+
function remove_html_middlewares(server) {
|
|
65
|
+
const html_middlewares = [
|
|
66
|
+
'viteIndexHtmlMiddleware',
|
|
67
|
+
'vite404Middleware',
|
|
68
|
+
'viteSpaFallbackMiddleware',
|
|
69
|
+
];
|
|
70
|
+
for (let i = server.stack.length - 1; i > 0; i--) {
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
if (html_middlewares.includes(server.stack[i].handle.name)) {
|
|
73
|
+
server.stack.splice(i, 1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Formats error for SSR message in error overlay
|
|
79
|
+
* @param req
|
|
80
|
+
* @param error
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
function prepareError(req, error) {
|
|
84
|
+
const e = error;
|
|
85
|
+
return {
|
|
86
|
+
message: `An error occured while server rendering ${req.url}:\n\n\t${typeof e === 'string' ? e : e.message} `,
|
|
87
|
+
stack: typeof e === 'string' ? '' : e.stack,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LXNlcnZlci1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL3Nzci9kZXYtc2VydmVyLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUVBQWlFO0FBQ2pFLGdGQUFnRjs7O0FBR2hGLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFPekIsU0FBZ0IsZUFBZSxDQUFDLE9BQXNCO0lBQ3BELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksb0JBQW9CLENBQUM7SUFDaEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUM7SUFFNUMsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsTUFBTTtZQUNKLE9BQU87Z0JBQ0wsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRTt3QkFDTCxzQkFBc0IsRUFBRSxXQUFXO3FCQUNwQztpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO1FBQ0QsZUFBZSxDQUFDLFVBQVU7WUFDeEIsT0FBTyxLQUFLLElBQUksRUFBRTtnQkFDaEIsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoRCxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUM1QyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUMzQyxPQUFPLENBQ1IsQ0FBQztvQkFFRixRQUFRLEdBQUcsTUFBTSxVQUFVLENBQUMsa0JBQWtCLENBQzVDLEdBQUcsQ0FBQyxXQUFxQixFQUN6QixRQUFRLENBQ1QsQ0FBQztvQkFFRixJQUFJO3dCQUNGLE1BQU0sV0FBVyxHQUFHLENBQ2xCLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUN2RCxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUNiLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7d0JBQzVELEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ2pCO29CQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNWLFVBQVUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBVSxDQUFDLENBQUM7d0JBQ3RELEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO3dCQUNyQixHQUFHLENBQUMsR0FBRyxDQUFDOzs7Ozs7OztpRUFRNkMsSUFBSSxDQUFDLFNBQVMsQ0FDekQsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDckIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQzs7Ozs7O2FBTWpDLENBQUMsQ0FBQzt3QkFFSCxNQUFNLENBQUMsQ0FBQztxQkFDVDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQTlERCwwQ0E4REM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyx1QkFBdUIsQ0FBQyxNQUFvQztJQUNuRSxNQUFNLGdCQUFnQixHQUFHO1FBQ3ZCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIsMkJBQTJCO0tBQzVCLENBQUM7SUFDRixLQUFLLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2hELGFBQWE7UUFDYixJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0I7S0FDRjtBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsWUFBWSxDQUFDLEdBQTRCLEVBQUUsS0FBYztJQUNoRSxNQUFNLENBQUMsR0FBRyxLQUFjLENBQUM7SUFDekIsT0FBTztRQUNMLE9BQU8sRUFBRSwyQ0FBMkMsR0FBRyxDQUFDLEdBQUcsVUFDekQsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUNoQyxHQUFHO1FBQ0gsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztLQUM1QyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ssrBuildPlugin = void 0;
|
|
4
|
+
const vite_1 = require("vite");
|
|
5
|
+
function ssrBuildPlugin() {
|
|
6
|
+
return {
|
|
7
|
+
name: 'analogjs-ssr-build-plugin',
|
|
8
|
+
config(_config) {
|
|
9
|
+
return {
|
|
10
|
+
resolve: {
|
|
11
|
+
alias: {
|
|
12
|
+
'zone.js/node': 'zone.js/bundles/zone-node.umd.js',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
transform(code, id) {
|
|
18
|
+
// Remove usage of `with()` in sloppy.js file
|
|
19
|
+
if (id.includes((0, vite_1.normalizePath)('domino/lib/sloppy.js'))) {
|
|
20
|
+
return {
|
|
21
|
+
code: code.replace(/with\(/gi, 'if('),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
// Convert usage of xhr2 default import
|
|
25
|
+
if (code.includes('new xhr2.')) {
|
|
26
|
+
return {
|
|
27
|
+
code: code.replace('new xhr2.XMLHttpRequest', 'new xhr2.default.XMLHttpRequest'),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
exports.ssrBuildPlugin = ssrBuildPlugin;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLWJ1aWxkLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYXRmb3JtL3NyYy9saWIvc3NyL3Nzci1idWlsZC1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTZDO0FBRTdDLFNBQWdCLGNBQWM7SUFDNUIsT0FBTztRQUNMLElBQUksRUFBRSwyQkFBMkI7UUFDakMsTUFBTSxDQUFDLE9BQU87WUFDWixPQUFPO2dCQUNMLE9BQU8sRUFBRTtvQkFDUCxLQUFLLEVBQUU7d0JBQ0wsY0FBYyxFQUFFLGtDQUFrQztxQkFDbkQ7aUJBQ0Y7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUNELFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQiw2Q0FBNkM7WUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUEsb0JBQWEsRUFBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RELE9BQU87b0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztpQkFDdEMsQ0FBQzthQUNIO1lBRUQsdUNBQXVDO1lBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDOUIsT0FBTztvQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FDaEIseUJBQXlCLEVBQ3pCLGlDQUFpQyxDQUNsQztpQkFDRixDQUFDO2FBQ0g7WUFFRCxPQUFPO1FBQ1QsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBakNELHdDQWlDQyJ9
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { NitroConfig } from 'nitropack';
|
|
2
2
|
import { Plugin } from 'vite';
|
|
3
|
-
|
|
3
|
+
import { Options } from './options';
|
|
4
|
+
export declare function viteNitroPlugin(options?: Options, nitroOptions?: NitroConfig): Plugin;
|