Skip to content

Commit 50df620

Browse files
authored
Merge pull request #121 from Service-Soft/dev
Merge pull request #120 from Service-Soft/update-angular-libraries fixed pipeline
2 parents 401523c + 5b24443 commit 50df620

12 files changed

Lines changed: 185 additions & 70 deletions

File tree

.github/workflows/cd.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ on:
44
types: [closed]
55
branches: [release]
66

7+
permissions:
8+
id-token: write
9+
contents: read
10+
711
jobs:
812
deploy:
913
if: github.event.pull_request.merged
@@ -12,8 +16,12 @@ jobs:
1216
- uses: actions/checkout@v4
1317
with:
1418
ref: release
15-
- run: npm ci
16-
- run: npm run build
17-
- uses: JS-DevTools/npm-publish@v3
19+
- uses: actions/setup-node@v4
1820
with:
19-
token: ${{ secrets.NPM_TOKEN }}
21+
node-version: '20'
22+
registry-url: 'https://registry.npmjs.org'
23+
# Ensure npm 11.5.1 or later is installed
24+
- run: npm install -g npm@latest
25+
- run: npm i
26+
- run: npm run build
27+
- run: npm publish

.github/workflows/ci.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ jobs:
1818
- uses: actions/checkout@v4
1919
- run: docker pull adminer
2020
- run: docker pull postgres
21-
- run: npm i -g @angular/cli@20 zibri-cli @loopback/cli@6 @nestjs/cli@11
22-
- run: npm ci
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: '20'
24+
registry-url: 'https://registry.npmjs.org'
25+
- run: npm i -g npm@latest
26+
- run: npm i -g @angular/cli@20 zibri-cli @loopback/cli@6 @nestjs/cli@11 create-vite@6 create-storybook@9.1.16
27+
- run: npm i
2328
- run: npm run build
2429
- run: npm run test

package-lock.json

Lines changed: 41 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
{
22
"name": "monux-cli",
3-
"version": "2.5.2",
3+
"version": "2.5.3",
44
"license": "MIT",
55
"main": "index.js",
66
"engines": {
77
"node": ">=20"
88
},
9+
"repository": {
10+
"url": "https://github.com/Service-Soft/monux-cli"
11+
},
912
"keywords": [
1013
"monux",
1114
"mx",
@@ -33,7 +36,7 @@
3336
"start": "npm run build && cd sandbox && node ../dist/index.js",
3437
"build": "tsc",
3538
"clear": "rm -rf sandbox && mkdir sandbox && npm run start i",
36-
"test": "jest",
39+
"test": "jest --runInBand",
3740
"lint": "eslint . --max-warnings=0",
3841
"lint:fix": "eslint . --max-warnings=0 --fix",
3942
"prepublishOnly": "npm i && npm run build"

src/__testing__/mock/constants.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* eslint-disable jsdoc/require-jsdoc */
2-
import { ANGULAR_JSON_FILE_NAME, ANGULAR_ROUTES_FILE_NAME, APP_CONFIG_FILE_NAME, APPS_DIRECTORY_NAME, DEV_DOCKER_COMPOSE_FILE_NAME, PROD_DOCKER_COMPOSE_FILE_NAME, ENV_FILE_NAME, ENVIRONMENT_MODEL_TS_FILE_NAME, ENVIRONMENT_TS_FILE_NAME, ESLINT_CONFIG_FILE_NAME, GLOBAL_ENVIRONMENT_MODEL_FILE_NAME, LIBS_DIRECTORY_NAME, PACKAGE_JSON_FILE_NAME, LOCAL_DOCKER_COMPOSE_FILE_NAME, WORKSPACE_FILE_NAME, BASE_TS_CONFIG_FILE_NAME, STAGE_DOCKER_COMPOSE_FILE_NAME, ENV_PUBLIC_FILE_NAME, ANGULAR_APP_COMPONENT_FILE_NAME } from '../../constants';
2+
import { ANGULAR_JSON_FILE_NAME, ANGULAR_ROUTES_FILE_NAME, APP_CONFIG_FILE_NAME, APPS_DIRECTORY_NAME, DEV_DOCKER_COMPOSE_FILE_NAME, PROD_DOCKER_COMPOSE_FILE_NAME, ENV_FILE_NAME, ENVIRONMENT_MODEL_TS_FILE_NAME, ENVIRONMENT_TS_FILE_NAME, ESLINT_CONFIG_FILE_NAME, GLOBAL_ENVIRONMENT_MODEL_FILE_NAME, LIBS_DIRECTORY_NAME, PACKAGE_JSON_FILE_NAME, LOCAL_DOCKER_COMPOSE_FILE_NAME, WORKSPACE_FILE_NAME, BASE_TS_CONFIG_FILE_NAME, STAGE_DOCKER_COMPOSE_FILE_NAME, ENV_PUBLIC_FILE_NAME, ANGULAR_APP_COMPONENT_FILE_NAME, ANGULAR_SERVER_ROUTES_FILE_NAME, APP_CONFIG_SERVER_FILE_NAME } from '../../constants';
33
import { OmitStrict } from '../../types';
44
import { getPath, Path } from '../../utilities';
55

@@ -29,7 +29,10 @@ export type MockConstants = {
2929
readonly ANGULAR_APP_COMPONENT_HTML: Path,
3030
readonly ANGULAR_APP_ROUTES_TS: Path,
3131
readonly ANGULAR_ROUTES_TS: Path,
32+
readonly ANGULAR_APP_ROUTES_SERVER_TS: Path,
33+
readonly ANGULAR_SERVER_ROUTES_TS: Path,
3234
readonly ANGULAR_APP_CONFIG_TS: Path,
35+
readonly ANGULAR_APP_CONFIG_SERVER_TS: Path,
3336
readonly ANGULAR_JSON: Path,
3437
readonly ANGULAR_ENVIRONMENT_MODEL: Path,
3538
readonly ANGULAR_ENVIRONMENT: Path,
@@ -90,7 +93,10 @@ export function getMockConstants(projectName: string): MockConstants {
9093
ANGULAR_APP_COMPONENT_HTML: getPath(ANGULAR_APP_DIR, 'src', 'app', 'app.html'),
9194
ANGULAR_APP_ROUTES_TS: getPath(ANGULAR_APP_DIR, 'src', 'app', 'app.routes.ts'),
9295
ANGULAR_ROUTES_TS: getPath(ANGULAR_APP_DIR, 'src', 'app', ANGULAR_ROUTES_FILE_NAME),
96+
ANGULAR_APP_ROUTES_SERVER_TS: getPath(ANGULAR_APP_DIR, 'src', 'app', 'app.routes.server.ts'),
97+
ANGULAR_SERVER_ROUTES_TS: getPath(ANGULAR_APP_DIR, 'src', 'app', ANGULAR_SERVER_ROUTES_FILE_NAME),
9398
ANGULAR_APP_CONFIG_TS: getPath(ANGULAR_APP_DIR, 'src', 'app', APP_CONFIG_FILE_NAME),
99+
ANGULAR_APP_CONFIG_SERVER_TS: getPath(ANGULAR_APP_DIR, 'src', 'app', APP_CONFIG_SERVER_FILE_NAME),
94100
ANGULAR_JSON: getPath(ANGULAR_APP_DIR, ANGULAR_JSON_FILE_NAME),
95101
ANGULAR_ENVIRONMENT: getPath(ANGULAR_APP_DIR, 'src', 'environment', ENVIRONMENT_TS_FILE_NAME),
96102
ANGULAR_ENVIRONMENT_MODEL: getPath(ANGULAR_APP_DIR, 'src', 'environment', ENVIRONMENT_MODEL_TS_FILE_NAME),

src/__testing__/mock/file-mock.utilities.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ export abstract class FileMockUtilities {
4242
ANGULAR_APP_COMPONENT_HTML: this.createEmptyFile,
4343
ANGULAR_APP_ROUTES_TS: this.createAppRoutesTs,
4444
ANGULAR_ROUTES_TS: this.createEmptyFile,
45+
ANGULAR_APP_ROUTES_SERVER_TS: this.createAppRoutesServerTs,
46+
ANGULAR_SERVER_ROUTES_TS: this.createEmptyFile,
4547
ANGULAR_APP_CONFIG_TS: this.createAppConfig,
48+
ANGULAR_APP_CONFIG_SERVER_TS: this.createAppConfigServer,
4649
ANGULAR_JSON: this.createAngularJson,
4750
ANGULAR_ENVIRONMENT_MODEL: this.createEmptyFile,
4851
ANGULAR_ENVIRONMENT: this.createEmptyFile,
@@ -192,6 +195,19 @@ export abstract class FileMockUtilities {
192195
], true, false);
193196
}
194197

198+
private static async createAppRoutesServerTs(mockConstants: MockConstants): Promise<void> {
199+
await FsUtilities.createFile(mockConstants.ANGULAR_APP_ROUTES_SERVER_TS, [
200+
'import { RenderMode, ServerRoute } from \'@angular/ssr\';',
201+
'',
202+
'export const serverRoutes: ServerRoute[] = [',
203+
'\t{',
204+
'\t\tpath: \'**\',',
205+
'\t\trenderMode: RenderMode.Prerender',
206+
'\t}',
207+
'];'
208+
], true, false);
209+
}
210+
195211
private static async createAppConfig(mockConstants: MockConstants): Promise<void> {
196212
await FsUtilities.createFile(mockConstants.ANGULAR_APP_CONFIG_TS, [
197213
'import { ApplicationConfig, provideZoneChangeDetection } from \'@angular/core\';',
@@ -210,6 +226,22 @@ export abstract class FileMockUtilities {
210226
], true, false);
211227
}
212228

229+
private static async createAppConfigServer(mockConstants: MockConstants): Promise<void> {
230+
await FsUtilities.createFile(mockConstants.ANGULAR_APP_CONFIG_SERVER_TS, [
231+
'import { mergeApplicationConfig, ApplicationConfig } from \'@angular/core\';',
232+
'import { provideServerRendering, withRoutes } from \'@angular/ssr\';',
233+
'',
234+
'import { appConfig } from \'./app.config\';',
235+
'import { serverRoutes } from \'./app.routes.server\';',
236+
'',
237+
'const serverConfig: ApplicationConfig = {',
238+
'\tproviders: [provideServerRendering(withRoutes(serverRoutes))]',
239+
'};',
240+
'',
241+
'export const config: ApplicationConfig = mergeApplicationConfig(appConfig, serverConfig);'
242+
], true, false);
243+
}
244+
213245
private static async createGlobalEnvModel(): Promise<void> {
214246
await EnvUtilities['createGlobalEnvironmentModel']();
215247
}

src/angular/angular-utilities.test.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ describe('AngularUtilities', () => {
2121
'ANGULAR_APP_COMPONENT_HTML',
2222
'ANGULAR_APP_COMPONENT_TS',
2323
'ANGULAR_APP_ROUTES_TS',
24+
'ANGULAR_APP_ROUTES_SERVER_TS',
2425
'ANGULAR_APP_CONFIG_TS',
26+
'ANGULAR_APP_CONFIG_SERVER_TS',
2527
'ANGULAR_JSON'
2628
]
2729
);
@@ -57,24 +59,29 @@ describe('AngularUtilities', () => {
5759

5860
const htmlLines: string[] = await FsUtilities.readFileLines(mockConstants.ANGULAR_APP_COMPONENT_HTML);
5961
expect(htmlLines).toEqual([
60-
'<ngx-mat-navigation-navbar [minHeight]="80" [minSidenavWidth]="\'30%\'" [minHeightOtherElements]="70" [navbarRows]="navbarRows">',
61-
' <router-outlet></router-outlet>',
62+
'<ngx-mat-navigation-navbar [minHeight]="80" [minSidenavWidth]="\'40%\'" [minHeightOtherElements]="150" [navbarRows]="navbarRows">',
63+
' <div class="p-4">',
64+
' <div class="w-full mx-auto" style="max-width: max(80%, 1200px);">',
65+
' <ngx-mat-navigation-breadcrumbs class="-ml-4 inline-block"></ngx-mat-navigation-breadcrumbs>',
66+
' <router-outlet></router-outlet>',
67+
' </div>',
68+
' </div>',
6269
'</ngx-mat-navigation-navbar>',
6370
'',
64-
'<ngx-mat-navigation-footer [minHeight]="70" [footerRows]="footerRows"></ngx-mat-navigation-footer>'
71+
'<ngx-mat-navigation-footer [minHeight]="150" [footerRows]="footerRows"></ngx-mat-navigation-footer>'
6572
]);
6673

6774
const tsLines: string[] = await FsUtilities.readFileLines(mockConstants.ANGULAR_APP_COMPONENT_TS);
6875
expect(tsLines).toEqual([
6976
'import { navbarRows, footerRows } from \'./routes\';',
70-
'import { FooterRow, NavbarRow, NgxMatNavigationFooterComponent, NgxMatNavigationNavbarComponent } from \'ngx-material-navigation\';',
77+
'import { FooterRow, NavbarRow, NgxMatNavigationBreadcrumbsComponent, NgxMatNavigationFooterComponent, NgxMatNavigationNavbarComponent } from \'ngx-material-navigation\';',
7178
'import { Component } from \'@angular/core\';',
7279
'import { RouterOutlet } from \'@angular/router\';',
7380
'',
7481
'@Component({',
7582
' selector: \'app-root\',',
7683
' standalone: true,',
77-
' imports: [RouterOutlet, NgxMatNavigationNavbarComponent, NgxMatNavigationFooterComponent],',
84+
' imports: [RouterOutlet, NgxMatNavigationNavbarComponent, NgxMatNavigationFooterComponent, NgxMatNavigationBreadcrumbsComponent],',
7885
' templateUrl: \'./app.html\',',
7986
' styleUrl: \'./app.css\'',
8087
'})',

0 commit comments

Comments
 (0)