Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

Commit 4dc0482

Browse files
CaerusKaruvikerman
authored andcommitted
fix(express-engine): modify dist directories to provide consistent access (#1082)
1 parent ef0838e commit 4dc0482

4 files changed

Lines changed: 32 additions & 23 deletions

File tree

modules/express-engine/schematics/install/files/root/__serverFileName@stripTsExtension__.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ enableProdMode();
1616
const app = express();
1717

1818
const PORT = process.env.PORT || <%= serverPort %>;
19-
const DIST_FOLDER = join(process.cwd(), 'dist');
19+
const DIST_FOLDER = join(process.cwd(), '<%= getBrowserDistDirectory() %>');
2020

2121
// * NOTE :: leave this as require() since this file is built Dynamically from webpack
22-
const {AppServerModuleNgFactory, LAZY_MODULE_MAP} = require('./<%= clientProject %>-server/main');
22+
const {AppServerModuleNgFactory, LAZY_MODULE_MAP} = require('./<%= getServerDistDirectory() %>/main');
2323

2424
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
2525
app.engine('html', ngExpressEngine({
@@ -30,12 +30,12 @@ app.engine('html', ngExpressEngine({
3030
}));
3131

3232
app.set('view engine', 'html');
33-
app.set('views', join(DIST_FOLDER, '<%= clientProject %>'));
33+
app.set('views', DIST_FOLDER);
3434

3535
// Example Express Rest API endpoints
3636
// app.get('/api/**', (req, res) => { });
3737
// Server static files from /browser
38-
app.get('*.*', express.static(join(DIST_FOLDER, '<%= clientProject %>'), {
38+
app.get('*.*', express.static(DIST_FOLDER, {
3939
maxAge: '1y'
4040
}));
4141

modules/express-engine/schematics/install/index.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ import {
2828
NodeDependencyType,
2929
} from '@schematics/angular/utility/dependencies';
3030

31+
// TODO(CaerusKaru): make these configurable
32+
const BROWSER_DIST = 'dist/browser';
33+
const SERVER_DIST = 'dist/server';
3134

3235
function getClientProject(
3336
host: Tree, options: UniversalOptions,
@@ -126,6 +129,10 @@ function updateConfigFile(options: UniversalOptions): Rule {
126129
}
127130

128131
clientProject.architect.server.configurations = serverConfig;
132+
// TODO(CaerusKaru): make this configurable
133+
clientProject.architect.server.options.outputPath = SERVER_DIST;
134+
// TODO(CaerusKaru): make this configurable
135+
clientProject.architect.build.options.outputPath = BROWSER_DIST;
129136

130137
const workspacePath = getWorkspacePath(host);
131138

@@ -153,7 +160,9 @@ export default function (options: UniversalOptions): Rule {
153160
template({
154161
...strings,
155162
...options as object,
156-
stripTsExtension: (s: string) => { return s.replace(/\.ts$/, ''); }
163+
stripTsExtension: (s: string) => s.replace(/\.ts$/, ''),
164+
getBrowserDistDirectory: () => BROWSER_DIST,
165+
getServerDistDirectory: () => SERVER_DIST,
157166
})
158167
]);
159168

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@
7272
"test:watch": "ibazel test //..."
7373
},
7474
"devDependencies": {
75-
"@angular-devkit/core": "^0.7.3",
76-
"@angular-devkit/schematics": "^0.7.3",
75+
"@angular-devkit/core": "^0.7.5",
76+
"@angular-devkit/schematics": "^0.7.5",
7777
"@angular/animations": "6.0.4",
7878
"@angular/bazel": "6.0.4",
7979
"@angular/common": "6.0.4",
@@ -87,7 +87,7 @@
8787
"@angular/router": "6.0.4",
8888
"@angular/upgrade": "6.0.4",
8989
"@bazel/ibazel": "^0.3.1",
90-
"@schematics/angular": "^0.7.3",
90+
"@schematics/angular": "^0.7.5",
9191
"@types/express": "^4.0.39",
9292
"@types/fs-extra": "^4.0.5",
9393
"@types/hapi": "^17.0.12",

yarn.lock

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22
# yarn lockfile v1
33

44

5-
"@angular-devkit/core@0.7.3", "@angular-devkit/core@^0.7.3":
6-
version "0.7.3"
7-
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.7.3.tgz#a18f7b922390503b5226b3d64c4c54fb43ad15e2"
8-
integrity sha512-2fKNmv4sJ6EEONp6QJ2VcHlR0O2TAXWm6jQsWxJjfVvROhAY7eJkzhqi0pUoWhUiamxCk5ssl8p9KkhtOiTa4Q==
5+
"@angular-devkit/core@0.7.5", "@angular-devkit/core@^0.7.5":
6+
version "0.7.5"
7+
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.7.5.tgz#49f7854ccadf3ddda8d0ea4359543a1cbdc6854d"
8+
integrity sha512-r99BZvvuNAqSRm05jXfx0sb3Ip0zvHPtAM6NReXzWPoqaVFpjVUdj/CKA+9HWG/Zt9meG9pEQt/HKK8UXaZDVA==
99
dependencies:
1010
ajv "~6.4.0"
1111
chokidar "^2.0.3"
1212
rxjs "^6.0.0"
1313
source-map "^0.5.6"
1414

15-
"@angular-devkit/schematics@0.7.3", "@angular-devkit/schematics@^0.7.3":
16-
version "0.7.3"
17-
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.7.3.tgz#49dc93d55246814924e19db37dae43867ed563ea"
18-
integrity sha512-OqZ9qzxDxEqAxV8n4uoq8IeSU+a2GN82z2N3a7z5nNxV6zfJo6K/33SLDuagGFSZfOUuP+35qaR+rHzSzByRig==
15+
"@angular-devkit/schematics@0.7.5", "@angular-devkit/schematics@^0.7.5":
16+
version "0.7.5"
17+
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.7.5.tgz#f46b121f29cb40ad6095285d27a515114a56c5d6"
18+
integrity sha512-E7HkQeJawUskf2gPnogMc+cTdjJ2Iv3QEZOgprh/ExEmBYByWkGDRX5fQOuy8wME8VZqUBvQACZaVkEredn5EA==
1919
dependencies:
20-
"@angular-devkit/core" "0.7.3"
20+
"@angular-devkit/core" "0.7.5"
2121
rxjs "^6.0.0"
2222

2323
"@angular/animations@6.0.4":
@@ -127,13 +127,13 @@
127127
tsickle "0.25.x"
128128
tsutils "2.20.0"
129129

130-
"@schematics/angular@^0.7.3":
131-
version "0.7.3"
132-
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.7.3.tgz#d4a33a78b152bded557efddba4616a8fafa9ae24"
133-
integrity sha512-L5n9QGWho/SdNAZjw1im3bfNWdkLAJTW0sye9i3rCHM4oyZ59N+LASCN5LvjrhSjKP8LVqmJm/yArUExzpOaiQ==
130+
"@schematics/angular@^0.7.5":
131+
version "0.7.5"
132+
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.7.5.tgz#ccb5ce587161b24042195e100be556ae19b3b7f6"
133+
integrity sha512-NrtvFwHCoWon8KInsvA1jdPu4pVJGa8GAWM/jqnE7HpwPwM7hMML08lV0P8r3NX5t2/i0CKvfp4AAEr5MXorEQ==
134134
dependencies:
135-
"@angular-devkit/core" "0.7.3"
136-
"@angular-devkit/schematics" "0.7.3"
135+
"@angular-devkit/core" "0.7.5"
136+
"@angular-devkit/schematics" "0.7.5"
137137
typescript ">=2.6.2 <2.10"
138138

139139
"@types/body-parser@*":

0 commit comments

Comments
 (0)