@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.
Files changed (108) hide show
  1. package/dist/index.js +1448 -0
  2. package/package.json +39 -0
  3. package/templates/application-data-template/{{applicationName}}/application.json +6 -0
  4. package/templates/application-data-template/{{applicationName}}/modules.json +1 -0
  5. package/templates/application-data-template/{{applicationName}}/operations.json +1 -0
  6. package/templates/application-data-template/{{applicationName}}/roles.json +1 -0
  7. package/templates/application-monorepo-template/.changeset/config.json +11 -0
  8. package/templates/application-monorepo-template/.nvmrc +1 -0
  9. package/templates/application-monorepo-template/.syncpackrc +4 -0
  10. package/templates/application-monorepo-template/package.json +31 -0
  11. package/templates/application-monorepo-template/packages-versions.json +1 -0
  12. package/templates/application-monorepo-template/scripts/preinstall.mjs +57 -0
  13. package/templates/application-monorepo-template/services/.gitkeep +0 -0
  14. package/templates/application-monorepo-template/turbo.json +26 -0
  15. package/templates/application-monorepo-template/ui/.gitkeep +0 -0
  16. package/templates/bootstrap-service-template/.eslintrc.js +27 -0
  17. package/templates/bootstrap-service-template/.nvmrc +1 -0
  18. package/templates/bootstrap-service-template/.prettierrc +4 -0
  19. package/templates/bootstrap-service-template/Dockerfile +14 -0
  20. package/templates/bootstrap-service-template/Dockerfile.development +10 -0
  21. package/templates/bootstrap-service-template/README.md +13 -0
  22. package/templates/bootstrap-service-template/package.json +38 -0
  23. package/templates/bootstrap-service-template/src/config.ts +6 -0
  24. package/templates/bootstrap-service-template/src/data/.gitkeep +0 -0
  25. package/templates/bootstrap-service-template/src/data/platform/modules-config.json +9 -0
  26. package/templates/bootstrap-service-template/src/data/platform/modules.json +1 -0
  27. package/templates/bootstrap-service-template/src/data/shared-libraries.json +14 -0
  28. package/templates/bootstrap-service-template/src/main.ts +38 -0
  29. package/templates/bootstrap-service-template/tsconfig.build.json +4 -0
  30. package/templates/bootstrap-service-template/tsconfig.json +23 -0
  31. package/templates/customization-ui-module-template/Dockerfile +18 -0
  32. package/templates/customization-ui-module-template/Dockerfile.development +10 -0
  33. package/templates/customization-ui-module-template/babel.config.json +36 -0
  34. package/templates/customization-ui-module-template/caddy/Caddyfile +25 -0
  35. package/templates/customization-ui-module-template/package.json +59 -0
  36. package/templates/customization-ui-module-template/src/components/ExpandedNavbarLogo.tsx +62 -0
  37. package/templates/customization-ui-module-template/src/components/ExtensionPoints/index.tsx +28 -0
  38. package/templates/customization-ui-module-template/src/components/Logo.tsx +55 -0
  39. package/templates/customization-ui-module-template/src/components/SplashLogo.tsx +52 -0
  40. package/templates/customization-ui-module-template/src/declarations.d.ts +41 -0
  41. package/templates/customization-ui-module-template/src/hooks/useDynamicStyleSheet.ts +18 -0
  42. package/templates/customization-ui-module-template/src/platform-customization-ui.tsx +16 -0
  43. package/templates/customization-ui-module-template/src/root.component.tsx +17 -0
  44. package/templates/customization-ui-module-template/src/styles/base.css +15 -0
  45. package/templates/customization-ui-module-template/src/styles/index.css +2 -0
  46. package/templates/customization-ui-module-template/src/styles/platform.css +125 -0
  47. package/templates/customization-ui-module-template/src/styles/splash.css +7 -0
  48. package/templates/customization-ui-module-template/tsconfig.json +12 -0
  49. package/templates/customization-ui-module-template/webpack.config.js +43 -0
  50. package/templates/nestjs-service-module-template/.env.example +3 -0
  51. package/templates/nestjs-service-module-template/.eslintrc.js +25 -0
  52. package/templates/nestjs-service-module-template/.nvmrc +1 -0
  53. package/templates/nestjs-service-module-template/.prettierrc +4 -0
  54. package/templates/nestjs-service-module-template/Dockerfile +14 -0
  55. package/templates/nestjs-service-module-template/Dockerfile.development +12 -0
  56. package/templates/nestjs-service-module-template/nest-cli.json +8 -0
  57. package/templates/nestjs-service-module-template/package.json +64 -0
  58. package/templates/nestjs-service-module-template/src/app.controller.spec.ts +22 -0
  59. package/templates/nestjs-service-module-template/src/app.controller.ts +12 -0
  60. package/templates/nestjs-service-module-template/src/app.module.ts +10 -0
  61. package/templates/nestjs-service-module-template/src/app.service.ts +8 -0
  62. package/templates/nestjs-service-module-template/src/main.ts +8 -0
  63. package/templates/nestjs-service-module-template/test/app.e2e-spec.ts +24 -0
  64. package/templates/nestjs-service-module-template/test/jest-e2e.json +9 -0
  65. package/templates/nestjs-service-module-template/tsconfig.build.json +4 -0
  66. package/templates/nestjs-service-module-template/tsconfig.json +21 -0
  67. package/templates/platform-init-template/core/.changeset/config.json +11 -0
  68. package/templates/platform-init-template/core/.nvmrc +1 -0
  69. package/templates/platform-init-template/core/.syncpackrc +4 -0
  70. package/templates/platform-init-template/core/package.json +69 -0
  71. package/templates/platform-init-template/core/packages-versions.json +1 -0
  72. package/templates/platform-init-template/core/scripts/preinstall.mjs +59 -0
  73. package/templates/platform-init-template/core/services/.gitkeep +0 -0
  74. package/templates/platform-init-template/core/turbo.json +26 -0
  75. package/templates/platform-init-template/core/ui/.gitkeep +0 -0
  76. package/templates/platform-init-template/local/.env.example +18 -0
  77. package/templates/platform-init-template/local/core-docker-compose.yml +27 -0
  78. package/templates/platform-init-template/local/docker-compose.yml +3 -0
  79. package/templates/platform-init-template/local/environment/pae-nestjs-gateway-service.env +34 -0
  80. package/templates/platform-init-template/local/nginx.conf +69 -0
  81. package/templates/platform-init-template/local/package.json +18 -0
  82. package/templates/platform-init-template/local/platform-docker-compose.yml +81 -0
  83. package/templates/platform-init-template/local/scripts/build.sh +18 -0
  84. package/templates/platform-init-template/local/scripts/install.sh +18 -0
  85. package/templates/platform-init-template/local/ssl/cert.pem +21 -0
  86. package/templates/platform-init-template/local/ssl/key.pem +28 -0
  87. package/templates/react-ui-module-template/.nvmrc +1 -0
  88. package/templates/react-ui-module-template/Dockerfile +15 -0
  89. package/templates/react-ui-module-template/Dockerfile.development +12 -0
  90. package/templates/react-ui-module-template/Dockerfile_nginx +11 -0
  91. package/templates/react-ui-module-template/caddy/Caddyfile +21 -0
  92. package/templates/react-ui-module-template/nginx/default.conf +23 -0
  93. package/templates/react-ui-module-template/package.json +29 -0
  94. package/templates/react-ui-module-template/src/Icon.tsx +7 -0
  95. package/templates/react-ui-module-template/src/components/Icons/BaseIconProps.ts +4 -0
  96. package/templates/react-ui-module-template/src/components/Icons/HomeTitleIcon.tsx +16 -0
  97. package/templates/react-ui-module-template/src/components/Icons/InfoContentIcon.tsx +16 -0
  98. package/templates/react-ui-module-template/src/declarations.d.ts +46 -0
  99. package/templates/react-ui-module-template/src/hooks/useDebouncedCallback.ts +21 -0
  100. package/templates/react-ui-module-template/src/main.module.css +10 -0
  101. package/templates/react-ui-module-template/src/main.tsx +19 -0
  102. package/templates/react-ui-module-template/src/menu.ts +65 -0
  103. package/templates/react-ui-module-template/src/root.component.tsx +26 -0
  104. package/templates/react-ui-module-template/src/services.ts +2 -0
  105. package/templates/react-ui-module-template/src/views/Home/Home.tsx +30 -0
  106. package/templates/react-ui-module-template/src/views/Home/index.ts +2 -0
  107. package/templates/react-ui-module-template/tsconfig.json +30 -0
  108. 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,6 @@
1
+ {
2
+ "name": "{{applicationName}}",
3
+ "displayName": "{{applicationDisplayName}}",
4
+ "description": "{{applicationDescription}}",
5
+ "allowedByDefault": true
6
+ }
@@ -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,4 @@
1
+ {
2
+ "version": "1",
3
+ "dependencyTypes": ["!local"]
4
+ }
@@ -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,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
+ }
@@ -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
+ }
@@ -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,4 @@
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "all"
4
+ }
@@ -0,0 +1,14 @@
1
+ FROM node:20-alpine3.22
2
+
3
+ ENV NODE_ENV=production
4
+ ENV PORT=3000
5
+
6
+ RUN apk -U upgrade --no-cache
7
+
8
+ WORKDIR /app/out/{{bootstrapName}}-bootstrap-service
9
+
10
+ COPY ./out/ /app/out
11
+
12
+ EXPOSE 3000
13
+
14
+ CMD ["npm", "run", "start"]
@@ -0,0 +1,10 @@
1
+ FROM node:20.11-alpine as development
2
+
3
+ ENV NODE_ENV=development
4
+ ENV PORT=80
5
+
6
+ WORKDIR /app/out/{{bootstrapServiceDir}}/{{bootstrapName}}-bootstrap-service
7
+
8
+ EXPOSE 80
9
+
10
+ CMD ["npm", "run", "start:dev"]
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ import { fromEnv } from '@bluealba/pae-core';
2
+
3
+ export default {
4
+ port: parseInt(fromEnv('PORT', '3000')),
5
+ waitTime: parseInt(fromEnv('WAIT_TIME', '0'))
6
+ };
@@ -0,0 +1,9 @@
1
+ [
2
+ {
3
+ "name": "@bluealba/pae-shell-ui",
4
+ "config": {
5
+ "platformName": "{{platformDisplayName}}",
6
+ "canToggleNavbarState": true
7
+ }
8
+ }
9
+ ]
@@ -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,4 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": ["node_modules", "tests", "dist", "**/*spec.ts"]
4
+ }
@@ -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,10 @@
1
+ FROM node:20-alpine as development
2
+
3
+ ENV NODE_ENV=development
4
+ ENV PORT=80
5
+
6
+ WORKDIR /app/out/core/ui/platform-customization-ui
7
+
8
+ EXPOSE 80
9
+
10
+ CMD ["npm", "run", "start:dev"]
@@ -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
+ }