diff --git a/angular.json b/angular.json index 1e09934..03dec06 100644 --- a/angular.json +++ b/angular.json @@ -151,14 +151,15 @@ "outputPath": "dist/ngx-highlightjs-demo/server", "main": "projects/ngx-highlightjs-demo/server.ts", "tsConfig": "projects/ngx-highlightjs-demo/tsconfig.server.json", + "buildOptimizer": false, "optimization": false, "sourceMap": true, "extractLicenses": false, - "vendorChunk": true, - "buildOptimizer": false + "vendorChunk": true }, "configurations": { "production": { + "buildOptimizer": true, "outputHashing": "media", "fileReplacements": [ { @@ -169,8 +170,7 @@ "optimization": true, "sourceMap": false, "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true + "vendorChunk": false } }, "defaultConfiguration": "production" diff --git a/package.json b/package.json index 017fcb5..b4595a5 100644 --- a/package.json +++ b/package.json @@ -81,4 +81,4 @@ "ng-packagr": "^16.1.0", "typescript": "~5.0.4" } -} \ No newline at end of file +} diff --git a/projects/ngx-highlightjs-demo/server.ts b/projects/ngx-highlightjs-demo/server.ts index 6ce0039..400e3a5 100644 --- a/projects/ngx-highlightjs-demo/server.ts +++ b/projects/ngx-highlightjs-demo/server.ts @@ -3,10 +3,9 @@ import 'zone.js/node'; import { APP_BASE_HREF } from '@angular/common'; import { ngExpressEngine } from '@nguniversal/express-engine'; import * as express from 'express'; -import { existsSync } from 'fs'; -import { join } from 'path'; - -import { AppServerModule } from './src/main.server'; +import { existsSync } from 'node:fs'; +import { join } from 'node:path'; +import bootstrap from './src/main.server'; // The Express app is exported so that it can be used by serverless Functions. export function app(): express.Express { @@ -16,7 +15,7 @@ export function app(): express.Express { // Our Universal express-engine (found @ https://github.com/angular/universal/tree/main/modules/express-engine) server.engine('html', ngExpressEngine({ - bootstrap: AppServerModule, + bootstrap })); server.set('view engine', 'html'); @@ -57,4 +56,4 @@ if (moduleFilename === __filename || moduleFilename.includes('iisnode')) { run(); } -export * from './src/main.server'; +export default bootstrap; \ No newline at end of file diff --git a/projects/ngx-highlightjs-demo/src/app/app.config.server.ts b/projects/ngx-highlightjs-demo/src/app/app.config.server.ts new file mode 100644 index 0000000..d3cec57 --- /dev/null +++ b/projects/ngx-highlightjs-demo/src/app/app.config.server.ts @@ -0,0 +1,14 @@ +import { mergeApplicationConfig, ApplicationConfig, importProvidersFrom } from '@angular/core'; +import { provideServerRendering } from '@angular/platform-server'; +import { provideHttpClient } from '@angular/common/http'; +import { FlexLayoutServerModule } from '@angular/flex-layout/server'; + +const serverConfig: ApplicationConfig = { + providers: [ + provideServerRendering(), + provideHttpClient(), + importProvidersFrom(FlexLayoutServerModule) + ] +}; + +export const config = mergeApplicationConfig(serverConfig); diff --git a/projects/ngx-highlightjs-demo/src/app/app.server.module.ts b/projects/ngx-highlightjs-demo/src/app/app.server.module.ts deleted file mode 100644 index 6c29b85..0000000 --- a/projects/ngx-highlightjs-demo/src/app/app.server.module.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NgModule } from '@angular/core'; -import { ServerModule } from '@angular/platform-server'; -import { FlexLayoutServerModule } from '@angular/flex-layout/server'; -import { AppModule } from './app.module'; -import { AppComponent } from './app.component'; - -@NgModule({ - imports: [ - AppModule, - ServerModule, - FlexLayoutServerModule - ], - bootstrap: [AppComponent], -}) -export class AppServerModule {} diff --git a/projects/ngx-highlightjs-demo/src/app/header/header.component.ts b/projects/ngx-highlightjs-demo/src/app/header/header.component.ts index 899e8d4..232f586 100644 --- a/projects/ngx-highlightjs-demo/src/app/header/header.component.ts +++ b/projects/ngx-highlightjs-demo/src/app/header/header.component.ts @@ -1,5 +1,5 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { FlexModule } from '@angular/flex-layout/flex'; +import { FlexLayoutModule } from '@angular/flex-layout'; @Component({ selector: 'app-header', @@ -7,7 +7,7 @@ import { FlexModule } from '@angular/flex-layout/flex'; styleUrls: ['./header.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, - imports: [FlexModule] + imports: [FlexLayoutModule] }) export class HeaderComponent { } diff --git a/projects/ngx-highlightjs-demo/src/main.server.ts b/projects/ngx-highlightjs-demo/src/main.server.ts index cdb649e..4b9d4d1 100644 --- a/projects/ngx-highlightjs-demo/src/main.server.ts +++ b/projects/ngx-highlightjs-demo/src/main.server.ts @@ -1,2 +1,7 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { AppComponent } from './app/app.component'; +import { config } from './app/app.config.server'; -export { AppServerModule } from './app/app.server.module'; +const bootstrap = () => bootstrapApplication(AppComponent, config); + +export default bootstrap; diff --git a/projects/ngx-highlightjs-demo/src/main.ts b/projects/ngx-highlightjs-demo/src/main.ts index 2f5a65c..bd34a17 100644 --- a/projects/ngx-highlightjs-demo/src/main.ts +++ b/projects/ngx-highlightjs-demo/src/main.ts @@ -1,7 +1,7 @@ -import { enableProdMode, importProvidersFrom } from '@angular/core'; +import { enableProdMode } from '@angular/core'; import { provideHttpClient } from '@angular/common/http'; import { provideAnimations } from '@angular/platform-browser/animations'; -import { BrowserModule, bootstrapApplication } from '@angular/platform-browser'; +import { bootstrapApplication } from '@angular/platform-browser'; import { GIST_OPTIONS } from 'ngx-highlightjs/plus'; import { HIGHLIGHT_OPTIONS } from 'ngx-highlightjs'; import { environment } from './environments/environment'; @@ -14,7 +14,6 @@ if (environment.production) { function bootstrap() { bootstrapApplication(AppComponent, { providers: [ - importProvidersFrom(BrowserModule.withServerTransition({ appId: 'serverApp' })), provideHttpClient(), { provide: HIGHLIGHT_OPTIONS,