@nrwl/angular 15.0.0-rc.0 → 15.0.0-rc1
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 +1 -1
- package/generators.d.ts +1 -0
- package/generators.js +1 -0
- package/generators.js.map +1 -1
- package/generators.json +10 -0
- package/package.json +9 -9
- package/src/generators/library/lib/add-standalone-component.js +2 -2
- package/src/generators/library/lib/add-standalone-component.js.map +1 -1
- package/src/generators/library/lib/normalize-options.js +2 -1
- package/src/generators/library/lib/normalize-options.js.map +1 -1
- package/src/generators/library/lib/normalized-schema.d.ts +1 -1
- package/src/generators/library/schema.json +5 -0
- package/src/generators/setup-ssr/files/__serverFileName__ +60 -0
- package/src/generators/setup-ssr/files/src/__main__ +19 -0
- package/src/generators/setup-ssr/files/src/app/__rootModuleFileName__ +14 -0
- package/src/generators/setup-ssr/files/src/main.ts__tpl__ +22 -0
- package/src/generators/setup-ssr/files/tsconfig.server.json__tpl__ +15 -0
- package/src/generators/setup-ssr/lib/generate-files.d.ts +3 -0
- package/src/generators/setup-ssr/lib/generate-files.js +11 -0
- package/src/generators/setup-ssr/lib/generate-files.js.map +1 -0
- package/src/generators/setup-ssr/lib/index.d.ts +4 -0
- package/src/generators/setup-ssr/lib/index.js +8 -0
- package/src/generators/setup-ssr/lib/index.js.map +1 -0
- package/src/generators/setup-ssr/lib/normalize-options.d.ts +12 -0
- package/src/generators/setup-ssr/lib/normalize-options.js +19 -0
- package/src/generators/setup-ssr/lib/normalize-options.js.map +1 -0
- package/src/generators/setup-ssr/lib/update-app-module.d.ts +3 -0
- package/src/generators/setup-ssr/lib/update-app-module.js +21 -0
- package/src/generators/setup-ssr/lib/update-app-module.js.map +1 -0
- package/src/generators/setup-ssr/lib/update-project-config.d.ts +3 -0
- package/src/generators/setup-ssr/lib/update-project-config.js +67 -0
- package/src/generators/setup-ssr/lib/update-project-config.js.map +1 -0
- package/src/generators/setup-ssr/schema.d.ts +10 -0
- package/src/generators/setup-ssr/schema.json +59 -0
- package/src/generators/setup-ssr/setup-ssr.compat.d.ts +2 -0
- package/src/generators/setup-ssr/setup-ssr.compat.js +6 -0
- package/src/generators/setup-ssr/setup-ssr.compat.js.map +1 -0
- package/src/generators/setup-ssr/setup-ssr.d.ts +4 -0
- package/src/generators/setup-ssr/setup-ssr.js +30 -0
- package/src/generators/setup-ssr/setup-ssr.js.map +1 -0
- package/src/utils/versions.d.ts +1 -0
- package/src/utils/versions.js +2 -1
- package/src/utils/versions.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
# [15.0.0-
|
|
6
|
+
# [15.0.0-rc1](https://github.com/nrwl/nx/compare/14.8.0...15.0.0-rc1) (2022-10-13)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @nrwl/angular
|
package/generators.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export * from './src/generators/scam-pipe/scam-pipe';
|
|
|
20
20
|
export * from './src/generators/scam-to-standalone/scam-to-standalone';
|
|
21
21
|
export * from './src/generators/scam/scam';
|
|
22
22
|
export * from './src/generators/setup-mf/setup-mf';
|
|
23
|
+
export * from './src/generators/setup-ssr/setup-ssr';
|
|
23
24
|
export * from './src/generators/setup-tailwind/setup-tailwind';
|
|
24
25
|
export * from './src/generators/stories/stories';
|
|
25
26
|
export * from './src/generators/storybook-configuration/storybook-configuration';
|
package/generators.js
CHANGED
|
@@ -23,6 +23,7 @@ tslib_1.__exportStar(require("./src/generators/scam-pipe/scam-pipe"), exports);
|
|
|
23
23
|
tslib_1.__exportStar(require("./src/generators/scam-to-standalone/scam-to-standalone"), exports);
|
|
24
24
|
tslib_1.__exportStar(require("./src/generators/scam/scam"), exports);
|
|
25
25
|
tslib_1.__exportStar(require("./src/generators/setup-mf/setup-mf"), exports);
|
|
26
|
+
tslib_1.__exportStar(require("./src/generators/setup-ssr/setup-ssr"), exports);
|
|
26
27
|
tslib_1.__exportStar(require("./src/generators/setup-tailwind/setup-tailwind"), exports);
|
|
27
28
|
tslib_1.__exportStar(require("./src/generators/stories/stories"), exports);
|
|
28
29
|
tslib_1.__exportStar(require("./src/generators/storybook-configuration/storybook-configuration"), exports);
|
package/generators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../packages/angular/generators.ts"],"names":[],"mappings":";;;AAAA,mFAAyD;AACzD,mFAAyD;AACzD,6GAAmF;AACnF,yGAA+E;AAC/E,2FAAiE;AACjE,+EAAqD;AACrD,6GAAmF;AACnF,6FAAmE;AACnE,qEAA2C;AAC3C,qEAA2C;AAC3C,uFAA6D;AAC7D,uEAA6C;AAC7C,uHAA6F;AAC7F,2EAAiD;AACjD,qEAA2C;AAC3C,qEAA2C;AAC3C,yEAA+C;AAC/C,yFAA+D;AAC/D,+EAAqD;AACrD,iGAAuE;AACvE,qEAA2C;AAC3C,6EAAmD;AACnD,yFAA+D;AAC/D,2EAAiD;AACjD,2GAAiF;AACjF,yFAA+D;AAC/D,iFAAuD;AACvD,2HAAiG;AACjG,yFAA+D;AAC/D,mEAAyC"}
|
|
1
|
+
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../packages/angular/generators.ts"],"names":[],"mappings":";;;AAAA,mFAAyD;AACzD,mFAAyD;AACzD,6GAAmF;AACnF,yGAA+E;AAC/E,2FAAiE;AACjE,+EAAqD;AACrD,6GAAmF;AACnF,6FAAmE;AACnE,qEAA2C;AAC3C,qEAA2C;AAC3C,uFAA6D;AAC7D,uEAA6C;AAC7C,uHAA6F;AAC7F,2EAAiD;AACjD,qEAA2C;AAC3C,qEAA2C;AAC3C,yEAA+C;AAC/C,yFAA+D;AAC/D,+EAAqD;AACrD,iGAAuE;AACvE,qEAA2C;AAC3C,6EAAmD;AACnD,+EAAqD;AACrD,yFAA+D;AAC/D,2EAAiD;AACjD,2GAAiF;AACjF,yFAA+D;AAC/D,iFAAuD;AACvD,2HAAiG;AACjG,yFAA+D;AAC/D,mEAAyC"}
|
package/generators.json
CHANGED
|
@@ -137,6 +137,11 @@
|
|
|
137
137
|
"schema": "./src/generators/setup-mf/schema.json",
|
|
138
138
|
"description": "Generate a Module Federation configuration for a given Angular application."
|
|
139
139
|
},
|
|
140
|
+
"setup-ssr": {
|
|
141
|
+
"factory": "./src/generators/setup-ssr/setup-ssr.compat",
|
|
142
|
+
"schema": "./src/generators/setup-ssr/schema.json",
|
|
143
|
+
"description": "Generate Angular Universal (SSR) setup for an Angular application."
|
|
144
|
+
},
|
|
140
145
|
"setup-tailwind": {
|
|
141
146
|
"factory": "./src/generators/setup-tailwind/setup-tailwind.compat",
|
|
142
147
|
"schema": "./src/generators/setup-tailwind/schema.json",
|
|
@@ -309,6 +314,11 @@
|
|
|
309
314
|
"schema": "./src/generators/setup-mf/schema.json",
|
|
310
315
|
"description": "Generate a Module Federation configuration for a given Angular application."
|
|
311
316
|
},
|
|
317
|
+
"setup-ssr": {
|
|
318
|
+
"factory": "./src/generators/setup-ssr/setup-ssr",
|
|
319
|
+
"schema": "./src/generators/setup-ssr/schema.json",
|
|
320
|
+
"description": "Generate Angular Universal (SSR) setup for an Angular application."
|
|
321
|
+
},
|
|
312
322
|
"setup-tailwind": {
|
|
313
323
|
"factory": "./src/generators/setup-tailwind/setup-tailwind",
|
|
314
324
|
"schema": "./src/generators/setup-tailwind/schema.json",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nrwl/angular",
|
|
3
|
-
"version": "15.0.0-
|
|
3
|
+
"version": "15.0.0-rc1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Cypress, Karma, and Protractor. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Upgrading AngularJS applications \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
|
|
6
6
|
"repository": {
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@angular-devkit/schematics": "~14.2.0",
|
|
70
|
-
"@nrwl/cypress": "15.0.0-
|
|
71
|
-
"@nrwl/devkit": "15.0.0-
|
|
72
|
-
"@nrwl/jest": "15.0.0-
|
|
73
|
-
"@nrwl/linter": "15.0.0-
|
|
74
|
-
"@nrwl/storybook": "15.0.0-
|
|
75
|
-
"@nrwl/webpack": "15.0.0-
|
|
76
|
-
"@nrwl/workspace": "15.0.0-
|
|
70
|
+
"@nrwl/cypress": "15.0.0-rc1",
|
|
71
|
+
"@nrwl/devkit": "15.0.0-rc1",
|
|
72
|
+
"@nrwl/jest": "15.0.0-rc1",
|
|
73
|
+
"@nrwl/linter": "15.0.0-rc1",
|
|
74
|
+
"@nrwl/storybook": "15.0.0-rc1",
|
|
75
|
+
"@nrwl/webpack": "15.0.0-rc1",
|
|
76
|
+
"@nrwl/workspace": "15.0.0-rc1",
|
|
77
77
|
"@phenomnomnominal/tsquery": "4.1.1",
|
|
78
78
|
"@schematics/angular": "~14.2.0",
|
|
79
79
|
"chalk": "4.1.0",
|
|
@@ -99,5 +99,5 @@
|
|
|
99
99
|
"fesm2015": "fesm2015/nrwl-angular.mjs",
|
|
100
100
|
"typings": "index.d.ts",
|
|
101
101
|
"sideEffects": false,
|
|
102
|
-
"gitHead": "
|
|
102
|
+
"gitHead": "a947e2514942806016a24e2fd36faa882aab56a7"
|
|
103
103
|
}
|
|
@@ -9,11 +9,11 @@ const add_load_children_1 = require("./add-load-children");
|
|
|
9
9
|
const add_children_1 = require("./add-children");
|
|
10
10
|
function addStandaloneComponent(tree, { libraryOptions, componentOptions }) {
|
|
11
11
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
yield (0, component_1.default)(tree, Object.assign(Object.assign({}, componentOptions), { name: componentOptions.name, standalone: true, export: true, project: libraryOptions.name }));
|
|
12
|
+
yield (0, component_1.default)(tree, Object.assign(Object.assign({}, componentOptions), { name: componentOptions.name, standalone: true, export: true, project: libraryOptions.name, flat: componentOptions.flat }));
|
|
13
13
|
if (libraryOptions.routing) {
|
|
14
14
|
const pathToRoutes = (0, path_1.joinPathFragments)(libraryOptions.projectRoot, 'src/lib/lib.routes.ts');
|
|
15
15
|
const routesContents = `import { Route } from '@angular/router';
|
|
16
|
-
import { ${libraryOptions.standaloneComponentName} } from './${(0, path_1.joinPathFragments)(libraryOptions.fileName, `${libraryOptions.fileName}.component`)}';
|
|
16
|
+
import { ${libraryOptions.standaloneComponentName} } from './${(0, path_1.joinPathFragments)(componentOptions.flat ? '' : libraryOptions.fileName, `${libraryOptions.fileName}.component`)}';
|
|
17
17
|
|
|
18
18
|
export const ${(0, devkit_1.names)(libraryOptions.name).propertyName}Routes: Route[] = [
|
|
19
19
|
{path: '', component: ${libraryOptions.standaloneComponentName}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-standalone-component.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/add-standalone-component.ts"],"names":[],"mappings":";;;;AAEA,yDAA2D;AAC3D,4CAAsD;AACtD,yCAAqC;AACrC,2DAAsD;AACtD,iDAA6C;AAE7C,SAAsB,sBAAsB,CAC1C,IAAU,EACV,EAAE,cAAc,EAAE,gBAAgB,EAAoB;;QAEtD,MAAM,IAAA,mBAAkB,EAAC,IAAI,kCACxB,gBAAgB,KACnB,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,cAAc,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"add-standalone-component.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/add-standalone-component.ts"],"names":[],"mappings":";;;;AAEA,yDAA2D;AAC3D,4CAAsD;AACtD,yCAAqC;AACrC,2DAAsD;AACtD,iDAA6C;AAE7C,SAAsB,sBAAsB,CAC1C,IAAU,EACV,EAAE,cAAc,EAAE,gBAAgB,EAAoB;;QAEtD,MAAM,IAAA,mBAAkB,EAAC,IAAI,kCACxB,gBAAgB,KACnB,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,cAAc,CAAC,IAAI,EAC5B,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAC3B,CAAC;QAEH,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,MAAM,YAAY,GAAG,IAAA,wBAAiB,EACpC,cAAc,CAAC,WAAW,EAC1B,uBAAuB,CACxB,CAAC;YAEF,MAAM,cAAc,GAAG;eAErB,cAAc,CAAC,uBACjB,cAAc,IAAA,wBAAiB,EAC7B,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EACpD,GAAG,cAAc,CAAC,QAAQ,YAAY,CACvC;;uBAGK,IAAA,cAAK,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC,YAC7B;kCAC0B,cAAc,CAAC,uBAAuB;WAC7D,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAEzC,MAAM,eAAe,GAAG,IAAA,wBAAiB,EACvC,cAAc,CAAC,WAAW,EAC1B,KAAK,EACL,GAAG,cAAc,CAAC,SAAS,KAAK,CACjC,CAAC;YACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,CACR,eAAe,EACf,GAAG,iBAAiB;yCACe,CACpC,CAAC;YAEF,IAAI,cAAc,CAAC,MAAM,EAAE;gBACzB,IAAI,cAAc,CAAC,IAAI,EAAE;oBACvB,IAAA,mCAAe,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBACvC;qBAAM;oBACL,IAAA,0BAAW,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBACnC;aACF;SACF;IACH,CAAC;CAAA;AAtDD,wDAsDC"}
|
|
@@ -50,7 +50,7 @@ function normalizeOptions(host, schema) {
|
|
|
50
50
|
fileName,
|
|
51
51
|
importPath,
|
|
52
52
|
ngCliSchematicLibRoot, standaloneComponentName: `${(0, devkit_1.names)(name).className}Component` });
|
|
53
|
-
const { displayBlock, inlineStyle, inlineTemplate, viewEncapsulation, changeDetection, style, skipTests, selector, skipSelector } = allNormalizedOptions, libraryOptions = tslib_1.__rest(allNormalizedOptions, ["displayBlock", "inlineStyle", "inlineTemplate", "viewEncapsulation", "changeDetection", "style", "skipTests", "selector", "skipSelector"]);
|
|
53
|
+
const { displayBlock, inlineStyle, inlineTemplate, viewEncapsulation, changeDetection, style, skipTests, selector, skipSelector, flat } = allNormalizedOptions, libraryOptions = tslib_1.__rest(allNormalizedOptions, ["displayBlock", "inlineStyle", "inlineTemplate", "viewEncapsulation", "changeDetection", "style", "skipTests", "selector", "skipSelector", "flat"]);
|
|
54
54
|
return {
|
|
55
55
|
libraryOptions,
|
|
56
56
|
componentOptions: {
|
|
@@ -65,6 +65,7 @@ function normalizeOptions(host, schema) {
|
|
|
65
65
|
skipTests,
|
|
66
66
|
selector,
|
|
67
67
|
skipSelector,
|
|
68
|
+
flat,
|
|
68
69
|
},
|
|
69
70
|
};
|
|
70
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/normalize-options.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/normalize-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,6 @@ export interface NormalizedSchema {
|
|
|
14
14
|
importPath?: string;
|
|
15
15
|
standaloneConfig?: boolean;
|
|
16
16
|
spec?: boolean;
|
|
17
|
-
flat?: boolean;
|
|
18
17
|
commonModule?: boolean;
|
|
19
18
|
routing?: boolean;
|
|
20
19
|
lazy?: boolean;
|
|
@@ -52,5 +51,6 @@ export interface NormalizedSchema {
|
|
|
52
51
|
skipTests?: boolean;
|
|
53
52
|
selector?: string;
|
|
54
53
|
skipSelector?: boolean;
|
|
54
|
+
flat?: boolean;
|
|
55
55
|
};
|
|
56
56
|
}
|
|
@@ -181,6 +181,11 @@
|
|
|
181
181
|
"type": "boolean",
|
|
182
182
|
"default": false,
|
|
183
183
|
"description": "Specifies if the component should have a selector or not. Disclaimer: This option is only valid when `--standalone` is set to `true`."
|
|
184
|
+
},
|
|
185
|
+
"flat": {
|
|
186
|
+
"type": "boolean",
|
|
187
|
+
"default": false,
|
|
188
|
+
"description": "Ensure the generated standalone component is not placed in a subdirectory. Disclaimer: This option is only valid when `--standalone` is set to `true`."
|
|
184
189
|
}
|
|
185
190
|
},
|
|
186
191
|
"additionalProperties": false,
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import 'zone.js/dist/zone-node';
|
|
2
|
+
|
|
3
|
+
import {APP_BASE_HREF} from '@angular/common';
|
|
4
|
+
import {ngExpressEngine} from '@nguniversal/express-engine';
|
|
5
|
+
import * as express from 'express';
|
|
6
|
+
import {existsSync} from 'fs';
|
|
7
|
+
import {join} from 'path';
|
|
8
|
+
|
|
9
|
+
import {<%= rootModuleClassName %>} from './src/<%= main.slice(0, -3) %>';
|
|
10
|
+
|
|
11
|
+
// The Express app is exported so that it can be used by serverless Functions.
|
|
12
|
+
export function app(): express.Express {
|
|
13
|
+
const server = express();
|
|
14
|
+
const distFolder = join(process.cwd(), 'dist/apps/<%= project %>/browser');
|
|
15
|
+
const indexHtml = existsSync(join(distFolder, 'index.original.html')) ? 'index.original.html' : 'index';
|
|
16
|
+
|
|
17
|
+
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/main/modules/express-engine)
|
|
18
|
+
server.engine('html', ngExpressEngine({
|
|
19
|
+
bootstrap: <%= rootModuleClassName %>,
|
|
20
|
+
}));
|
|
21
|
+
|
|
22
|
+
server.set('view engine', 'html');
|
|
23
|
+
server.set('views', distFolder);
|
|
24
|
+
|
|
25
|
+
// Example Express Rest API endpoints
|
|
26
|
+
// server.get('/api/**', (req, res) => { });
|
|
27
|
+
// Serve static files from /browser
|
|
28
|
+
server.get('*.*', express.static(distFolder, {
|
|
29
|
+
maxAge: '1y'
|
|
30
|
+
}));
|
|
31
|
+
|
|
32
|
+
// All regular routes use the Universal engine
|
|
33
|
+
server.get('*', (req, res) => {
|
|
34
|
+
res.render(indexHtml, { req, providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }] });
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return server;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function run(): void {
|
|
41
|
+
const port = process.env['PORT'] || <%= serverPort %>;
|
|
42
|
+
|
|
43
|
+
// Start up the Node server
|
|
44
|
+
const server = app();
|
|
45
|
+
server.listen(port, () => {
|
|
46
|
+
console.log(`Node Express server listening on http://localhost:${port}`);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Webpack will replace 'require' with '__webpack_require__'
|
|
51
|
+
// '__non_webpack_require__' is a proxy to Node 'require'
|
|
52
|
+
// The below code is to ensure that the server is run only when not requiring the bundle.
|
|
53
|
+
declare const __non_webpack_require__: NodeRequire;
|
|
54
|
+
const mainModule = __non_webpack_require__.main;
|
|
55
|
+
const moduleFilename = mainModule && mainModule.filename || '';
|
|
56
|
+
if (moduleFilename === __filename || moduleFilename.includes('iisnode')) {
|
|
57
|
+
run();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export * from './src/<%= main.slice(0, -3) %>';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/***************************************************************************************************
|
|
2
|
+
* Initialize the server environment - for example, adding DOM built-in types to the global scope.
|
|
3
|
+
*
|
|
4
|
+
* NOTE:
|
|
5
|
+
* This import must come before any imports (direct or transitive) that rely on DOM built-ins being
|
|
6
|
+
* available, such as `@angular/elements`.
|
|
7
|
+
*/
|
|
8
|
+
import '@angular/platform-server/init';
|
|
9
|
+
|
|
10
|
+
import { enableProdMode } from '@angular/core';
|
|
11
|
+
|
|
12
|
+
import { environment } from './environments/environment';
|
|
13
|
+
|
|
14
|
+
if (environment.production) {
|
|
15
|
+
enableProdMode();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { <%= rootModuleClassName %> } from './app/<%= rootModuleFileName.slice(0, -3) %>';
|
|
19
|
+
export { renderModule } from '@angular/platform-server';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ServerModule } from '@angular/platform-server';
|
|
3
|
+
|
|
4
|
+
import { AppModule } from './app.module';
|
|
5
|
+
import { AppComponent } from './app.component';
|
|
6
|
+
|
|
7
|
+
@NgModule({
|
|
8
|
+
imports: [
|
|
9
|
+
AppModule,
|
|
10
|
+
ServerModule,
|
|
11
|
+
],
|
|
12
|
+
bootstrap: [AppComponent],
|
|
13
|
+
})
|
|
14
|
+
export class <%= rootModuleClassName %> {}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { enableProdMode } from '@angular/core';
|
|
2
|
+
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
3
|
+
|
|
4
|
+
import { AppModule } from './app/app.module';
|
|
5
|
+
import { environment } from './environments/environment';
|
|
6
|
+
|
|
7
|
+
if (environment.production) {
|
|
8
|
+
enableProdMode();
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function bootstrap() {
|
|
12
|
+
platformBrowserDynamic()
|
|
13
|
+
.bootstrapModule(AppModule)
|
|
14
|
+
.catch((err) => console.error(err));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
if (document.readyState === 'complete') {
|
|
19
|
+
bootstrap();
|
|
20
|
+
} else {
|
|
21
|
+
document.addEventListener('DOMContentLoaded', bootstrap);
|
|
22
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "./tsconfig.app.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/server",
|
|
6
|
+
"target": "es2019",
|
|
7
|
+
"types": [
|
|
8
|
+
"node"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"src/<%= main %>",
|
|
13
|
+
"server.ts",
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateSSRFiles = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
function generateSSRFiles(tree, schema) {
|
|
6
|
+
const projectRoot = (0, devkit_1.readProjectConfiguration)(tree, schema.project).root;
|
|
7
|
+
const pathToFiles = (0, devkit_1.joinPathFragments)(__dirname, '../', 'files');
|
|
8
|
+
(0, devkit_1.generateFiles)(tree, pathToFiles, projectRoot, Object.assign(Object.assign({}, schema), { tpl: '' }));
|
|
9
|
+
}
|
|
10
|
+
exports.generateSSRFiles = generateSSRFiles;
|
|
11
|
+
//# sourceMappingURL=generate-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-files.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAGtB,SAAgB,gBAAgB,CAAC,IAAU,EAAE,MAAc;IACzD,MAAM,WAAW,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAExE,MAAM,WAAW,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEjE,IAAA,sBAAa,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,kCAAO,MAAM,KAAE,GAAG,EAAE,EAAE,IAAG,CAAC;AACxE,CAAC;AAND,4CAMC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./generate-files"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./normalize-options"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./update-app-module"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./update-project-config"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,8DAAoC;AACpC,8DAAoC;AACpC,kEAAwC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Tree } from '@nrwl/devkit';
|
|
2
|
+
import type { Schema } from '../schema';
|
|
3
|
+
export declare function normalizeOptions(tree: Tree, options: Schema): {
|
|
4
|
+
project: string;
|
|
5
|
+
appId: string;
|
|
6
|
+
main: string;
|
|
7
|
+
serverFileName: string;
|
|
8
|
+
serverPort: number;
|
|
9
|
+
rootModuleFileName: string;
|
|
10
|
+
rootModuleClassName: string;
|
|
11
|
+
skipFormat: boolean;
|
|
12
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeOptions = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
function normalizeOptions(tree, options) {
|
|
6
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
7
|
+
return {
|
|
8
|
+
project: (_a = options.project) !== null && _a !== void 0 ? _a : (0, devkit_1.readWorkspaceConfiguration)(tree).defaultProject,
|
|
9
|
+
appId: (_b = options.appId) !== null && _b !== void 0 ? _b : 'serverApp',
|
|
10
|
+
main: (_c = options.main) !== null && _c !== void 0 ? _c : 'main.server.ts',
|
|
11
|
+
serverFileName: (_d = options.serverFileName) !== null && _d !== void 0 ? _d : 'server.ts',
|
|
12
|
+
serverPort: (_e = options.serverPort) !== null && _e !== void 0 ? _e : 4000,
|
|
13
|
+
rootModuleFileName: (_f = options.rootModuleFileName) !== null && _f !== void 0 ? _f : 'app.server.module.ts',
|
|
14
|
+
rootModuleClassName: (_g = options.rootModuleClassName) !== null && _g !== void 0 ? _g : 'AppServerModule',
|
|
15
|
+
skipFormat: (_h = options.skipFormat) !== null && _h !== void 0 ? _h : false,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.normalizeOptions = normalizeOptions;
|
|
19
|
+
//# sourceMappingURL=normalize-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/normalize-options.ts"],"names":[],"mappings":";;;AACA,yCAA0D;AAG1D,SAAgB,gBAAgB,CAAC,IAAU,EAAE,OAAe;;IAC1D,OAAO;QACL,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC,cAAc;QAC3E,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,WAAW;QACnC,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,gBAAgB;QACtC,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,WAAW;QACrD,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI;QACtC,kBAAkB,EAAE,MAAA,OAAO,CAAC,kBAAkB,mCAAI,sBAAsB;QACxE,mBAAmB,EAAE,MAAA,OAAO,CAAC,mBAAmB,mCAAI,iBAAiB;QACrE,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,KAAK;KACxC,CAAC;AACJ,CAAC;AAXD,4CAWC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateAppModule = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
6
|
+
function updateAppModule(tree, schema) {
|
|
7
|
+
// read the content of app module
|
|
8
|
+
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, schema.project);
|
|
9
|
+
const pathToAppModule = (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'app/app.module.ts');
|
|
10
|
+
const fileContents = tree.read(pathToAppModule, 'utf-8');
|
|
11
|
+
const ast = tsquery_1.tsquery.ast(fileContents);
|
|
12
|
+
const browserModuleImportNodes = (0, tsquery_1.tsquery)(ast, 'PropertyAssignment:has(Identifier[name=imports]) > ArrayLiteralExpression Identifier[name=BrowserModule]', { visitAllChildren: true });
|
|
13
|
+
if (browserModuleImportNodes.length === 0) {
|
|
14
|
+
throw new Error(`Could not find BrowserModule declaration in ${pathToAppModule}. Please ensure this is correct.`);
|
|
15
|
+
}
|
|
16
|
+
const browserModuleNode = browserModuleImportNodes[0];
|
|
17
|
+
const newFileContents = `${fileContents.slice(0, browserModuleNode.getEnd())}.withServerTransition({ appId: '${schema.appId}' })${fileContents.slice(browserModuleNode.getEnd(), -1)}`;
|
|
18
|
+
tree.write(pathToAppModule, newFileContents);
|
|
19
|
+
}
|
|
20
|
+
exports.updateAppModule = updateAppModule;
|
|
21
|
+
//# sourceMappingURL=update-app-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-app-module.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/update-app-module.ts"],"names":[],"mappings":";;;AACA,yCAA2E;AAE3E,uDAAoD;AAEpD,SAAgB,eAAe,CAAC,IAAU,EAAE,MAAc;IACxD,iCAAiC;IACjC,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,aAAa,CAAC,UAAU,EACxB,mBAAmB,CACpB,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEzD,MAAM,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,wBAAwB,GAAG,IAAA,iBAAO,EACtC,GAAG,EACH,0GAA0G,EAC1G,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;IAEF,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CACb,+CAA+C,eAAe,kCAAkC,CACjG,CAAC;KACH;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,GAAG,YAAY,CAAC,KAAK,CAC3C,CAAC,EACD,iBAAiB,CAAC,MAAM,EAAE,CAC3B,mCAAmC,MAAM,CAAC,KAAK,OAAO,YAAY,CAAC,KAAK,CACvE,iBAAiB,CAAC,MAAM,EAAE,EAC1B,CAAC,CAAC,CACH,EAAE,CAAC;IAEJ,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAC/C,CAAC;AAjCD,0CAiCC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateProjectConfig = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
function updateProjectConfig(tree, schema) {
|
|
6
|
+
let projectConfig = (0, devkit_1.readProjectConfiguration)(tree, schema.project);
|
|
7
|
+
projectConfig.targets.build.options.outputPath = `dist/apps/${schema.project}/browser`;
|
|
8
|
+
projectConfig.targets.server = {
|
|
9
|
+
executor: '@angular-devkit/build-angular:server',
|
|
10
|
+
options: {
|
|
11
|
+
outputPath: `dist/apps/${projectConfig.root}/server`,
|
|
12
|
+
main: (0, devkit_1.joinPathFragments)(projectConfig.root, schema.serverFileName),
|
|
13
|
+
tsConfig: (0, devkit_1.joinPathFragments)(projectConfig.root, 'tsconfig.server.json'),
|
|
14
|
+
},
|
|
15
|
+
configurations: {
|
|
16
|
+
production: {
|
|
17
|
+
outputHashing: 'media',
|
|
18
|
+
fileReplacements: [
|
|
19
|
+
{
|
|
20
|
+
replace: (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'environments/environment.ts'),
|
|
21
|
+
with: (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'environments/environment.prod.ts'),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
development: {
|
|
26
|
+
optimization: false,
|
|
27
|
+
sourceMap: true,
|
|
28
|
+
extractLicenses: false,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
defaultConfiguration: 'production',
|
|
32
|
+
};
|
|
33
|
+
projectConfig.targets['serve-ssr'] = {
|
|
34
|
+
executor: '@nguniversal/builders:ssr-dev-server',
|
|
35
|
+
configurations: {
|
|
36
|
+
development: {
|
|
37
|
+
browserTarget: `${schema.project}:build:development`,
|
|
38
|
+
serverTarget: `${schema.project}:server:development`,
|
|
39
|
+
},
|
|
40
|
+
production: {
|
|
41
|
+
browserTarget: `${schema.project}:build:production`,
|
|
42
|
+
serverTarget: `${schema.project}:server:production`,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
defaultConfiguration: 'development',
|
|
46
|
+
};
|
|
47
|
+
projectConfig.targets.prerender = {
|
|
48
|
+
executor: '@nguniversal/builders:prerender',
|
|
49
|
+
options: {
|
|
50
|
+
routes: ['/'],
|
|
51
|
+
},
|
|
52
|
+
configurations: {
|
|
53
|
+
development: {
|
|
54
|
+
browserTarget: `${schema.project}:build:development`,
|
|
55
|
+
serverTarget: `${schema.project}:server:development`,
|
|
56
|
+
},
|
|
57
|
+
production: {
|
|
58
|
+
browserTarget: `${schema.project}:build:production`,
|
|
59
|
+
serverTarget: `${schema.project}:server:production`,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
defaultConfiguration: 'production',
|
|
63
|
+
};
|
|
64
|
+
(0, devkit_1.updateProjectConfiguration)(tree, schema.project, projectConfig);
|
|
65
|
+
}
|
|
66
|
+
exports.updateProjectConfig = updateProjectConfig;
|
|
67
|
+
//# sourceMappingURL=update-project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-project-config.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/update-project-config.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAGtB,SAAgB,mBAAmB,CAAC,IAAU,EAAE,MAAc;IAC5D,IAAI,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,MAAM,CAAC,OAAO,UAAU,CAAC;IAEvF,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG;QAC7B,QAAQ,EAAE,sCAAsC;QAChD,OAAO,EAAE;YACP,UAAU,EAAE,aAAa,aAAa,CAAC,IAAI,SAAS;YACpD,IAAI,EAAE,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC;YAClE,QAAQ,EAAE,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,sBAAsB,CAAC;SACxE;QACD,cAAc,EAAE;YACd,UAAU,EAAE;gBACV,aAAa,EAAE,OAAO;gBACtB,gBAAgB,EAAE;oBAChB;wBACE,OAAO,EAAE,IAAA,0BAAiB,EACxB,aAAa,CAAC,UAAU,EACxB,6BAA6B,CAC9B;wBACD,IAAI,EAAE,IAAA,0BAAiB,EACrB,aAAa,CAAC,UAAU,EACxB,kCAAkC,CACnC;qBACF;iBACF;aACF;YACD,WAAW,EAAE;gBACX,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,eAAe,EAAE,KAAK;aACvB;SACF;QACD,oBAAoB,EAAE,YAAY;KACnC,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;QACnC,QAAQ,EAAE,sCAAsC;QAChD,cAAc,EAAE;YACd,WAAW,EAAE;gBACX,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,oBAAoB;gBACpD,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,qBAAqB;aACrD;YACD,UAAU,EAAE;gBACV,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,mBAAmB;gBACnD,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,oBAAoB;aACpD;SACF;QACD,oBAAoB,EAAE,aAAa;KACpC,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,SAAS,GAAG;QAChC,QAAQ,EAAE,iCAAiC;QAC3C,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,GAAG,CAAC;SACd;QACD,cAAc,EAAE;YACd,WAAW,EAAE;gBACX,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,oBAAoB;gBACpD,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,qBAAqB;aACrD;YACD,UAAU,EAAE;gBACV,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,mBAAmB;gBACnD,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,oBAAoB;aACpD;SACF;QACD,oBAAoB,EAAE,YAAY;KACnC,CAAC;IAEF,IAAA,mCAA0B,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAClE,CAAC;AAvED,kDAuEC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "GeneratorAngularUniversalSetup",
|
|
4
|
+
"cli": "nx",
|
|
5
|
+
"title": "Generate Angular Universal (SSR) setup for an Angular App",
|
|
6
|
+
"description": "Create the additional configuration required to enable SSR via Angular Universal for an Angular application.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"project": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "The name of the application to generate the Angular Universal configuration for.",
|
|
12
|
+
"$default": {
|
|
13
|
+
"$source": "argv",
|
|
14
|
+
"index": 0
|
|
15
|
+
},
|
|
16
|
+
"x-prompt": "What app would you like to generate an Angular Universal configuration for?",
|
|
17
|
+
"x-dropdown": "projects"
|
|
18
|
+
},
|
|
19
|
+
"appId": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"format": "html-selector",
|
|
22
|
+
"description": "The `appId` to use with `withServerTransition`.",
|
|
23
|
+
"default": "serverApp"
|
|
24
|
+
},
|
|
25
|
+
"main": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"format": "path",
|
|
28
|
+
"description": "The name of the main entry-point file.",
|
|
29
|
+
"default": "main.server.ts"
|
|
30
|
+
},
|
|
31
|
+
"serverFileName": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"default": "server.ts",
|
|
34
|
+
"description": "The name of the Express server file."
|
|
35
|
+
},
|
|
36
|
+
"serverPort": {
|
|
37
|
+
"type": "number",
|
|
38
|
+
"default": 4000,
|
|
39
|
+
"description": "The port for the Express server."
|
|
40
|
+
},
|
|
41
|
+
"rootModuleFileName": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"format": "path",
|
|
44
|
+
"description": "The name of the root module file",
|
|
45
|
+
"default": "app.server.module.ts"
|
|
46
|
+
},
|
|
47
|
+
"rootModuleClassName": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "The name of the root module class.",
|
|
50
|
+
"default": "AppServerModule"
|
|
51
|
+
},
|
|
52
|
+
"skipFormat": {
|
|
53
|
+
"type": "boolean",
|
|
54
|
+
"description": "Skip formatting the workspace after the generator completes."
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": ["project"],
|
|
58
|
+
"additionalProperties": false
|
|
59
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
4
|
+
const setup_ssr_1 = require("./setup-ssr");
|
|
5
|
+
exports.default = (0, devkit_1.convertNxGenerator)(setup_ssr_1.setupSsr);
|
|
6
|
+
//# sourceMappingURL=setup-ssr.compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-ssr.compat.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/setup-ssr/setup-ssr.compat.ts"],"names":[],"mappings":";;AAAA,yCAAkD;AAClD,2CAAuC;AAEvC,kBAAe,IAAA,2BAAkB,EAAC,oBAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupSsr = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
+
const lib_1 = require("./lib");
|
|
7
|
+
const versions_1 = require("../../utils/versions");
|
|
8
|
+
function setupSsr(tree, schema) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
const options = (0, lib_1.normalizeOptions)(tree, schema);
|
|
11
|
+
(0, lib_1.generateSSRFiles)(tree, options);
|
|
12
|
+
(0, lib_1.updateAppModule)(tree, options);
|
|
13
|
+
(0, lib_1.updateProjectConfig)(tree, options);
|
|
14
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
15
|
+
'@nguniversal/express-engine': versions_1.ngUniversalVersion,
|
|
16
|
+
'@angular/platform-server': versions_1.angularVersion,
|
|
17
|
+
}, {
|
|
18
|
+
'@nguniversal/builders': versions_1.ngUniversalVersion,
|
|
19
|
+
});
|
|
20
|
+
if (!options.skipFormat) {
|
|
21
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
22
|
+
}
|
|
23
|
+
return () => {
|
|
24
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
exports.setupSsr = setupSsr;
|
|
29
|
+
exports.default = setupSsr;
|
|
30
|
+
//# sourceMappingURL=setup-ssr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-ssr.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/setup-ssr/setup-ssr.ts"],"names":[],"mappings":";;;;AACA,yCAIsB;AAEtB,+BAKe;AACf,mDAA0E;AAE1E,SAAsB,QAAQ,CAAC,IAAU,EAAE,MAAc;;QACvD,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAA,sBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,IAAA,qBAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAA,yBAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnC,IAAA,qCAA4B,EAC1B,IAAI,EACJ;YACE,6BAA6B,EAAE,6BAAkB;YACjD,0BAA0B,EAAE,yBAAc;SAC3C,EACD;YACE,uBAAuB,EAAE,6BAAkB;SAC5C,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAzBD,4BAyBC;AAED,kBAAe,QAAQ,CAAC"}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const rxjsVersion = "~7.5.0";
|
|
|
7
7
|
export declare const zoneJsVersion = "~0.11.4";
|
|
8
8
|
export declare const angularJsVersion = "1.7.9";
|
|
9
9
|
export declare const tsLibVersion = "^2.3.0";
|
|
10
|
+
export declare const ngUniversalVersion = "~14.2.0";
|
|
10
11
|
export declare const angularEslintVersion = "~14.0.4";
|
|
11
12
|
export declare const tailwindVersion = "^3.0.2";
|
|
12
13
|
export declare const postcssVersion = "^8.4.5";
|
package/src/utils/versions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.typesJasminewd2Version = exports.typesJasmineVersion = exports.jasmineSpecReporterVersion = exports.jasmineCoreVersion = exports.karmaJasmineHtmlReporterVersion = exports.karmaJasmineVersion = exports.karmaCoverageVersion = exports.karmaChromeLauncherVersion = exports.karmaVersion = exports.protractorVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssPresetEnvVersion = exports.postcssImportVersion = exports.postcssVersion = exports.tailwindVersion = exports.angularEslintVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
|
|
3
|
+
exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.typesJasminewd2Version = exports.typesJasmineVersion = exports.jasmineSpecReporterVersion = exports.jasmineCoreVersion = exports.karmaJasmineHtmlReporterVersion = exports.karmaJasmineVersion = exports.karmaCoverageVersion = exports.karmaChromeLauncherVersion = exports.karmaVersion = exports.protractorVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssPresetEnvVersion = exports.postcssImportVersion = exports.postcssVersion = exports.tailwindVersion = exports.angularEslintVersion = exports.ngUniversalVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
|
|
4
4
|
exports.nxVersion = require('../../package.json').version;
|
|
5
5
|
exports.angularVersion = '~14.2.0';
|
|
6
6
|
exports.angularDevkitVersion = '~14.2.0';
|
|
@@ -10,6 +10,7 @@ exports.rxjsVersion = '~7.5.0';
|
|
|
10
10
|
exports.zoneJsVersion = '~0.11.4';
|
|
11
11
|
exports.angularJsVersion = '1.7.9';
|
|
12
12
|
exports.tsLibVersion = '^2.3.0';
|
|
13
|
+
exports.ngUniversalVersion = '~14.2.0';
|
|
13
14
|
exports.angularEslintVersion = '~14.0.4';
|
|
14
15
|
exports.tailwindVersion = '^3.0.2';
|
|
15
16
|
exports.postcssVersion = '^8.4.5';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAElD,QAAA,cAAc,GAAG,SAAS,CAAC;AAC3B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,aAAa,GAAG,QAAQ,CAAC;AAEzB,QAAA,wBAAwB,GAAG,SAAS,CAAC;AACrC,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,+BAA+B,GAAG,QAAQ,CAAC;AAC3C,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,qBAAqB,GAAG,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAElD,QAAA,cAAc,GAAG,SAAS,CAAC;AAC3B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,kBAAkB,GAAG,SAAS,CAAC;AAE/B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,aAAa,GAAG,QAAQ,CAAC;AAEzB,QAAA,wBAAwB,GAAG,SAAS,CAAC;AACrC,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,+BAA+B,GAAG,QAAQ,CAAC;AAC3C,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,qBAAqB,GAAG,QAAQ,CAAC"}
|