@koalarx/nest-cli 1.2.23 → 1.19.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.
- package/LICENSE +1 -1
- package/README.md +48 -19
- package/commands/new-project/index.js +70 -0
- package/commands/new-project/new-project.js +69 -0
- package/index.js +31 -30707
- package/package.json +12 -33
- package/{code-base → templates}/env/config.txt +0 -2
- package/templates/startup-project/.dockerignore +7 -0
- package/templates/startup-project/.prettierrc.json +9 -0
- package/templates/startup-project/.vscode/launch.json +28 -0
- package/templates/startup-project/.vscode/mcp.json +11 -0
- package/{code-base → templates}/startup-project/.vscode/settings.json +23 -9
- package/templates/startup-project/Dockerfile +49 -0
- package/templates/startup-project/README.md +33 -0
- package/templates/startup-project/bunfig.toml +10 -0
- package/templates/startup-project/eslint.config.mts +85 -0
- package/templates/startup-project/nest-cli.json +35 -0
- package/{code-base → templates}/startup-project/package.json +27 -28
- package/templates/startup-project/prisma/migrations/20250320165043_init/migration.sql +19 -0
- package/{code-base/startup-project/prisma/migrations/20250326220607_init → templates/startup-project/prisma/migrations/20250320171528_aplicando_map_de_tabelas_e_colunas}/migration.sql +16 -13
- package/templates/startup-project/prisma/migrations/20250321190248_incluindo_status_ao_person/migration.sql +2 -0
- package/templates/startup-project/prisma/migrations/20250326185507_incluindo_tabela_de_endereco/migration.sql +19 -0
- package/templates/startup-project/prisma/migrations/20250326195627_aplicando_on_delete_cascade/migration.sql +5 -0
- package/templates/startup-project/prisma/migrations/20250326200821_removendo_ondelete_cascade/migration.sql +5 -0
- package/{code-base → templates}/startup-project/src/application/person/common/persist-person.request.ts +2 -2
- package/{code-base → templates}/startup-project/src/application/person/read/read-person.response.ts +2 -2
- package/{code-base → templates}/startup-project/src/application/person/update/update-person.request.ts +2 -2
- package/{code-base → templates}/startup-project/src/domain/entities/person/person.ts +2 -2
- package/{code-base → templates}/startup-project/src/infra/database/db-transaction-context.ts +0 -1
- package/{code-base → templates}/startup-project/src/test/setup-e2e.ts +7 -2
- package/templates/startup-project/tsconfig.app.json +8 -0
- package/templates/startup-project/tsconfig.build.json +9 -0
- package/{code-base → templates}/startup-project/tsconfig.json +9 -8
- package/templates/startup-project/tsconfig.prisma.json +16 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/code-base/startup-project/.eslintignore +0 -2
- package/code-base/startup-project/.eslintrc.js +0 -20
- package/code-base/startup-project/.swcrc +0 -23
- package/code-base/startup-project/.vscode/launch.json +0 -41
- package/code-base/startup-project/Dockerfile +0 -26
- package/code-base/startup-project/LICENSE +0 -21
- package/code-base/startup-project/README.md +0 -5
- package/code-base/startup-project/nest-cli.json +0 -19
- package/code-base/startup-project/prisma/generated/browser.ts +0 -34
- package/code-base/startup-project/prisma/generated/client.ts +0 -54
- package/code-base/startup-project/prisma/generated/commonInputTypes.ts +0 -172
- package/code-base/startup-project/prisma/generated/enums.ts +0 -15
- package/code-base/startup-project/prisma/generated/internal/class.ts +0 -210
- package/code-base/startup-project/prisma/generated/internal/prismaNamespace.ts +0 -927
- package/code-base/startup-project/prisma/generated/internal/prismaNamespaceBrowser.ts +0 -116
- package/code-base/startup-project/prisma/generated/models/Person.ts +0 -1497
- package/code-base/startup-project/prisma/generated/models/PersonAddress.ts +0 -1265
- package/code-base/startup-project/prisma/generated/models/PersonPhone.ts +0 -1315
- package/code-base/startup-project/prisma/generated/models.ts +0 -14
- package/code-base/startup-project/src/domain/services/.gitkeep +0 -0
- package/code-base/startup-project/src/infra/services/.gitkeep +0 -0
- package/code-base/startup-project/tsconfig.build.json +0 -4
- package/code-base/startup-project/vitest.config.e2e.mts +0 -19
- package/code-base/startup-project/vitest.config.mts +0 -18
- package/commands/new-project/index.ts +0 -34
- package/index.ts +0 -42
- package/utils/copy-folder.ts +0 -25
- /package/{code-base → templates}/gitignore/config.txt +0 -0
- /package/{code-base → templates}/startup-project/.gitattributes +0 -0
- /package/{code-base → templates}/startup-project/.vscode/tasks.json +0 -0
- /package/{code-base → templates}/startup-project/prisma/migrations/migration_lock.toml +0 -0
- /package/{code-base → templates}/startup-project/prisma/schema.prisma +0 -0
- /package/{code-base → templates}/startup-project/prisma.config.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/mapping/mapping.profile.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/mapping/person.mapping.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/create/create-person.handler.spec.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/create/create-person.handler.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/create/create-person.request.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/create/create-person.response.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/create/create-person.validator.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/create-person-job/create-person-job.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/delete/delete-person.handler.spec.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/delete/delete-person.handler.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/delete-inative-job/delete-inactive-job.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/events/inactive-person/inactive-person-event.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/events/inactive-person/inactive-person-handler.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/events/person-event.job.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read/read-person.handler.spec.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read/read-person.handler.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read-many/read-many-person.handler.spec.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read-many/read-many-person.handler.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read-many/read-many-person.request.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read-many/read-many-person.response.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/read-many/read-many.validator.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/update/update-person.handler.spec.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/update/update-person.handler.ts +0 -0
- /package/{code-base → templates}/startup-project/src/application/person/update/update-person.validator.ts +0 -0
- /package/{code-base → templates}/startup-project/src/core/env.ts +0 -0
- /package/{code-base → templates}/startup-project/src/domain/dtos/read-many-person.dto.ts +0 -0
- /package/{code-base → templates}/startup-project/src/domain/entities/person/person-address.ts +0 -0
- /package/{code-base → templates}/startup-project/src/domain/entities/person/person-phone.ts +0 -0
- /package/{code-base → templates}/startup-project/src/domain/repositories/iperson.repository.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/app.module.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/controller.module.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/create-person.controller.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/delete-person.controller.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/person.controller.e2e-spec.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/person.module.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/read-many-person.controller.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/read-person.controller.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/router.config.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/controllers/person/update-person.controller.ts +0 -0
- /package/{code-base → templates}/startup-project/src/host/main.ts +0 -0
- /package/{code-base → templates}/startup-project/src/infra/database/repositories/person.repository.ts +0 -0
- /package/{code-base → templates}/startup-project/src/infra/database/repositories/repositories.module.ts +0 -0
- /package/{code-base → templates}/startup-project/src/infra/infra.module.ts +0 -0
- /package/{code-base → templates}/startup-project/src/test/create-e2e-test-app.ts +0 -0
- /package/{code-base → templates}/startup-project/src/test/create-unit-test-app.ts +0 -0
- /package/{code-base → templates}/startup-project/src/test/mockup/person/create-person-request.mockup.ts +0 -0
- /package/{code-base → templates}/startup-project/src/test/repositories/person.repository.ts +0 -0
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
|
|
3
|
-
/* eslint-disable */
|
|
4
|
-
// biome-ignore-all lint: generated file
|
|
5
|
-
// @ts-nocheck
|
|
6
|
-
/*
|
|
7
|
-
* This is a barrel export file for all models and their related types.
|
|
8
|
-
*
|
|
9
|
-
* 🟢 You can import this file directly.
|
|
10
|
-
*/
|
|
11
|
-
export type * from './models/Person'
|
|
12
|
-
export type * from './models/PersonPhone'
|
|
13
|
-
export type * from './models/PersonAddress'
|
|
14
|
-
export type * from './commonInputTypes'
|
|
File without changes
|
|
File without changes
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import swc from "unplugin-swc";
|
|
2
|
-
import tsConfigPatchs from "vite-tsconfig-paths";
|
|
3
|
-
import { defineConfig } from "vitest/config";
|
|
4
|
-
|
|
5
|
-
export default defineConfig({
|
|
6
|
-
test: {
|
|
7
|
-
globals: true,
|
|
8
|
-
root: "./",
|
|
9
|
-
environment: 'bun',
|
|
10
|
-
include: ["**/*.e2e-spec.ts"],
|
|
11
|
-
setupFiles: ["./src/test/setup-e2e.ts"],
|
|
12
|
-
},
|
|
13
|
-
plugins: [
|
|
14
|
-
tsConfigPatchs(),
|
|
15
|
-
swc.vite({
|
|
16
|
-
module: { type: "es6" },
|
|
17
|
-
})
|
|
18
|
-
],
|
|
19
|
-
});
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import swc from "unplugin-swc";
|
|
2
|
-
import tsConfigPatchs from 'vite-tsconfig-paths'
|
|
3
|
-
import { defineConfig } from 'vitest/config'
|
|
4
|
-
|
|
5
|
-
export default defineConfig({
|
|
6
|
-
test: {
|
|
7
|
-
globals: true,
|
|
8
|
-
root: './',
|
|
9
|
-
environment: 'bun',
|
|
10
|
-
},
|
|
11
|
-
plugins: [
|
|
12
|
-
tsConfigPatchs(),
|
|
13
|
-
swc.vite({
|
|
14
|
-
module: { type: "es6" },
|
|
15
|
-
sourceMaps: true,
|
|
16
|
-
}),
|
|
17
|
-
],
|
|
18
|
-
})
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { copyFolder } from '@/utils/copy-folder'
|
|
2
|
-
import chalk from 'chalk'
|
|
3
|
-
import { execSync } from 'node:child_process'
|
|
4
|
-
import { readFileSync, writeFileSync } from 'node:fs'
|
|
5
|
-
import path from 'node:path'
|
|
6
|
-
import { fileURLToPath } from 'node:url'
|
|
7
|
-
|
|
8
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
9
|
-
const __dirname = path.dirname(__filename)
|
|
10
|
-
|
|
11
|
-
export function newProject(projectName: string) {
|
|
12
|
-
copyFolder(path.join(__dirname, 'code-base/startup-project'), projectName)
|
|
13
|
-
|
|
14
|
-
const packageJson = require(path.join(process.cwd(), projectName, 'package.json'))
|
|
15
|
-
packageJson.name = projectName
|
|
16
|
-
writeFileSync(path.join(process.cwd(), projectName, 'package.json'), JSON.stringify(packageJson, null, 2))
|
|
17
|
-
|
|
18
|
-
let readme = readFileSync(path.join(path.join(process.cwd(), projectName, 'README.md'))).toString()
|
|
19
|
-
readme = readme.replace('[projectName]', projectName)
|
|
20
|
-
writeFileSync(path.join(process.cwd(), projectName, 'README.md'), readme)
|
|
21
|
-
|
|
22
|
-
let env = readFileSync(path.join(path.join(__dirname, 'code-base/env', 'config.txt'))).toString()
|
|
23
|
-
env = env.replace(/\[projectName\]/g, projectName.replace(/-/g, '_'))
|
|
24
|
-
writeFileSync(path.join(process.cwd(), projectName, '.env'), env)
|
|
25
|
-
|
|
26
|
-
const gitIgnore = readFileSync(path.join(path.join(__dirname, 'code-base/gitignore', 'config.txt'))).toString()
|
|
27
|
-
writeFileSync(path.join(process.cwd(), projectName, '.gitignore'), gitIgnore)
|
|
28
|
-
|
|
29
|
-
execSync(`cd ${projectName} && bun install && bunx prisma generate`, {
|
|
30
|
-
stdio: 'inherit',
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
console.log(`${chalk.green('Projeto criado com sucesso!')}`)
|
|
34
|
-
}
|
package/index.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import program from 'commander'
|
|
4
|
-
import inquirer from 'inquirer'
|
|
5
|
-
import { newProject } from './commands/new-project'
|
|
6
|
-
import chalk from 'chalk'
|
|
7
|
-
import packageJson from '../package.json' with { type: 'json' }
|
|
8
|
-
|
|
9
|
-
const banner = `
|
|
10
|
-
_ __ _ _ _ _ ____ _ ___
|
|
11
|
-
| |/ /___ __ _| | __ _ | \\ | | ___ ___| |_ / ___| | |_ _|
|
|
12
|
-
| ' // _ \\ / _\` | |/ _\` | | \\| |/ _ \\/ __| __| | | | | | |
|
|
13
|
-
| . \\ (_) | (_| | | (_| | | |\\ | __/\\__ \\ |_ | |___| |___ | |
|
|
14
|
-
|_|\\_\\___/ \\__,_|_|\\__,_| |_| \\_|\\___||___/\\__| \\____|_____|___|
|
|
15
|
-
`
|
|
16
|
-
|
|
17
|
-
console.log(chalk.cyan(banner))
|
|
18
|
-
|
|
19
|
-
program.version(packageJson.version)
|
|
20
|
-
|
|
21
|
-
program
|
|
22
|
-
.command('new [projectName]')
|
|
23
|
-
.description('Cria um novo projeto Nest com Koala Nest')
|
|
24
|
-
.action(async (projectName: string) => {
|
|
25
|
-
if (!projectName) {
|
|
26
|
-
projectName = await inquirer
|
|
27
|
-
.prompt([
|
|
28
|
-
{
|
|
29
|
-
type: 'input',
|
|
30
|
-
name: 'projectName',
|
|
31
|
-
message: 'Informe o nome do projeto',
|
|
32
|
-
validate: (value?: string) =>
|
|
33
|
-
value ? true : 'Não é permitido um nome vazio',
|
|
34
|
-
},
|
|
35
|
-
])
|
|
36
|
-
.then((answers) => answers.projectName)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
newProject(projectName)
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
program.parse(process.argv)
|
package/utils/copy-folder.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import fs from 'fs'
|
|
2
|
-
import path from 'path'
|
|
3
|
-
|
|
4
|
-
export function copyFolder(source, target) {
|
|
5
|
-
if (!fs.existsSync(target)) {
|
|
6
|
-
fs.mkdirSync(target)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const files = fs.readdirSync(source)
|
|
10
|
-
|
|
11
|
-
for (const file of files) {
|
|
12
|
-
const sourcePath = path.join(source, file)
|
|
13
|
-
const targetPath = path.join(target, file)
|
|
14
|
-
|
|
15
|
-
if (fs.statSync(sourcePath).isDirectory()) {
|
|
16
|
-
if (!fs.existsSync(target)) {
|
|
17
|
-
fs.mkdirSync(targetPath)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
copyFolder(sourcePath, targetPath)
|
|
21
|
-
} else {
|
|
22
|
-
fs.copyFileSync(sourcePath, targetPath)
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
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
|
/package/{code-base → templates}/startup-project/src/application/person/events/person-event.job.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/{code-base → templates}/startup-project/src/application/person/read/read-person.handler.ts
RENAMED
|
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
|
/package/{code-base → templates}/startup-project/src/domain/entities/person/person-address.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/{code-base → templates}/startup-project/src/domain/repositories/iperson.repository.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{code-base → templates}/startup-project/src/host/controllers/person/person.module.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{code-base → templates}/startup-project/src/host/controllers/person/router.config.ts
RENAMED
|
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
|