Enable auth-service/api-gateway on production, build their images in CI

This commit is contained in:
2026-08-18 14:11:00 +07:00
parent e5afedfa2f
commit b68005be1c
70 changed files with 6781 additions and 263 deletions
+34
View File
@@ -0,0 +1,34 @@
/** Shared ESLint base for the NestJS services (`auth-service`, `api-gateway`
* today). Legacy `.eslintrc` format, not flat config — matches
* `apps/web/.eslintrc.json`'s ESLint 8 era rather than introducing a second
* config format into the repo.
*
* Consuming package.json needs its own `eslint`, `@typescript-eslint/parser`,
* `@typescript-eslint/eslint-plugin` devDependencies — pnpm's non-hoisted
* node_modules means a shared config can't lend its own plugin resolution to
* a package that doesn't declare the plugin itself.
*
* Referenced from each service's `.eslintrc.json` as a relative file path
* (`"extends": "../../packages/config/eslint-preset/index.js"`), not as
* `"@duoc-thu/config/eslint-preset"` — tried that first, and ESLint 8's
* legacy shareable-config resolution only auto-resolves package names
* shaped like `eslint-config-*` / `@scope/eslint-config[-*]`, not an
* arbitrary subpath of an arbitrarily-named package. Confirmed live: the
* package-name form failed with "couldn't find the config", the relative
* path did not. */
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
env: { node: true, jest: true },
parserOptions: { sourceType: "module", ecmaVersion: 2022 },
rules: {
// NestJS constructor-injection params are conventionally unused by name
// (e.g. `constructor(private readonly foo: Foo)`); flag genuinely unused
// locals/imports without flagging that idiom.
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
"@typescript-eslint/no-explicit-any": "warn",
},
ignorePatterns: ["dist", "node_modules"],
};
+6 -1
View File
@@ -1,5 +1,10 @@
{
"name": "@duoc-thu/config",
"private": true,
"version": "0.0.0"
"version": "0.0.0",
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"eslint": "^8.57.0"
}
}