@venizia/ignis 0.3.5 → 0.3.7

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.
@@ -25,7 +25,12 @@ FROM base AS builder
25
25
  ARG APP_BUILD_COMMIT=
26
26
  ARG APP_BUILD_BRANCH=
27
27
  ARG APP_BUILD_VERSION=
28
- RUN test -n "$APP_BUILD_COMMIT" || { echo "Pass --build-arg APP_BUILD_COMMIT=\$(git rev-parse HEAD)" >&2; exit 1; }
28
+ # A commit is a hex sha of 7 characters or more; the literal HEAD that rev-parse prints before a first commit is not.
29
+ RUN case "$APP_BUILD_COMMIT" in \
30
+ '' | *[!0-9a-f]* | ? | ?? | ??? | ???? | ????? | ??????) \
31
+ echo "Pass --build-arg APP_BUILD_COMMIT=\$(git rev-parse HEAD) after a first commit; got: $APP_BUILD_COMMIT" >&2; \
32
+ exit 1 ;; \
33
+ esac
29
34
 
30
35
  COPY --chown=bun . .
31
36
  # A .env in the context puts its secrets in the layer above: refuse the build and name the files.
@@ -0,0 +1,4 @@
1
+ # Paths oxfmt skips: one gitignore-style pattern per line, relative to this app.
2
+ # `devz lint` passes each line on as !pattern; lines starting with # are comments.
3
+ # Example: vendored code that keeps its own format.
4
+ # src/vendor/**
@@ -0,0 +1,4 @@
1
+ # Paths oxlint and ESLint skip: one gitignore-style pattern per line, relative to this app.
2
+ # `devz lint` passes each line on as --ignore-pattern; lines starting with # are comments.
3
+ # Example: generated code that is not yours to lint.
4
+ # src/generated/**
@@ -1 +1,23 @@
1
- PORT={{devPort}}
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
+ # Application
5
+ APP_ENV_APPLICATION_NAME={{app}}
6
+ APP_ENV_APPLICATION_TIMEZONE=Asia/Ho_Chi_Minh
7
+
8
+ # Server. PORT, when set, wins over APP_ENV_SERVER_PORT: a container or a cloud host sets it.
9
+ APP_ENV_SERVER_HOST=0.0.0.0
10
+ APP_ENV_SERVER_PORT={{devPort}}
11
+
12
+ # Logger
13
+ # The floor below which no line is written: debug | info | warn | error | emerg.
14
+ APP_ENV_LOGGER_LEVEL=debug
15
+ # text (readable) or json (one object per line, for a log aggregator).
16
+ APP_ENV_LOGGER_FORMAT=text
17
+ # true or false. Empty: on in development, off elsewhere and when NO_COLOR is set.
18
+ APP_ENV_LOGGER_COLOR=
19
+ # A writable folder also writes rotating log files. Empty: the console only.
20
+ APP_ENV_LOGGER_FOLDER_PATH=
21
+ APP_ENV_LOGGER_FILE_FREQUENCY=1h
22
+ APP_ENV_LOGGER_FILE_MAX_SIZE=100m
23
+ APP_ENV_LOGGER_FILE_MAX_FILES=5d
@@ -31,8 +31,9 @@ LoggerFactory.use({ provider: WinstonLogger });
31
31
  export const application = new Application({
32
32
  scope: 'Application',
33
33
  config: {
34
- host: '0.0.0.0',
35
- port: Number(process.env.PORT ?? '{{devPort}}'),
34
+ // Explicit config wins over the server's own env lookup, so it reads the same keys: .env.example lists them.
35
+ host: process.env.HOST ?? process.env.APP_ENV_SERVER_HOST ?? '0.0.0.0',
36
+ port: Number(process.env.PORT ?? process.env.APP_ENV_SERVER_PORT ?? '{{devPort}}'),
36
37
  path: { base: '/api', isStrict: false },
37
38
  artifacts: AutoArtifacts,
38
39
  },
@@ -14,9 +14,9 @@
14
14
  "dependencies": {
15
15
  "@hono/zod-openapi": "^1.6.3",
16
16
  "@scalar/hono-api-reference": "^0.11.16",
17
- "@venizia/ignis": "0.3.5",
18
- "@venizia/ignis-boot": "0.3.4",
19
- "@venizia/ignis-helpers": "0.3.4",
17
+ "@venizia/ignis": "0.3.7",
18
+ "@venizia/ignis-boot": "0.3.5",
19
+ "@venizia/ignis-helpers": "0.3.5",
20
20
  "hono": "^4.13.7",
21
21
  "winston": "^3.19.0",
22
22
  "winston-daily-rotate-file": "^5.0.0",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/bun": "^1.4.1",
27
- "@venizia/dev-configs": "0.3.4",
27
+ "@venizia/dev-configs": "0.3.5",
28
28
  "eslint": "^10.10.0",
29
29
  "oxfmt": "0.73.0",
30
30
  "oxlint": "1.88.0",
@@ -0,0 +1,4 @@
1
+ # Paths oxfmt skips: one gitignore-style pattern per line, relative to this app.
2
+ # `devz lint` passes each line on as !pattern; lines starting with # are comments.
3
+ # Example: vendored code that keeps its own format.
4
+ # src/vendor/**
@@ -0,0 +1,4 @@
1
+ # Paths oxlint and ESLint skip: one gitignore-style pattern per line, relative to this app.
2
+ # `devz lint` passes each line on as --ignore-pattern; lines starting with # are comments.
3
+ # Example: generated code that is not yours to lint.
4
+ # src/generated/**
@@ -4,8 +4,8 @@
4
4
  "dependencies": {},
5
5
  "devDependencies": {
6
6
  "@types/bun": "^1.4.1",
7
- "@venizia/dev-configs": "0.3.4",
8
- "@venizia/ignis": "0.3.5",
7
+ "@venizia/dev-configs": "0.3.5",
8
+ "@venizia/ignis": "0.3.7",
9
9
  "eslint": "^10.10.0",
10
10
  "oxfmt": "0.73.0",
11
11
  "oxlint": "1.88.0",
@@ -13,7 +13,7 @@
13
13
  "typescript": "^6.0.3"
14
14
  },
15
15
  "peerDependencies": {
16
- "@venizia/ignis": "0.3.5"
16
+ "@venizia/ignis": "0.3.7"
17
17
  },
18
18
  "scripts": {
19
19
  "typecheck": "bun check",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
5
5
  "keywords": [
6
6
  "access-control",
@@ -199,11 +199,11 @@
199
199
  "prepublishOnly": "make rebuild"
200
200
  },
201
201
  "dependencies": {
202
- "@venizia/ignis-connectors": "0.3.4",
203
- "@venizia/ignis-filter": "0.3.4",
204
- "@venizia/ignis-helpers": "0.3.4",
205
- "@venizia/ignis-inversion": "0.3.5",
206
- "@venizia/ignis-kernel": "0.3.4",
202
+ "@venizia/ignis-connectors": "0.3.5",
203
+ "@venizia/ignis-filter": "0.3.5",
204
+ "@venizia/ignis-helpers": "0.3.5",
205
+ "@venizia/ignis-inversion": "0.3.6",
206
+ "@venizia/ignis-kernel": "0.3.5",
207
207
  "reflect-metadata": "^0.2.2"
208
208
  },
209
209
  "peerDependencies": {
@@ -307,8 +307,8 @@
307
307
  "@types/bun": "^1.4.1",
308
308
  "@types/nodemailer": "^8.0.1",
309
309
  "@types/pg": "^8.23.1",
310
- "@venizia/dev-configs": "0.3.4",
311
- "@venizia/ignis-boot": "0.3.4",
310
+ "@venizia/dev-configs": "0.3.5",
311
+ "@venizia/ignis-boot": "0.3.5",
312
312
  "casbin": "^5.51.1",
313
313
  "eslint": "^10.10.0",
314
314
  "meilisearch": "^0.60.0",