create-nexwire 4.1.2 → 4.2.1

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 (54) hide show
  1. package/express/gitignore-stub +31 -24
  2. package/express/package.json +2 -2
  3. package/express/src/database/migrations/sqlite/meta/0000_snapshot.json +411 -411
  4. package/express/src/database/migrations/sqlite/meta/_journal.json +12 -12
  5. package/express/src/framework/http/router.ts +16 -2
  6. package/express/src/framework/maker-cli/db/index.mjs +1 -1
  7. package/express/src/framework/maker-cli/deploy/core.mjs +0 -1
  8. package/express/src/framework/maker-cli/index.mjs +13 -3
  9. package/express/src/framework/maker-cli/module/core.mjs +121 -43
  10. package/express/src/framework/maker-cli/runtime/core.mjs +26 -7
  11. package/express/src/framework/maker-cli/runtime/index.mjs +120 -104
  12. package/express/src/framework/maker-cli/stubs/controller/openapi.ts.stub +6 -6
  13. package/express/src/framework/maker-cli/stubs/controller/plain.ts.stub +6 -6
  14. package/express/src/framework/maker-cli/stubs/helper/name.ts.stub +1 -1
  15. package/express/src/framework/maker-cli/stubs/seeder/name.ts.stub +17 -19
  16. package/express/src/framework/maker-cli/stubs/seeder/standalone.ts.stub +22 -0
  17. package/express/src/framework/maker-cli/stubs/service/name.plain.ts.stub +2 -2
  18. package/express/src/framework/maker-cli/stubs/service/name.ts.stub +1 -1
  19. package/express/src/framework/maker-cli/utils/help.mjs +374 -50
  20. package/express/src/framework/maker-cli/utils/naming.mjs +83 -20
  21. package/express/src/framework/maker-cli/utils/project-commands.mjs +140 -0
  22. package/express/src/framework/queue/queue.ts +402 -342
  23. package/express/src/modules/auth/database/seeders/role.ts +18 -18
  24. package/express/src/modules/auth/database/seeders/user.ts +35 -35
  25. package/express/vitest.config.ts +38 -23
  26. package/hono/gitignore-stub +31 -24
  27. package/hono/package.json +2 -2
  28. package/hono/src/database/migrations/sqlite/meta/0000_snapshot.json +411 -411
  29. package/hono/src/database/migrations/sqlite/meta/_journal.json +12 -12
  30. package/hono/src/framework/database/paginate.ts +253 -253
  31. package/hono/src/framework/http/router.ts +35 -14
  32. package/hono/src/framework/maker-cli/db/index.mjs +1 -1
  33. package/hono/src/framework/maker-cli/deploy/core.mjs +0 -1
  34. package/hono/src/framework/maker-cli/index.mjs +13 -3
  35. package/hono/src/framework/maker-cli/module/core.mjs +116 -38
  36. package/hono/src/framework/maker-cli/runtime/core.mjs +24 -6
  37. package/hono/src/framework/maker-cli/runtime/index.mjs +120 -104
  38. package/hono/src/framework/maker-cli/stubs/controller/openapi.ts.stub +6 -6
  39. package/hono/src/framework/maker-cli/stubs/controller/plain.ts.stub +6 -6
  40. package/hono/src/framework/maker-cli/stubs/helper/name.ts.stub +1 -1
  41. package/hono/src/framework/maker-cli/stubs/seeder/name.ts.stub +17 -19
  42. package/hono/src/framework/maker-cli/stubs/seeder/standalone.ts.stub +22 -0
  43. package/hono/src/framework/maker-cli/stubs/service/name.plain.ts.stub +2 -2
  44. package/hono/src/framework/maker-cli/stubs/service/name.ts.stub +1 -1
  45. package/hono/src/framework/maker-cli/utils/help.mjs +374 -50
  46. package/hono/src/framework/maker-cli/utils/naming.mjs +83 -20
  47. package/hono/src/framework/maker-cli/utils/project-commands.mjs +140 -0
  48. package/hono/src/framework/queue/queue.ts +402 -342
  49. package/hono/src/modules/auth/database/seeders/role.ts +18 -18
  50. package/hono/src/modules/auth/database/seeders/user.ts +35 -35
  51. package/hono/vitest.config.ts +38 -23
  52. package/package.json +1 -1
  53. package/express/src/framework/maker-cli/stubs/controller/openapi.with-model.ts.stub +0 -73
  54. package/hono/src/framework/maker-cli/stubs/controller/openapi.with-model.ts.stub +0 -69
@@ -1,18 +1,18 @@
1
- import { eq } from "drizzle-orm";
2
- import { db } from "@/framework/facade.js";
3
- import { roles } from "@/modules/auth/database/models/role.js";
4
-
5
- export const table = roles;
6
-
7
- export default async function RoleSeeder() {
8
- const rows = [{ name: "admin" }, { name: "user" }];
9
-
10
- for (const row of rows) {
11
- const existing = await db.query.roles.findFirst({ where: eq(roles.name, row.name) });
12
- if (!existing) {
13
- await db.insert(roles).values({ name: row.name });
14
- }
15
- }
16
-
17
- console.log("Role seeder completed");
18
- }
1
+ import { eq } from "drizzle-orm";
2
+ import { db } from "@/framework/facade.js";
3
+ import { roles } from "@/modules/auth/database/models/role.js";
4
+
5
+ export const table = roles;
6
+
7
+ export default async function RoleSeeder() {
8
+ const rows = [{ name: "admin" }, { name: "user" }];
9
+
10
+ for (const row of rows) {
11
+ const existing = await db.query.roles.findFirst({ where: eq(roles.name, row.name) });
12
+ if (!existing) {
13
+ await db.insert(roles).values({ name: row.name });
14
+ }
15
+ }
16
+
17
+ console.log("Role seeder completed");
18
+ }
@@ -1,35 +1,35 @@
1
- import { eq } from "drizzle-orm";
2
- import { db, password } from "@/framework/facade.js";
3
- import { roles } from "@/modules/auth/database/models/role.js";
4
- import { users } from "@/modules/auth/database/models/user.js";
5
-
6
- export const table = users;
7
-
8
- export default async function UserSeeder() {
9
- const adminRole = await db.query.roles.findFirst({ where: eq(roles.name, "admin") });
10
- const userRole = await db.query.roles.findFirst({ where: eq(roles.name, "user") });
11
-
12
- const rows = [
13
- {
14
- name: "Admin",
15
- email: "admin@example.com",
16
- password: await password.hashPassword("Password@123"),
17
- roleId: adminRole?.id ?? null
18
- },
19
- {
20
- name: "User One",
21
- email: "user1@example.com",
22
- password: await password.hashPassword("Password@123"),
23
- roleId: userRole?.id ?? null
24
- }
25
- ];
26
-
27
- for (const row of rows) {
28
- const existing = await db.query.users.findFirst({ where: eq(users.email, row.email) });
29
- if (!existing) {
30
- await db.insert(users).values(row);
31
- }
32
- }
33
-
34
- console.log("User seeder completed");
35
- }
1
+ import { eq } from "drizzle-orm";
2
+ import { db, password } from "@/framework/facade.js";
3
+ import { roles } from "@/modules/auth/database/models/role.js";
4
+ import { users } from "@/modules/auth/database/models/user.js";
5
+
6
+ export const table = users;
7
+
8
+ export default async function UserSeeder() {
9
+ const adminRole = await db.query.roles.findFirst({ where: eq(roles.name, "admin") });
10
+ const userRole = await db.query.roles.findFirst({ where: eq(roles.name, "user") });
11
+
12
+ const rows = [
13
+ {
14
+ name: "Admin",
15
+ email: "admin@example.com",
16
+ password: await password.hashPassword("Password@123"),
17
+ roleId: adminRole?.id ?? null
18
+ },
19
+ {
20
+ name: "User One",
21
+ email: "user1@example.com",
22
+ password: await password.hashPassword("Password@123"),
23
+ roleId: userRole?.id ?? null
24
+ }
25
+ ];
26
+
27
+ for (const row of rows) {
28
+ const existing = await db.query.users.findFirst({ where: eq(users.email, row.email) });
29
+ if (!existing) {
30
+ await db.insert(users).values(row);
31
+ }
32
+ }
33
+
34
+ console.log("User seeder completed");
35
+ }
@@ -1,23 +1,38 @@
1
- import path from "node:path";
2
- import { fileURLToPath } from "node:url";
3
- import { defineConfig } from "vitest/config";
4
-
5
- export default defineConfig({
6
- resolve: {
7
- alias: {
8
- "@": fileURLToPath(new URL("./src", import.meta.url))
9
- }
10
- },
11
- test: {
12
- globals: true,
13
- include: ["src/**/*.test.ts", "src/**/*.spec.ts"],
14
- exclude: ["src/resources/**", "src/storage/**", "node_modules/**", "dist/**"],
15
- environment: "node",
16
- coverage: {
17
- provider: "v8",
18
- reporter: ["text", "json", "html"],
19
- include: ["src/**/*.ts"],
20
- exclude: ["src/resources/**", "src/storage/**", "src/framework/maker-cli/**", "src/**/*.d.ts", "src/**/*.test.ts", "src/**/*.spec.ts"]
21
- }
22
- }
23
- });
1
+ import { fileURLToPath } from "node:url";
2
+ import { defineConfig } from "vitest/config";
3
+
4
+ export default defineConfig({
5
+ resolve: {
6
+ alias: {
7
+ "@": fileURLToPath(new URL("./src", import.meta.url))
8
+ }
9
+ },
10
+ test: {
11
+ globals: true,
12
+ include: ["src/**/*.test.ts", "src/**/*.spec.ts"],
13
+ exclude: ["src/resources/**", "src/storage/**", "node_modules/**", "dist/**"],
14
+ environment: "node",
15
+ coverage: {
16
+ provider: "v8",
17
+ reporter: ["text", "json", "html"],
18
+ include: ["src/**/*.ts"],
19
+ exclude: ["src/resources/**", "src/storage/**", "src/framework/maker-cli/**", "src/**/*.d.ts", "src/**/*.test.ts", "src/**/*.spec.ts"]
20
+ // No `thresholds` here on purpose.
21
+ //
22
+ // This file is published inside the package, so any floor written here also
23
+ // becomes every scaffolded project's floor - and it would fail them on the
24
+ // first run. A new project ships with only the auth module's tests: the
25
+ // framework's own tests under `src/framework/**/__tests__/` are not
26
+ // published, because they test the framework rather than the application.
27
+ // That measures 8.49% statements, so a floor calibrated for this repository
28
+ // reports a failure for a developer who has done nothing wrong and whose
29
+ // 56 tests all pass.
30
+ //
31
+ // The floor is a guard on this repository, not on yours, so it is passed on
32
+ // the command line when the framework's own suite is run - it is never read
33
+ // from this file. That keeps this file byte-identical across both engines,
34
+ // keeps it free of a number that would be meaningless in someone else's
35
+ // project, and still fails when untested code is added here.
36
+ }
37
+ }
38
+ });
@@ -1,24 +1,31 @@
1
- .env
2
- node_modules/
3
- dist/
4
-
5
- public/*
6
- !public/.gitkeep
7
-
8
- deploy/.env
9
- deploy/server/.env
10
-
11
- *.log
12
- npm-debug.log*
13
- yarn-debug.log*
14
- yarn-error.log*
15
- pnpm-debug.log*
16
-
17
- .DS_Store
18
- Thumbs.db
19
-
20
- # Lock files — regenerated per developer's package manager
21
- bun.lock
22
- package-lock.json
23
- pnpm-lock.yaml
24
- yarn.lock
1
+ .env
2
+ node_modules/
3
+ dist/
4
+
5
+ # Coverage reports - regenerated by `npm run test:coverage`, ~130 HTML files
6
+ coverage/
7
+
8
+ public/*
9
+ !public/.gitkeep
10
+
11
+ deploy/.env
12
+ deploy/server/.env
13
+
14
+ *.log
15
+ npm-debug.log*
16
+ yarn-debug.log*
17
+ yarn-error.log*
18
+ pnpm-debug.log*
19
+
20
+ .DS_Store
21
+ Thumbs.db
22
+
23
+ # Lock files — regenerated per developer's package manager
24
+ # bun.lockb is the binary format used by bun before 1.2; bun.lock is the
25
+ # current text format. Both are ignored, so upgrading bun cannot turn a
26
+ # developer's local install into an untracked file.
27
+ bun.lock
28
+ bun.lockb
29
+ package-lock.json
30
+ pnpm-lock.yaml
31
+ yarn.lock
package/hono/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "test": "vitest",
26
26
  "test:run": "vitest run",
27
27
  "test:ui": "vitest --ui",
28
- "test:coverage": "vitest --coverage"
28
+ "test:coverage": "vitest run --coverage"
29
29
  },
30
30
  "dependencies": {
31
31
  "@aws-sdk/client-s3": "^3.1111.0",
@@ -96,4 +96,4 @@
96
96
  "pnpm": ">=11",
97
97
  "yarn": ">=4"
98
98
  }
99
- }
99
+ }