@bluealba/platform-cli 0.2.0
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/dist/index.js +1448 -0
- package/package.json +39 -0
- package/templates/application-data-template/{{applicationName}}/application.json +6 -0
- package/templates/application-data-template/{{applicationName}}/modules.json +1 -0
- package/templates/application-data-template/{{applicationName}}/operations.json +1 -0
- package/templates/application-data-template/{{applicationName}}/roles.json +1 -0
- package/templates/application-monorepo-template/.changeset/config.json +11 -0
- package/templates/application-monorepo-template/.nvmrc +1 -0
- package/templates/application-monorepo-template/.syncpackrc +4 -0
- package/templates/application-monorepo-template/package.json +31 -0
- package/templates/application-monorepo-template/packages-versions.json +1 -0
- package/templates/application-monorepo-template/scripts/preinstall.mjs +57 -0
- package/templates/application-monorepo-template/services/.gitkeep +0 -0
- package/templates/application-monorepo-template/turbo.json +26 -0
- package/templates/application-monorepo-template/ui/.gitkeep +0 -0
- package/templates/bootstrap-service-template/.eslintrc.js +27 -0
- package/templates/bootstrap-service-template/.nvmrc +1 -0
- package/templates/bootstrap-service-template/.prettierrc +4 -0
- package/templates/bootstrap-service-template/Dockerfile +14 -0
- package/templates/bootstrap-service-template/Dockerfile.development +10 -0
- package/templates/bootstrap-service-template/README.md +13 -0
- package/templates/bootstrap-service-template/package.json +38 -0
- package/templates/bootstrap-service-template/src/config.ts +6 -0
- package/templates/bootstrap-service-template/src/data/.gitkeep +0 -0
- package/templates/bootstrap-service-template/src/data/platform/modules-config.json +9 -0
- package/templates/bootstrap-service-template/src/data/platform/modules.json +1 -0
- package/templates/bootstrap-service-template/src/data/shared-libraries.json +14 -0
- package/templates/bootstrap-service-template/src/main.ts +38 -0
- package/templates/bootstrap-service-template/tsconfig.build.json +4 -0
- package/templates/bootstrap-service-template/tsconfig.json +23 -0
- package/templates/customization-ui-module-template/Dockerfile +18 -0
- package/templates/customization-ui-module-template/Dockerfile.development +10 -0
- package/templates/customization-ui-module-template/babel.config.json +36 -0
- package/templates/customization-ui-module-template/caddy/Caddyfile +25 -0
- package/templates/customization-ui-module-template/package.json +59 -0
- package/templates/customization-ui-module-template/src/components/ExpandedNavbarLogo.tsx +62 -0
- package/templates/customization-ui-module-template/src/components/ExtensionPoints/index.tsx +28 -0
- package/templates/customization-ui-module-template/src/components/Logo.tsx +55 -0
- package/templates/customization-ui-module-template/src/components/SplashLogo.tsx +52 -0
- package/templates/customization-ui-module-template/src/declarations.d.ts +41 -0
- package/templates/customization-ui-module-template/src/hooks/useDynamicStyleSheet.ts +18 -0
- package/templates/customization-ui-module-template/src/platform-customization-ui.tsx +16 -0
- package/templates/customization-ui-module-template/src/root.component.tsx +17 -0
- package/templates/customization-ui-module-template/src/styles/base.css +15 -0
- package/templates/customization-ui-module-template/src/styles/index.css +2 -0
- package/templates/customization-ui-module-template/src/styles/platform.css +125 -0
- package/templates/customization-ui-module-template/src/styles/splash.css +7 -0
- package/templates/customization-ui-module-template/tsconfig.json +12 -0
- package/templates/customization-ui-module-template/webpack.config.js +43 -0
- package/templates/nestjs-service-module-template/.env.example +3 -0
- package/templates/nestjs-service-module-template/.eslintrc.js +25 -0
- package/templates/nestjs-service-module-template/.nvmrc +1 -0
- package/templates/nestjs-service-module-template/.prettierrc +4 -0
- package/templates/nestjs-service-module-template/Dockerfile +14 -0
- package/templates/nestjs-service-module-template/Dockerfile.development +12 -0
- package/templates/nestjs-service-module-template/nest-cli.json +8 -0
- package/templates/nestjs-service-module-template/package.json +64 -0
- package/templates/nestjs-service-module-template/src/app.controller.spec.ts +22 -0
- package/templates/nestjs-service-module-template/src/app.controller.ts +12 -0
- package/templates/nestjs-service-module-template/src/app.module.ts +10 -0
- package/templates/nestjs-service-module-template/src/app.service.ts +8 -0
- package/templates/nestjs-service-module-template/src/main.ts +8 -0
- package/templates/nestjs-service-module-template/test/app.e2e-spec.ts +24 -0
- package/templates/nestjs-service-module-template/test/jest-e2e.json +9 -0
- package/templates/nestjs-service-module-template/tsconfig.build.json +4 -0
- package/templates/nestjs-service-module-template/tsconfig.json +21 -0
- package/templates/platform-init-template/core/.changeset/config.json +11 -0
- package/templates/platform-init-template/core/.nvmrc +1 -0
- package/templates/platform-init-template/core/.syncpackrc +4 -0
- package/templates/platform-init-template/core/package.json +69 -0
- package/templates/platform-init-template/core/packages-versions.json +1 -0
- package/templates/platform-init-template/core/scripts/preinstall.mjs +59 -0
- package/templates/platform-init-template/core/services/.gitkeep +0 -0
- package/templates/platform-init-template/core/turbo.json +26 -0
- package/templates/platform-init-template/core/ui/.gitkeep +0 -0
- package/templates/platform-init-template/local/.env.example +18 -0
- package/templates/platform-init-template/local/core-docker-compose.yml +27 -0
- package/templates/platform-init-template/local/docker-compose.yml +3 -0
- package/templates/platform-init-template/local/environment/pae-nestjs-gateway-service.env +34 -0
- package/templates/platform-init-template/local/nginx.conf +69 -0
- package/templates/platform-init-template/local/package.json +18 -0
- package/templates/platform-init-template/local/platform-docker-compose.yml +81 -0
- package/templates/platform-init-template/local/scripts/build.sh +18 -0
- package/templates/platform-init-template/local/scripts/install.sh +18 -0
- package/templates/platform-init-template/local/ssl/cert.pem +21 -0
- package/templates/platform-init-template/local/ssl/key.pem +28 -0
- package/templates/react-ui-module-template/.nvmrc +1 -0
- package/templates/react-ui-module-template/Dockerfile +15 -0
- package/templates/react-ui-module-template/Dockerfile.development +12 -0
- package/templates/react-ui-module-template/Dockerfile_nginx +11 -0
- package/templates/react-ui-module-template/caddy/Caddyfile +21 -0
- package/templates/react-ui-module-template/nginx/default.conf +23 -0
- package/templates/react-ui-module-template/package.json +29 -0
- package/templates/react-ui-module-template/src/Icon.tsx +7 -0
- package/templates/react-ui-module-template/src/components/Icons/BaseIconProps.ts +4 -0
- package/templates/react-ui-module-template/src/components/Icons/HomeTitleIcon.tsx +16 -0
- package/templates/react-ui-module-template/src/components/Icons/InfoContentIcon.tsx +16 -0
- package/templates/react-ui-module-template/src/declarations.d.ts +46 -0
- package/templates/react-ui-module-template/src/hooks/useDebouncedCallback.ts +21 -0
- package/templates/react-ui-module-template/src/main.module.css +10 -0
- package/templates/react-ui-module-template/src/main.tsx +19 -0
- package/templates/react-ui-module-template/src/menu.ts +65 -0
- package/templates/react-ui-module-template/src/root.component.tsx +26 -0
- package/templates/react-ui-module-template/src/services.ts +2 -0
- package/templates/react-ui-module-template/src/views/Home/Home.tsx +30 -0
- package/templates/react-ui-module-template/src/views/Home/index.ts +2 -0
- package/templates/react-ui-module-template/tsconfig.json +30 -0
- package/templates/react-ui-module-template/webpack.config.js +3 -0
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bluealba/platform-cli",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Blue Alba Platform CLI",
|
|
5
|
+
"license": "PolyForm-Noncommercial-1.0.0",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"platform": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"templates"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsup",
|
|
16
|
+
"dev": "tsup --watch",
|
|
17
|
+
"start": "node dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"chalk": "^5.3.0",
|
|
21
|
+
"fzf": "^0.5.2",
|
|
22
|
+
"ink": "^6.0.0",
|
|
23
|
+
"ink-text-input": "^6.0.0",
|
|
24
|
+
"react": "^19.0.0",
|
|
25
|
+
"undici": "^7.24.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "^25.5.0",
|
|
29
|
+
"@types/react": "^19.0.0",
|
|
30
|
+
"tsup": "^8.0.0",
|
|
31
|
+
"typescript": "^5.0.0"
|
|
32
|
+
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=18"
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
|
|
3
|
+
"changelog": "@changesets/cli/changelog",
|
|
4
|
+
"commit": false,
|
|
5
|
+
"fixed": [],
|
|
6
|
+
"linked": [],
|
|
7
|
+
"access": "restricted",
|
|
8
|
+
"baseBranch": "main",
|
|
9
|
+
"updateInternalDependencies": "patch",
|
|
10
|
+
"ignore": []
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
22
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@{{organizationName}}/{{platformName}}-{{applicationName}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"preinstall": "node ./scripts/preinstall.mjs",
|
|
7
|
+
"dev": "turbo run dev",
|
|
8
|
+
"build": "turbo run build",
|
|
9
|
+
"test": "turbo run test",
|
|
10
|
+
"lint": "turbo run lint",
|
|
11
|
+
"changeset": "changeset",
|
|
12
|
+
"check-deps": "syncpack list-mismatches",
|
|
13
|
+
"fix-deps": "syncpack fix-mismatches"
|
|
14
|
+
},
|
|
15
|
+
"packageManager": "npm@10.8.2",
|
|
16
|
+
"keywords": [],
|
|
17
|
+
"author": "",
|
|
18
|
+
"license": "ISC",
|
|
19
|
+
"description": "",
|
|
20
|
+
"workspaces": [
|
|
21
|
+
"core/*",
|
|
22
|
+
"services/*",
|
|
23
|
+
"ui/*"
|
|
24
|
+
],
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@changesets/cli": "^2.27.12",
|
|
27
|
+
"syncpack": "^13.0.3",
|
|
28
|
+
"turbo": "^2.3.6",
|
|
29
|
+
"typescript": "5.8.3"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
|
|
4
|
+
const PACKAGES_DIR = './core';
|
|
5
|
+
const BIN_PACKAGES = [];
|
|
6
|
+
|
|
7
|
+
(async function main() {
|
|
8
|
+
console.log('Pre Installing packages...');
|
|
9
|
+
for (const pkg of BIN_PACKAGES) {
|
|
10
|
+
if (packageExists(pkg)) {
|
|
11
|
+
console.log(`Installing ${pkg}...`);
|
|
12
|
+
await installPackage(pkg);
|
|
13
|
+
await buildPackage(pkg);
|
|
14
|
+
await installPackage(pkg);
|
|
15
|
+
} else {
|
|
16
|
+
console.warn(`Package directory for ${pkg} does not exist. Skipping...`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
console.log('Packages installed.');
|
|
20
|
+
})();
|
|
21
|
+
|
|
22
|
+
function packageExists(pkg) {
|
|
23
|
+
console.log(`looking for ${PACKAGES_DIR}/${pkg}`);
|
|
24
|
+
return existsSync(`${PACKAGES_DIR}/${pkg}`);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async function installPackage(pkg) {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
exec(`npm install --prefer-offline --no-audit --no-fund --ignore-scripts`, {
|
|
30
|
+
cwd: `${PACKAGES_DIR}/${pkg}`,
|
|
31
|
+
}, (error, stdout, stderr) => {
|
|
32
|
+
if (error) {
|
|
33
|
+
console.error(`Failed to install ${pkg}: ${stderr}`);
|
|
34
|
+
reject(new Error(`Failed to install ${pkg}`));
|
|
35
|
+
} else {
|
|
36
|
+
console.log(stdout);
|
|
37
|
+
resolve();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async function buildPackage(pkg) {
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
exec(`npm run build`, {
|
|
46
|
+
cwd: `${PACKAGES_DIR}/${pkg}`,
|
|
47
|
+
}, (error, stdout, stderr) => {
|
|
48
|
+
if (error) {
|
|
49
|
+
console.error(`Failed to build ${pkg}: ${stderr}`);
|
|
50
|
+
reject(new Error(`Failed to build ${pkg}`));
|
|
51
|
+
} else {
|
|
52
|
+
console.log(stdout);
|
|
53
|
+
resolve();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://turbo.build/schema.json",
|
|
3
|
+
"tasks": {
|
|
4
|
+
"build": {
|
|
5
|
+
"dependsOn": [
|
|
6
|
+
"^build"
|
|
7
|
+
],
|
|
8
|
+
"outputs": [
|
|
9
|
+
"dist/**"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"dev": {
|
|
13
|
+
"cache": false,
|
|
14
|
+
"persistent": true
|
|
15
|
+
},
|
|
16
|
+
"test": {
|
|
17
|
+
"dependsOn": [
|
|
18
|
+
"build"
|
|
19
|
+
],
|
|
20
|
+
"outputs": []
|
|
21
|
+
},
|
|
22
|
+
"lint": {
|
|
23
|
+
"outputs": []
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
parser: '@typescript-eslint/parser',
|
|
3
|
+
parserOptions: {
|
|
4
|
+
project: 'tsconfig.json',
|
|
5
|
+
tsconfigRootDir: __dirname,
|
|
6
|
+
sourceType: 'module',
|
|
7
|
+
},
|
|
8
|
+
plugins: ['@typescript-eslint/eslint-plugin'],
|
|
9
|
+
extends: [
|
|
10
|
+
'plugin:@typescript-eslint/recommended',
|
|
11
|
+
'semistandard',
|
|
12
|
+
],
|
|
13
|
+
root: true,
|
|
14
|
+
env: {
|
|
15
|
+
node: true,
|
|
16
|
+
jest: true,
|
|
17
|
+
},
|
|
18
|
+
ignorePatterns: ['.eslintrc.js'],
|
|
19
|
+
rules: {
|
|
20
|
+
'@typescript-eslint/interface-name-prefix': 'off',
|
|
21
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
22
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
23
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
24
|
+
'no-useless-constructor': 0,
|
|
25
|
+
'no-unused-vars': 0,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
20.11
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# {{bootstrapName}}-bootstrap-service
|
|
2
|
+
|
|
3
|
+
A service that defines the {{platformTitle}} elements such as modules, operations, roles, etc.
|
|
4
|
+
|
|
5
|
+
# Usage
|
|
6
|
+
|
|
7
|
+
Just define your entities in the `src/data` folder according to the following.
|
|
8
|
+
Then when this service starts/restarts it will synchronize this data against PAE orchestrator:
|
|
9
|
+
- newly detected libraries will be ADDED
|
|
10
|
+
- those that are not in the json anymore will be REMOVED
|
|
11
|
+
- those that are in both places, and only if they have any difference will be UPDATED
|
|
12
|
+
|
|
13
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@{{organizationName}}/{{bootstrapName}}-bootstrap-service",
|
|
3
|
+
"displayName": "{{platformTitle}} Bootstrap Service",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"private": true,
|
|
6
|
+
"scripts": {
|
|
7
|
+
"copy-data": "copyfiles -u src/data/* src/data/**/* dist/",
|
|
8
|
+
"build": "tsc; npm run copy-data",
|
|
9
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
10
|
+
"start": "node dist/main.js",
|
|
11
|
+
"start:dev": "nodemon src/main.ts",
|
|
12
|
+
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
|
|
13
|
+
"lint:fix": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@bluealba/pae-bootstrap-lib": "3.0.0",
|
|
17
|
+
"@bluealba/pae-core": "5.2.0",
|
|
18
|
+
"copyfiles": "^2.4.1",
|
|
19
|
+
"express": "^4.21.2"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/express": "^5.0.0",
|
|
23
|
+
"@types/node": "20.14.5",
|
|
24
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
25
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
26
|
+
"eslint": "^8.42.0",
|
|
27
|
+
"eslint-config-semistandard": "17.0.0",
|
|
28
|
+
"nodemon": "^3.1.7",
|
|
29
|
+
"source-map-support": "^0.5.21",
|
|
30
|
+
"ts-loader": "^9.5.2",
|
|
31
|
+
"ts-node": "^10.9.2",
|
|
32
|
+
"tsconfig-paths": "^4.2.0",
|
|
33
|
+
"typescript": "5.8.3"
|
|
34
|
+
},
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=20"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "styled-components",
|
|
4
|
+
"url": "https://unpkg.com/styled-components@6.1.13/dist/styled-components.min.js"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"name": "react",
|
|
8
|
+
"url": "https://unpkg.com/react@18.2.0/umd/react.development.js"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "react-dom",
|
|
12
|
+
"url": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.development.js"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { bootstrapPlatform } from '@bluealba/pae-bootstrap-lib';
|
|
4
|
+
|
|
5
|
+
import config from './config';
|
|
6
|
+
|
|
7
|
+
const createApp = async (): Promise<express.Application> => {
|
|
8
|
+
const app = express();
|
|
9
|
+
app.get('/health', (_req, res) => {
|
|
10
|
+
res.send({ healthy: 'ok' });
|
|
11
|
+
});
|
|
12
|
+
return app;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const serviceAccessName = process.env.SERVICE_ACCESS_NAME;
|
|
16
|
+
if (!serviceAccessName) {
|
|
17
|
+
console.error('No SERVICE_ACCESS_NAME env variable set !');
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// fire it up
|
|
22
|
+
createApp().then(app => {
|
|
23
|
+
app.listen(config.port, () => {
|
|
24
|
+
console.log('Server listening on Port', config.port);
|
|
25
|
+
console.log(`Waiting ${config.waitTime} before synchronizing ...`);
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
bootstrapPlatform({
|
|
28
|
+
path: join(process.cwd(), 'src', 'data'),
|
|
29
|
+
scopedTo: serviceAccessName
|
|
30
|
+
})
|
|
31
|
+
.then(() => console.log('\n\n\n\n>\n> Platform Successfully Synchronized !!!\n>'))
|
|
32
|
+
.catch(e => {
|
|
33
|
+
console.error('\n\n\n\n>\n> Error Synchronizing Platform !!!\n>', e);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
});
|
|
36
|
+
}, config.waitTime);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "commonjs",
|
|
4
|
+
"declaration": true,
|
|
5
|
+
"removeComments": true,
|
|
6
|
+
"emitDecoratorMetadata": true,
|
|
7
|
+
"experimentalDecorators": true,
|
|
8
|
+
"allowSyntheticDefaultImports": true,
|
|
9
|
+
"target": "ES2021",
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"outDir": "./dist",
|
|
12
|
+
"baseUrl": "./",
|
|
13
|
+
"incremental": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"strictNullChecks": true,
|
|
16
|
+
"noImplicitAny": true,
|
|
17
|
+
"strictBindCallApply": true,
|
|
18
|
+
"forceConsistentCasingInFileNames": true,
|
|
19
|
+
"noFallthroughCasesInSwitch": true,
|
|
20
|
+
"resolveJsonModule": true,
|
|
21
|
+
"esModuleInterop": true
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
FROM caddy:alpine
|
|
2
|
+
|
|
3
|
+
WORKDIR /usr/share/caddy/
|
|
4
|
+
|
|
5
|
+
ARG NAME
|
|
6
|
+
ENV NAME=$NAME
|
|
7
|
+
|
|
8
|
+
ARG DISPLAY_NAME
|
|
9
|
+
ENV DISPLAY_NAME=$DISPLAY_NAME
|
|
10
|
+
|
|
11
|
+
COPY ./ui/platform-customization-ui/caddy/Caddyfile /etc/caddy/Caddyfile
|
|
12
|
+
COPY ./ui/platform-customization-ui/assets /usr/share/caddy/assets/
|
|
13
|
+
COPY ./ui/platform-customization-ui/dist /usr/share/caddy/
|
|
14
|
+
COPY ./ui/platform-customization-ui/CHANGELOG.md /usr/share/caddy/CHANGELOG.md
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
EXPOSE 8080
|
|
18
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"presets": [
|
|
3
|
+
"@babel/preset-env",
|
|
4
|
+
[
|
|
5
|
+
"@babel/preset-react",
|
|
6
|
+
{
|
|
7
|
+
"runtime": "automatic"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"@babel/preset-typescript"
|
|
11
|
+
],
|
|
12
|
+
"plugins": [
|
|
13
|
+
[
|
|
14
|
+
"@babel/plugin-transform-runtime",
|
|
15
|
+
{
|
|
16
|
+
"useESModules": true,
|
|
17
|
+
"regenerator": false
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
],
|
|
21
|
+
"env": {
|
|
22
|
+
"test": {
|
|
23
|
+
"presets": [
|
|
24
|
+
[
|
|
25
|
+
"@babel/preset-env",
|
|
26
|
+
{
|
|
27
|
+
"targets": "current node"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"development": {
|
|
33
|
+
"plugins": [["babel-plugin-styled-components"]]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
:8080 {
|
|
2
|
+
root * /usr/share/caddy/
|
|
3
|
+
encode gzip
|
|
4
|
+
file_server {
|
|
5
|
+
hide .git
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
log {
|
|
9
|
+
output stdout
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
header {
|
|
13
|
+
?Cache-Control "no-cache, must-revalidate, proxy-revalidate, max-age=0"
|
|
14
|
+
?Pragma "no-cache"
|
|
15
|
+
?Expires "0"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
respond /health 200
|
|
19
|
+
|
|
20
|
+
rewrite /changelog /CHANGELOG.md
|
|
21
|
+
|
|
22
|
+
handle_path /version {
|
|
23
|
+
respond `{"version": "{$VERSION}", "name": "{$NAME}", "displayName": "{$DISPLAY_NAME}"}`
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@{{organizationName}}/platform-customization-ui",
|
|
3
|
+
"displayName": "Platform Customization UI",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"main": "./distLib/platform-customization-ui.js",
|
|
6
|
+
"types": "./distLib/platform-customization-ui.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"distLib"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "pae-ui-sdk start",
|
|
12
|
+
"start:dev": "pae-ui-sdk start --dev",
|
|
13
|
+
"build": "pae-ui-sdk build",
|
|
14
|
+
"lint": "pae-ui-sdk lint",
|
|
15
|
+
"lint:fix": "pa-ui-sdk lint --fix",
|
|
16
|
+
"test": "cross-env BABEL_ENV=test jest --passWithNoTests",
|
|
17
|
+
"watch-tests": "cross-env BABEL_ENV=test jest --watch",
|
|
18
|
+
"coverage": "cross-env BABEL_ENV=test jest --coverage"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@bluealba/pae-ui-react-sdk": "1.0.2",
|
|
22
|
+
"@babel/core": "^7.23.3",
|
|
23
|
+
"@babel/plugin-transform-runtime": "^7.23.3",
|
|
24
|
+
"@babel/preset-env": "^7.23.3",
|
|
25
|
+
"@babel/preset-react": "^7.23.3",
|
|
26
|
+
"@babel/preset-typescript": "^7.23.3",
|
|
27
|
+
"@babel/runtime": "^7.23.3",
|
|
28
|
+
"@testing-library/jest-dom": "^5.17.0",
|
|
29
|
+
"@testing-library/react": "^16.0.0",
|
|
30
|
+
"@types/node": "^22.19.1",
|
|
31
|
+
"@types/react": "^18.3.3",
|
|
32
|
+
"@types/react-dom": "^18.3.0",
|
|
33
|
+
"@types/jest": "^27.0.1",
|
|
34
|
+
"@types/webpack-env": "^1.16.2",
|
|
35
|
+
"babel-jest": "^27.5.1",
|
|
36
|
+
"babel-plugin-styled-components": "^2.1.4",
|
|
37
|
+
"cross-env": "^7.0.3",
|
|
38
|
+
"jest": "^27.5.1",
|
|
39
|
+
"jest-cli": "^27.5.1",
|
|
40
|
+
"ts-config-single-spa": "^3.0.0",
|
|
41
|
+
"webpack": "^5.89.0",
|
|
42
|
+
"webpack-cli": "^5.1.4",
|
|
43
|
+
"webpack-config-single-spa-react": "^4.0.0",
|
|
44
|
+
"webpack-config-single-spa-react-ts": "^4.0.0",
|
|
45
|
+
"webpack-config-single-spa-ts": "^4.0.0",
|
|
46
|
+
"webpack-dev-server": "^5.0.4",
|
|
47
|
+
"webpack-merge": "^5.8.0"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@bluealba/pae-ui-react-core": "4.3.0",
|
|
51
|
+
"css-loader": "^7.1.2",
|
|
52
|
+
"react": "^18.3.1",
|
|
53
|
+
"react-dom": "^18.3.1",
|
|
54
|
+
"zustand": "^4.5.2"
|
|
55
|
+
},
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": ">=20"
|
|
58
|
+
}
|
|
59
|
+
}
|