@genesislcap/blank-app-seed 3.27.0 → 3.27.1
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/.genx/package.json +1 -1
- package/.genx/versions.json +3 -3
- package/CHANGELOG.md +7 -0
- package/client-tmp/angular/README.md +35 -4
- package/client-tmp/angular/angular.json +0 -12
- package/client-tmp/angular/globals.d.ts +1 -1
- package/client-tmp/angular/karma.conf.js +9 -0
- package/client-tmp/angular/lint-css.js +18 -0
- package/client-tmp/angular/package.json +42 -5
- package/client-tmp/angular/playwright.config.ts +21 -0
- package/client-tmp/angular/src/app/share/foundation-login.ts +2 -2
- package/client-tmp/angular/src/environments/environment.prod.ts +4 -2
- package/client-tmp/angular/src/environments/environment.ts +5 -3
- package/client-tmp/angular/src/styles/styles.css +1 -0
- package/client-tmp/angular/test/e2e/fixture.ts +25 -0
- package/client-tmp/angular/test/e2e/flows/001-protected.e2e.ts +6 -0
- package/client-tmp/angular/test/e2e/index.ts +2 -0
- package/client-tmp/angular/test/e2e/pages/index.ts +1 -0
- package/client-tmp/angular/test/e2e/pages/protected.ts +16 -0
- package/client-tmp/angular/tsconfig.app.json +1 -1
- package/client-tmp/angular/tsconfig.json +1 -1
- package/package.json +1 -1
- package/server/build.gradle.kts +2 -2
package/.genx/package.json
CHANGED
package/.genx/versions.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.27.1](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.27.0...v3.27.1) (2024-07-26)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#292) 33cf11d
|
|
9
|
+
|
|
3
10
|
## [3.27.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.26.0...v3.27.0) (2024-07-25)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
|
|
1
2
|
# {{capitalCase appName}}
|
|
2
3
|
|
|
3
4
|
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) v18 (18.0.4).
|
|
4
5
|
|
|
5
6
|
## Development server
|
|
6
7
|
|
|
7
|
-
Run `
|
|
8
|
+
Run `npm run dev` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
|
|
8
9
|
|
|
9
10
|
## Code scaffolding
|
|
10
11
|
|
|
@@ -12,15 +13,45 @@ Run `ng generate component component-name` to generate a new component. You can
|
|
|
12
13
|
|
|
13
14
|
## Build
|
|
14
15
|
|
|
15
|
-
Run `
|
|
16
|
+
Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
16
17
|
|
|
17
18
|
## Running unit tests
|
|
18
19
|
|
|
19
|
-
Run `
|
|
20
|
+
Run `npm run test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
20
21
|
|
|
21
22
|
## Running end-to-end tests
|
|
22
23
|
|
|
23
|
-
Run `
|
|
24
|
+
Run `npm run test:e2e` to execute the end-to-end tests via a platform of your choice.
|
|
25
|
+
|
|
26
|
+
## Linting
|
|
27
|
+
|
|
28
|
+
Run `npm run lint` to lint the project.
|
|
29
|
+
|
|
30
|
+
## NPM Scripts
|
|
31
|
+
|
|
32
|
+
- `npm run baseline`: Cleans the project and installs dependencies.
|
|
33
|
+
- `npm run bootstrap`: Installs dependencies without auditing or funding checks.
|
|
34
|
+
- `npm run bootstrap:ci`: Installs dependencies in CI environment without auditing or funding checks.
|
|
35
|
+
- `npm run build`: Builds the project in production configuration.
|
|
36
|
+
- `npm run build:stats`: Builds the project and generates a stats JSON file.
|
|
37
|
+
- `npm run clean`: Cleans the `dist` and `node_modules` directories.
|
|
38
|
+
- `npm run dev`: Serves the project in development mode.
|
|
39
|
+
- `npm run dev:docker`: Serves the project in development mode, accessible from any network interface.
|
|
40
|
+
- `npm run dev:no-open`: Serves the project in development mode without automatically opening the browser.
|
|
41
|
+
- `npm run dev:intellij`: Serves the project in development mode (specific for IntelliJ).
|
|
42
|
+
- `npm run dev:https`: Serves the project in development mode with HTTPS.
|
|
43
|
+
- `npm run dev:webpack`: Serves the project in development mode (specific for webpack configuration).
|
|
44
|
+
- `npm run dsconfig`: Configures design system based on `src/styles/design-tokens.json`.
|
|
45
|
+
- `npm run lint`: Lints the project using the specified profile.
|
|
46
|
+
- `npm run lint:fix`: Fixes linting errors in the project.
|
|
47
|
+
- `npm run lint:eslint`: Lints the project using ESLint and the specified profile.
|
|
48
|
+
- `npm run lint:stylelint`: Lints CSS using a custom script.
|
|
49
|
+
- `npm run test`: Runs unit tests.
|
|
50
|
+
- `npm run test:e2e`: Runs end-to-end tests.
|
|
51
|
+
- `npm run test:e2e:debug`: Runs end-to-end tests in debug mode.
|
|
52
|
+
- `npm run test:e2e:ui`: Runs end-to-end tests in interactive mode.
|
|
53
|
+
- `npm run test:coverage`: Runs unit tests and generates a code coverage report.
|
|
54
|
+
- `npm run test:unit:watch`: Runs unit tests in watch mode.
|
|
24
55
|
|
|
25
56
|
## Further help
|
|
26
57
|
|
|
@@ -49,18 +49,6 @@
|
|
|
49
49
|
"with": "src/environments/environment.prod.ts"
|
|
50
50
|
}
|
|
51
51
|
],
|
|
52
|
-
"budgets": [
|
|
53
|
-
{
|
|
54
|
-
"type": "initial",
|
|
55
|
-
"maximumWarning": "500kb",
|
|
56
|
-
"maximumError": "1mb"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"type": "anyComponentStyle",
|
|
60
|
-
"maximumWarning": "2kb",
|
|
61
|
-
"maximumError": "4kb"
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
52
|
"outputHashing": "all"
|
|
65
53
|
},
|
|
66
54
|
"development": {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const { execSync } = require('child_process');
|
|
2
|
+
const glob = require('glob');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const cssFiles = glob.sync(path.join(__dirname, '**/*.css'));
|
|
5
|
+
|
|
6
|
+
if (cssFiles.length === 0) {
|
|
7
|
+
console.log('No CSS files found.');
|
|
8
|
+
process.exit(0);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const command = `genx lint -l stylelint ${cssFiles.join(' ')}`;
|
|
12
|
+
|
|
13
|
+
try {
|
|
14
|
+
execSync(command, { stdio: 'inherit' });
|
|
15
|
+
} catch (error) {
|
|
16
|
+
console.error('Error running stylelint:', error);
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
@@ -4,19 +4,54 @@
|
|
|
4
4
|
"version": "{{applicationVersionWeb}}",
|
|
5
5
|
"private": true,
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
|
+
"genx": {
|
|
8
|
+
"app": {
|
|
9
|
+
"rootElement": "{{rootElement}}"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
7
12
|
"scripts": {
|
|
8
|
-
"
|
|
13
|
+
"baseline": "npm run clean && npm run bootstrap",
|
|
9
14
|
"bootstrap": "npm install --no-fund --no-audit",
|
|
10
|
-
"
|
|
15
|
+
"bootstrap:ci": "npm ci --no-fund --no-audit",
|
|
11
16
|
"build": "ng build --configuration=production",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
17
|
+
"build:stats": "npm run build --stats-json",
|
|
18
|
+
"clean": "genx clean dist node_modules",
|
|
19
|
+
"dev": "ng serve --configuration=development --open",
|
|
20
|
+
"dev:docker": "npm run dev -- --host 0.0.0.0",
|
|
21
|
+
"dev:no-open": "npm run dev -- --no-open",
|
|
22
|
+
"dev:intellij": "npm run dev",
|
|
23
|
+
"dev:https": "npm run dev -- --https",
|
|
24
|
+
"dev:webpack": "npm run dev",
|
|
25
|
+
"dsconfig": "dsconfig --path src/styles/design-tokens.json",
|
|
26
|
+
"lint": "genx lint --profile",
|
|
27
|
+
"lint:fix": "genx lint --fix",
|
|
28
|
+
"lint:eslint": "genx lint -l eslint --profile",
|
|
29
|
+
"lint:stylelint": "node lint-css.js",
|
|
30
|
+
"test": "ng test",
|
|
31
|
+
"test:e2e": "genx test --e2e",
|
|
32
|
+
"test:e2e:debug": "genx test --e2e --debug",
|
|
33
|
+
"test:e2e:ui": "genx test --e2e --interactive",
|
|
34
|
+
"test:coverage": "ng test --no-watch --code-coverage",
|
|
35
|
+
"test:unit:watch": "ng test --watch"
|
|
36
|
+
},
|
|
37
|
+
"eslintConfig": {
|
|
38
|
+
"extends": "@genesislcap/eslint-config",
|
|
39
|
+
"ignorePatterns": ["**/dist/**", "**/public/**", "**/coverage/**", "**/test/**", "playwright.config.ts"]
|
|
40
|
+
},
|
|
41
|
+
"stylelint": {
|
|
42
|
+
"extends": "@genesislcap/stylelint-config"
|
|
14
43
|
},
|
|
44
|
+
"prettier": "@genesislcap/prettier-config",
|
|
15
45
|
"devDependencies": {
|
|
16
46
|
"@angular-builders/custom-webpack": "^18.0.0",
|
|
17
47
|
"@angular-devkit/build-angular": "^18.0.4",
|
|
18
48
|
"@angular/cli": "^18.0.4",
|
|
19
49
|
"@angular/compiler-cli": "^18.0.4",
|
|
50
|
+
"@genesislcap/design-system-configurator": "{{versions.UI}}",
|
|
51
|
+
"@genesislcap/eslint-config": "{{versions.UI}}",
|
|
52
|
+
"@genesislcap/prettier-config": "{{versions.UI}}",
|
|
53
|
+
"@genesislcap/foundation-testing": "{{versions.UI}}",
|
|
54
|
+
"@genesislcap/genx": "{{versions.UI}}",
|
|
20
55
|
"@genesislcap/build-kit": "{{versions.UI}}",
|
|
21
56
|
"@types/jasmine": "~5.1.0",
|
|
22
57
|
"@types/numeral": "^2.0.5",
|
|
@@ -29,7 +64,9 @@
|
|
|
29
64
|
"karma-jasmine-html-reporter": "~2.1.0",
|
|
30
65
|
"svg-url-loader": "^8.0.0",
|
|
31
66
|
"typescript": "~5.4.5",
|
|
32
|
-
"ts-node": "10.9.2"
|
|
67
|
+
"ts-node": "10.9.2",
|
|
68
|
+
"dotenv": "16.4.5",
|
|
69
|
+
"@types/node": "20.14.11"
|
|
33
70
|
},
|
|
34
71
|
"dependencies": {
|
|
35
72
|
"@angular/animations": "^18.0.4",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { configDefaults } from '@genesislcap/foundation-testing/e2e';
|
|
2
|
+
import { environment } from './src/environments/environment';
|
|
3
|
+
import * as dotenv from 'dotenv';
|
|
4
|
+
|
|
5
|
+
dotenv.config();
|
|
6
|
+
|
|
7
|
+
const PROTOCOL = process.env['PROTOCOL'] || environment.PROTOCOL || 'http';
|
|
8
|
+
const HOST = process.env['HOST'] || environment.HOST || 'localhost';
|
|
9
|
+
const PORT = process.env['PORT'] || environment.PORT || 4200;
|
|
10
|
+
|
|
11
|
+
export default {
|
|
12
|
+
...configDefaults,
|
|
13
|
+
webServer: {
|
|
14
|
+
...configDefaults.webServer,
|
|
15
|
+
url: `${PROTOCOL}://${HOST}:${PORT}`,
|
|
16
|
+
},
|
|
17
|
+
use: {
|
|
18
|
+
...configDefaults.use,
|
|
19
|
+
baseURL: `${PROTOCOL}://${HOST}:${PORT}`,
|
|
20
|
+
}
|
|
21
|
+
};
|
|
@@ -6,10 +6,10 @@ import { DI } from '@microsoft/fast-foundation';
|
|
|
6
6
|
import logo from '../../assets/logo.svg';
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line
|
|
9
|
-
declare var
|
|
9
|
+
declare var ENABLE_SSO: boolean;
|
|
10
10
|
|
|
11
11
|
const ssoSettings =
|
|
12
|
-
typeof
|
|
12
|
+
typeof ENABLE_SSO !== 'undefined' && ENABLE_SSO === true
|
|
13
13
|
? {
|
|
14
14
|
autoAuth: true,
|
|
15
15
|
sso: {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { base, Page } from '@genesislcap/foundation-testing/e2e';
|
|
2
|
+
import { ProtectedPage } from './pages';
|
|
3
|
+
import { environment } from '../../src/environments/environment'
|
|
4
|
+
|
|
5
|
+
export type FixtureConfig = {
|
|
6
|
+
API_HOST: string;
|
|
7
|
+
DEFAULT_USER: string;
|
|
8
|
+
DEFAULT_PASSWORD: string;
|
|
9
|
+
PORT: number;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type Fixture = {
|
|
13
|
+
config: FixtureConfig;
|
|
14
|
+
protectedPage: ProtectedPage;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const { PORT, API_HOST } = environment;
|
|
18
|
+
export const test = base.extend<Fixture>({
|
|
19
|
+
config: [{ PORT, API_HOST, DEFAULT_PASSWORD: '', DEFAULT_USER: '' }, { option: true }],
|
|
20
|
+
protectedPage: async ({ config, page }: { config: FixtureConfig, page: Page }, use: any) => {
|
|
21
|
+
const protectedPage = new ProtectedPage(config, page);
|
|
22
|
+
await protectedPage.goto();
|
|
23
|
+
await use(protectedPage);
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './protected';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Page } from '@genesislcap/foundation-testing/e2e';
|
|
2
|
+
import type { FixtureConfig } from '../fixture';
|
|
3
|
+
|
|
4
|
+
export class ProtectedPage {
|
|
5
|
+
config: FixtureConfig;
|
|
6
|
+
page: Page;
|
|
7
|
+
|
|
8
|
+
constructor(config: FixtureConfig, page: Page) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.page = page;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async goto() {
|
|
14
|
+
await this.page.goto('/');
|
|
15
|
+
}
|
|
16
|
+
}
|
package/package.json
CHANGED
package/server/build.gradle.kts
CHANGED
|
@@ -8,8 +8,8 @@ subprojects {
|
|
|
8
8
|
apply(plugin = "org.gradle.maven-publish")
|
|
9
9
|
|
|
10
10
|
dependencies {
|
|
11
|
-
implementation("com.h2database:h2
|
|
12
|
-
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5
|
|
11
|
+
implementation("com.h2database:h2")
|
|
12
|
+
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5")
|
|
13
13
|
}
|
|
14
14
|
tasks {
|
|
15
15
|
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|