@venizia/ardor 0.3.4 → 0.3.6
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/{vulcan-preset → presets}/app/files/.configs/builders/Dockerfile +12 -3
- package/dist/{vulcan-preset → presets}/app/files/.configs/builders/nginx.conf.template +8 -4
- package/dist/{vulcan-preset → presets}/app/files/.configs/builders/vite.config.mts +4 -3
- package/dist/presets/app/files/.configs/formatters/.ignore +4 -0
- package/dist/presets/app/files/.configs/lints/.ignore +4 -0
- package/dist/presets/app/files/_env.example +8 -0
- package/dist/{vulcan-preset → presets}/app/files/tsconfig.json +0 -2
- package/dist/{vulcan-preset → presets}/app/preset.json +27 -27
- package/dist/presets/lib/files/.configs/formatters/.ignore +4 -0
- package/dist/presets/lib/files/.configs/lints/.ignore +4 -0
- package/dist/{vulcan-preset → presets}/lib/files/tsconfig.json +0 -2
- package/dist/{vulcan-preset → presets}/lib/preset.json +13 -13
- package/package.json +30 -44
- package/dist/vulcan-preset/app/files/_env.example +0 -1
- /package/dist/{vulcan-preset → presets}/app/files/.configs/formatters/oxfmt.config.mts +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/.configs/lints/eslint.config.mjs +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/.configs/lints/oxlint.config.mts +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/application.test.ts +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/application.ts +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/components/shadcn/button.tsx +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/components/shadcn/card.tsx +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/configurations/admin.configuration.ts +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/index.html +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/main.tsx +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/pages/home.tsx +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/themes/index.css +0 -0
- /package/dist/{vulcan-preset → presets}/app/files/src/utilities/tw.utility.ts +0 -0
- /package/dist/{vulcan-preset → presets}/lib/files/.configs/formatters/oxfmt.config.mts +0 -0
- /package/dist/{vulcan-preset → presets}/lib/files/.configs/lints/eslint.config.mjs +0 -0
- /package/dist/{vulcan-preset → presets}/lib/files/.configs/lints/oxlint.config.mts +0 -0
- /package/dist/{vulcan-preset → presets}/lib/files/src/feature.test.ts +0 -0
- /package/dist/{vulcan-preset → presets}/lib/files/src/feature.ts +0 -0
- /package/dist/{vulcan-preset → presets}/lib/files/src/index.ts +0 -0
|
@@ -37,11 +37,16 @@ RUN bun install --frozen-lockfile --ignore-scripts
|
|
|
37
37
|
FROM deps AS builder
|
|
38
38
|
|
|
39
39
|
# The image has no .git (the .dockerignore drops it), so the commit comes in as a build argument. A build
|
|
40
|
-
# without
|
|
40
|
+
# without a commit sha stops here: an image must always say which commit it runs. Before a first commit
|
|
41
|
+
# `git rev-parse HEAD` prints the word HEAD, which is not a sha either.
|
|
41
42
|
ARG APP_BUILD_COMMIT=
|
|
42
43
|
ARG APP_BUILD_BRANCH=
|
|
43
44
|
ARG APP_BUILD_VERSION=
|
|
44
|
-
RUN
|
|
45
|
+
RUN case "$APP_BUILD_COMMIT" in \
|
|
46
|
+
'' | *[!0-9a-f]* | ? | ?? | ??? | ???? | ????? | ??????) \
|
|
47
|
+
echo "Pass --build-arg APP_BUILD_COMMIT=\$(git rev-parse HEAD) after a first commit; got: $APP_BUILD_COMMIT" >&2; \
|
|
48
|
+
exit 1 ;; \
|
|
49
|
+
esac
|
|
45
50
|
|
|
46
51
|
WORKDIR /home/bun/app/{{appPath}}
|
|
47
52
|
RUN bun run compile
|
|
@@ -59,9 +64,13 @@ LABEL org.opencontainers.image.revision="${APP_BUILD_COMMIT}"
|
|
|
59
64
|
COPY --from=builder /home/bun/app/{{appPath}}/.configs/builders/nginx.conf.template /etc/nginx/templates/default.conf.template
|
|
60
65
|
COPY --from=builder --chown=101:101 /home/bun/app/{{appPath}}/dist /usr/share/nginx/html
|
|
61
66
|
|
|
62
|
-
# Where /api goes: a compose service name, a cluster service, an address.
|
|
67
|
+
# Where /api goes: a compose service name, a cluster service, an address (an origin, with no path).
|
|
63
68
|
ENV API_UPSTREAM=http://api:3000
|
|
64
69
|
|
|
70
|
+
# The base image reads the DNS servers of /etc/resolv.conf into ${NGINX_LOCAL_RESOLVERS}, which the template
|
|
71
|
+
# gives to `resolver`: nginx looks the upstream up per request, so the container starts without it.
|
|
72
|
+
ENV NGINX_ENTRYPOINT_LOCAL_RESOLVERS=1
|
|
73
|
+
|
|
65
74
|
# No ENTRYPOINT on purpose: the base image's /docker-entrypoint.sh renders the templates.
|
|
66
75
|
EXPOSE 8080
|
|
67
76
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# The nginx configuration of {{app}}, rendered by the base image at start: ${API_UPSTREAM}
|
|
2
|
-
#
|
|
1
|
+
# The nginx configuration of {{app}}, rendered by the base image at start: ${API_UPSTREAM} and
|
|
2
|
+
# ${NGINX_LOCAL_RESOLVERS} are the variables replaced; $uri and $host are nginx's own.
|
|
3
3
|
server {
|
|
4
4
|
listen 8080;
|
|
5
5
|
server_name _;
|
|
@@ -7,9 +7,13 @@ server {
|
|
|
7
7
|
root /usr/share/nginx/html;
|
|
8
8
|
index index.html;
|
|
9
9
|
|
|
10
|
-
# The backend. The path is kept: /api/hello reaches ${API_UPSTREAM}/api/hello.
|
|
10
|
+
# The backend. The path is kept: /api/hello reaches ${API_UPSTREAM}/api/hello. The upstream is a
|
|
11
|
+
# variable that a resolver looks up per request, so nginx starts when the host does not resolve yet
|
|
12
|
+
# and only /api answers 502 until it does.
|
|
11
13
|
location /api/ {
|
|
12
|
-
|
|
14
|
+
resolver ${NGINX_LOCAL_RESOLVERS} valid=10s ipv6=off;
|
|
15
|
+
set $api_upstream ${API_UPSTREAM};
|
|
16
|
+
proxy_pass $api_upstream;
|
|
13
17
|
proxy_http_version 1.1;
|
|
14
18
|
proxy_set_header Host $host;
|
|
15
19
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
@@ -5,8 +5,9 @@ import { defineConfig, loadEnv } from 'vite';
|
|
|
5
5
|
|
|
6
6
|
export default defineConfig(({ mode }) => {
|
|
7
7
|
const env = loadEnv(mode, '.', '');
|
|
8
|
-
// The backend app `vulcan add --api` chose; empty when there is none, and
|
|
9
|
-
|
|
8
|
+
// The backend app `vulcan add --api` chose, unless .env sets API_URL; empty when there is none, and
|
|
9
|
+
// then nothing is proxied.
|
|
10
|
+
const apiUrl: string = env.API_URL || '{{apiUrl}}';
|
|
10
11
|
const proxy: Record<string, string> = apiUrl === '' ? {} : { '/api': apiUrl };
|
|
11
12
|
|
|
12
13
|
return {
|
|
@@ -17,7 +18,7 @@ export default defineConfig(({ mode }) => {
|
|
|
17
18
|
// Builds the class list of src/ into the bundle, so a decorated class is bound without being imported.
|
|
18
19
|
plugins: [IgnisArtifactsVitePlugin.create({ root: 'src' }), react(), tailwindcss()],
|
|
19
20
|
server: {
|
|
20
|
-
port: Number(env.PORT
|
|
21
|
+
port: Number(env.PORT || '{{devPort}}'),
|
|
21
22
|
strictPort: true,
|
|
22
23
|
proxy,
|
|
23
24
|
},
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Copy to .env for a local run: bun loads it on start. Never commit .env.
|
|
2
|
+
# Every key is optional; an empty value falls back to the framework default.
|
|
3
|
+
|
|
4
|
+
# The port of the dev server (`bun run server:dev`).
|
|
5
|
+
PORT={{devPort}}
|
|
6
|
+
|
|
7
|
+
# The backend the dev server forwards /api to. Empty: the one chosen when the app was added (none, if it had no backend).
|
|
8
|
+
API_URL={{apiUrl}}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
"$schema": "http://json.schemastore.org/tsconfig",
|
|
3
3
|
"extends": "@venizia/dev-configs/tsconfig.react.json",
|
|
4
4
|
"compilerOptions": {
|
|
5
|
-
"target": "ESNext",
|
|
6
|
-
"lib": ["ESNext", "DOM", "DOM.Iterable"],
|
|
7
5
|
"types": ["vite/client", "bun"],
|
|
8
6
|
"noEmit": true,
|
|
9
7
|
"isolatedModules": true,
|
|
@@ -11,48 +11,48 @@
|
|
|
11
11
|
"/"
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@reduxjs/toolkit": "^2.
|
|
15
|
-
"@tanstack/react-query": "^5.
|
|
16
|
-
"@venizia/ardor": "0.3.
|
|
17
|
-
"@venizia/ignis-connectors": "0.3.
|
|
18
|
-
"@venizia/ignis-filter": "0.3.
|
|
19
|
-
"@venizia/ignis-helpers": "0.3.
|
|
20
|
-
"@venizia/ignis-inversion": "0.3.
|
|
21
|
-
"@venizia/ignis-kernel": "0.3.
|
|
14
|
+
"@reduxjs/toolkit": "^2.13.0",
|
|
15
|
+
"@tanstack/react-query": "^5.104.5",
|
|
16
|
+
"@venizia/ardor": "0.3.6",
|
|
17
|
+
"@venizia/ignis-connectors": "0.3.6",
|
|
18
|
+
"@venizia/ignis-filter": "0.3.6",
|
|
19
|
+
"@venizia/ignis-helpers": "0.3.6",
|
|
20
|
+
"@venizia/ignis-inversion": "0.3.7",
|
|
21
|
+
"@venizia/ignis-kernel": "0.3.6",
|
|
22
22
|
"class-variance-authority": "^0.7.1",
|
|
23
23
|
"clsx": "^2.1.1",
|
|
24
|
-
"ra-core": "^5.15.
|
|
25
|
-
"ra-i18n-polyglot": "^5.15.
|
|
26
|
-
"react": "^19.
|
|
27
|
-
"react-dom": "^19.
|
|
24
|
+
"ra-core": "^5.15.5",
|
|
25
|
+
"ra-i18n-polyglot": "^5.15.5",
|
|
26
|
+
"react": "^19.3.1",
|
|
27
|
+
"react-dom": "^19.3.1",
|
|
28
28
|
"react-redux": "^9.3.0",
|
|
29
|
-
"react-router-dom": "^7.
|
|
29
|
+
"react-router-dom": "^7.18.4",
|
|
30
30
|
"reflect-metadata": "^0.2.2",
|
|
31
31
|
"tailwind-merge": "^3.7.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@tailwindcss/vite": "^4.3.3",
|
|
35
|
-
"@types/bun": "^1.4.
|
|
35
|
+
"@types/bun": "^1.4.3",
|
|
36
36
|
"@types/react": "^19",
|
|
37
37
|
"@types/react-dom": "^19",
|
|
38
|
-
"@venizia/dev-configs": "0.3.
|
|
39
|
-
"@venizia/ignis-boot": "0.3.
|
|
40
|
-
"@vitejs/plugin-react": "^6.1.
|
|
41
|
-
"eslint": "^10.
|
|
42
|
-
"oxfmt": "0.
|
|
43
|
-
"oxlint": "1.
|
|
38
|
+
"@venizia/dev-configs": "0.3.6",
|
|
39
|
+
"@venizia/ignis-boot": "0.3.6",
|
|
40
|
+
"@vitejs/plugin-react": "^6.1.2",
|
|
41
|
+
"eslint": "^10.13.0",
|
|
42
|
+
"oxfmt": "0.74.0",
|
|
43
|
+
"oxlint": "1.89.0",
|
|
44
44
|
"oxlint-tsgolint": "7.0.2004",
|
|
45
45
|
"tailwindcss": "^4.3.3",
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
|
-
"vite": "^8.
|
|
47
|
+
"vite": "^8.3.5"
|
|
48
48
|
},
|
|
49
49
|
"peers": {
|
|
50
|
-
"@venizia/dev-configs": "^0.3.
|
|
51
|
-
"@venizia/ignis-connectors": "^0.3.
|
|
52
|
-
"@venizia/ignis-filter": "^0.3.
|
|
53
|
-
"@venizia/ignis-helpers": "^0.3.
|
|
54
|
-
"@venizia/ignis-inversion": "^0.3.
|
|
55
|
-
"@venizia/ignis-kernel": "^0.3.
|
|
50
|
+
"@venizia/dev-configs": "^0.3.6",
|
|
51
|
+
"@venizia/ignis-connectors": "^0.3.6",
|
|
52
|
+
"@venizia/ignis-filter": "^0.3.6",
|
|
53
|
+
"@venizia/ignis-helpers": "^0.3.6",
|
|
54
|
+
"@venizia/ignis-inversion": "^0.3.7",
|
|
55
|
+
"@venizia/ignis-kernel": "^0.3.6"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"server:dev": "vite --config .configs/builders/vite.config.mts",
|
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
"summary": "An ARDOR feature package: one Features.define, a test that mounts it in a probe application, typecheck, lint and test. No bundler and no dev server.",
|
|
4
4
|
"dependencies": {},
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"@types/bun": "^1.4.
|
|
6
|
+
"@types/bun": "^1.4.3",
|
|
7
7
|
"@types/react": "^19",
|
|
8
|
-
"@venizia/ardor": "^0.3.
|
|
9
|
-
"@venizia/dev-configs": "0.3.
|
|
10
|
-
"eslint": "^10.
|
|
11
|
-
"oxfmt": "0.
|
|
12
|
-
"oxlint": "1.
|
|
8
|
+
"@venizia/ardor": "^0.3.6",
|
|
9
|
+
"@venizia/dev-configs": "0.3.6",
|
|
10
|
+
"eslint": "^10.13.0",
|
|
11
|
+
"oxfmt": "0.74.0",
|
|
12
|
+
"oxlint": "1.89.0",
|
|
13
13
|
"oxlint-tsgolint": "7.0.2004",
|
|
14
|
-
"react": "^19.
|
|
15
|
-
"react-dom": "^19.
|
|
16
|
-
"react-router-dom": "^7.
|
|
14
|
+
"react": "^19.3.1",
|
|
15
|
+
"react-dom": "^19.3.1",
|
|
16
|
+
"react-router-dom": "^7.18.4",
|
|
17
17
|
"reflect-metadata": "^0.2.2",
|
|
18
18
|
"typescript": "^6.0.3"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
|
-
"@venizia/ardor": "^0.3.
|
|
22
|
-
"react": "^19.
|
|
23
|
-
"react-dom": "^19.
|
|
24
|
-
"react-router-dom": "^7.
|
|
21
|
+
"@venizia/ardor": "^0.3.6",
|
|
22
|
+
"react": "^19.3.1",
|
|
23
|
+
"react-dom": "^19.3.1",
|
|
24
|
+
"react-router-dom": "^7.18.4",
|
|
25
25
|
"reflect-metadata": "^0.2.2"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ardor",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "ARDOR - frontend application framework for the VENIZIA family. One entry point over ardor-kernel, ardor-react and ardor-admin: IGNIS inversion of control, a REST data layer, auth and i18n providers, and the React bindings for a react-admin application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ardor",
|
|
@@ -59,8 +59,10 @@
|
|
|
59
59
|
},
|
|
60
60
|
"sideEffects": false,
|
|
61
61
|
"vulcan": {
|
|
62
|
-
"
|
|
63
|
-
|
|
62
|
+
"presets": {
|
|
63
|
+
"app": "./dist/presets/app/preset.json",
|
|
64
|
+
"lib": "./dist/presets/lib/preset.json"
|
|
65
|
+
}
|
|
64
66
|
},
|
|
65
67
|
"files": [
|
|
66
68
|
"README.md",
|
|
@@ -73,30 +75,30 @@
|
|
|
73
75
|
"access": "public"
|
|
74
76
|
},
|
|
75
77
|
"scripts": {
|
|
76
|
-
"force-update": "sh
|
|
78
|
+
"force-update": "sh ../../scripts/force-update.sh",
|
|
77
79
|
"prepublishOnly": "make rebuild"
|
|
78
80
|
},
|
|
79
81
|
"dependencies": {
|
|
80
|
-
"@venizia/ardor-admin": "0.3.
|
|
81
|
-
"@venizia/ardor-kernel": "0.3.
|
|
82
|
-
"@venizia/ardor-react": "0.3.
|
|
82
|
+
"@venizia/ardor-admin": "0.3.6",
|
|
83
|
+
"@venizia/ardor-kernel": "0.3.6",
|
|
84
|
+
"@venizia/ardor-react": "0.3.6"
|
|
83
85
|
},
|
|
84
86
|
"peerDependencies": {
|
|
85
|
-
"@reduxjs/toolkit": ">=2.
|
|
86
|
-
"@tanstack/react-query": ">=5.
|
|
87
|
-
"@venizia/ignis-connectors": "^0.3.
|
|
88
|
-
"@venizia/ignis-filter": "^0.3.
|
|
89
|
-
"@venizia/ignis-helpers": "^0.3.
|
|
90
|
-
"@venizia/ignis-inversion": "^0.3.
|
|
91
|
-
"@venizia/ignis-kernel": "^0.3.
|
|
92
|
-
"ra-core": ">=5.15.
|
|
93
|
-
"ra-i18n-polyglot": ">=5.15.
|
|
94
|
-
"react": ">=
|
|
95
|
-
"react-dom": ">=
|
|
87
|
+
"@reduxjs/toolkit": ">=2.13.0",
|
|
88
|
+
"@tanstack/react-query": ">=5.104.5",
|
|
89
|
+
"@venizia/ignis-connectors": "^0.3.6",
|
|
90
|
+
"@venizia/ignis-filter": "^0.3.6",
|
|
91
|
+
"@venizia/ignis-helpers": "^0.3.6",
|
|
92
|
+
"@venizia/ignis-inversion": "^0.3.7",
|
|
93
|
+
"@venizia/ignis-kernel": "^0.3.6",
|
|
94
|
+
"ra-core": ">=5.15.5",
|
|
95
|
+
"ra-i18n-polyglot": ">=5.15.5",
|
|
96
|
+
"react": ">=19.3.1",
|
|
97
|
+
"react-dom": ">=19.3.1",
|
|
96
98
|
"react-redux": ">=9.3.0",
|
|
97
|
-
"react-router-dom": ">=7.
|
|
99
|
+
"react-router-dom": ">=7.18.4",
|
|
98
100
|
"reflect-metadata": ">=0.2.2",
|
|
99
|
-
"socket.io-client": ">=4.8.
|
|
101
|
+
"socket.io-client": ">=4.8.4"
|
|
100
102
|
},
|
|
101
103
|
"peerDependenciesMeta": {
|
|
102
104
|
"@venizia/ignis-connectors": {
|
|
@@ -107,30 +109,14 @@
|
|
|
107
109
|
}
|
|
108
110
|
},
|
|
109
111
|
"devDependencies": {
|
|
110
|
-
"@
|
|
111
|
-
"@
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"@types/react-dom": "^19",
|
|
116
|
-
"@venizia/dev-configs": "^0.3.4",
|
|
117
|
-
"@venizia/ignis-connectors": "^0.3.4",
|
|
118
|
-
"@venizia/ignis-filter": "^0.3.4",
|
|
119
|
-
"@venizia/ignis-inversion": "^0.3.5",
|
|
120
|
-
"@venizia/ignis-kernel": "^0.3.4",
|
|
121
|
-
"eslint": "^10.10.0",
|
|
122
|
-
"oxfmt": "0.73.0",
|
|
123
|
-
"oxlint": "1.88.0",
|
|
112
|
+
"@size-limit/preset-small-lib": "^14.2.0",
|
|
113
|
+
"@venizia/dev-configs": "^0.3.6",
|
|
114
|
+
"eslint": "^10.13.0",
|
|
115
|
+
"oxfmt": "0.74.0",
|
|
116
|
+
"oxlint": "1.89.0",
|
|
124
117
|
"oxlint-tsgolint": "7.0.2004",
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"react-dom": "^19.2.7",
|
|
128
|
-
"react-redux": "^9.3.0",
|
|
129
|
-
"react-router-dom": "^7.9.4",
|
|
130
|
-
"reflect-metadata": "^0.2.2",
|
|
131
|
-
"size-limit": "^11.2.0",
|
|
132
|
-
"socket.io-client": "^4.8.3",
|
|
133
|
-
"tsc-alias": "^1.8.16",
|
|
118
|
+
"size-limit": "^14.2.0",
|
|
119
|
+
"tsc-alias": "~1.8.17",
|
|
134
120
|
"typescript": "^6.0.3"
|
|
135
121
|
},
|
|
136
122
|
"size-limit": [
|
|
@@ -152,7 +138,7 @@
|
|
|
152
138
|
"react-router-dom",
|
|
153
139
|
"reflect-metadata"
|
|
154
140
|
],
|
|
155
|
-
"limit": "
|
|
141
|
+
"limit": "350 B"
|
|
156
142
|
}
|
|
157
143
|
]
|
|
158
144
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
PORT={{devPort}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|