@darkstar-cli/cli 0.0.14 → 0.0.15
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/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +113 -46
- package/dist/commands/new.js.map +1 -1
- package/package.json +1 -1
- package/templates/project/.env.example +0 -90
- package/templates/project/darkstar.config.ts +0 -0
- package/templates/project/database/seeders/DatabaseSeeder.ts +0 -13
- package/templates/project/database/seeders/Seeder.ts +0 -3
- package/templates/project/src/controllers/controller.stub +0 -32
- package/templates/project/src/core/app.ts +0 -5
- package/templates/project/src/models/model.stub +0 -5
- package/templates/project/src/repositories/repository.stub +0 -9
- package/templates/project/src/services/service.stub +0 -11
- package/templates/project/src/utils/omitSecret.stub +0 -0
- package/templates/project/src/utils/omitpassword.stub +0 -0
- package/templates/project/tsconfig.json +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAiKA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,iBA8BxC"}
|
package/dist/commands/new.js
CHANGED
|
@@ -45,46 +45,110 @@ function log(msg) { console.log(msg); }
|
|
|
45
45
|
function success(msg) { log(kleur_1.default.green(' ✔ ') + msg); }
|
|
46
46
|
function info(msg) { log(kleur_1.default.cyan(' → ') + msg); }
|
|
47
47
|
function error(msg) { log(kleur_1.default.red(' ✘ ') + msg); }
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
48
|
+
function write(filePath, content) {
|
|
49
|
+
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
50
|
+
fs.writeFileSync(filePath, content, 'utf-8');
|
|
51
|
+
}
|
|
52
|
+
function generateStructure(projectPath, projectName) {
|
|
53
|
+
// Diretórios vazios (com .gitkeep)
|
|
54
|
+
const dirs = [
|
|
55
|
+
'src/controllers',
|
|
56
|
+
'src/services',
|
|
57
|
+
'src/repositories',
|
|
58
|
+
'src/models',
|
|
59
|
+
'src/routes',
|
|
60
|
+
'src/schemas',
|
|
61
|
+
'src/middlewares',
|
|
62
|
+
'src/utils',
|
|
63
|
+
'database/migrations',
|
|
64
|
+
'database/seeders',
|
|
65
|
+
];
|
|
66
|
+
for (const dir of dirs) {
|
|
67
|
+
const full = path.join(projectPath, dir);
|
|
68
|
+
fs.mkdirSync(full, { recursive: true });
|
|
69
|
+
fs.writeFileSync(path.join(full, '.gitkeep'), '');
|
|
67
70
|
}
|
|
71
|
+
// src/core/app.ts
|
|
72
|
+
write(path.join(projectPath, 'src/core/app.ts'), `import 'dotenv/config'
|
|
73
|
+
import { DarkstarApp } from '@darkstar-cli/core'
|
|
74
|
+
|
|
75
|
+
const app = new DarkstarApp()
|
|
76
|
+
|
|
77
|
+
app.boot('/api').then(() => {
|
|
78
|
+
const port = process.env.PORT ?? 3000
|
|
79
|
+
app.listen(Number(port), () => {
|
|
80
|
+
console.log(\`🪐 DarkStar rodando em http://localhost:\${port}\`)
|
|
81
|
+
})
|
|
82
|
+
})
|
|
83
|
+
`);
|
|
84
|
+
// database/seeders/Seeder.ts
|
|
85
|
+
write(path.join(projectPath, 'database/seeders/Seeder.ts'), `export abstract class Seeder {
|
|
86
|
+
abstract run(): Promise<void>
|
|
68
87
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
88
|
+
`);
|
|
89
|
+
// database/seeders/DatabaseSeeder.ts
|
|
90
|
+
write(path.join(projectPath, 'database/seeders/DatabaseSeeder.ts'), `import { Seeder } from './Seeder'
|
|
91
|
+
|
|
92
|
+
export class DatabaseSeeder extends Seeder {
|
|
93
|
+
async run(): Promise<void> {
|
|
94
|
+
// registre seus seeders aqui
|
|
95
|
+
}
|
|
77
96
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
`);
|
|
98
|
+
// darkstar.config.ts
|
|
99
|
+
write(path.join(projectPath, 'darkstar.config.ts'), `import type { DarkstarConfig } from '@darkstar-cli/core'
|
|
100
|
+
|
|
101
|
+
const config: DarkstarConfig = {
|
|
102
|
+
db: {
|
|
103
|
+
client: process.env.DB_CLIENT as 'mysql' | 'pg' | 'sqlite3' ?? 'mysql',
|
|
104
|
+
host: process.env.DB_HOST ?? '127.0.0.1',
|
|
105
|
+
port: Number(process.env.DB_PORT ?? 3306),
|
|
106
|
+
user: process.env.DB_USER ?? 'root',
|
|
107
|
+
password: process.env.DB_PASSWORD ?? '',
|
|
108
|
+
database: process.env.DB_DATABASE ?? '${projectName}',
|
|
109
|
+
},
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export default config
|
|
113
|
+
`);
|
|
114
|
+
// tsconfig.json
|
|
115
|
+
write(path.join(projectPath, 'tsconfig.json'), JSON.stringify({
|
|
116
|
+
compilerOptions: {
|
|
117
|
+
target: 'ES2020',
|
|
118
|
+
module: 'commonjs',
|
|
119
|
+
lib: ['ES2020'],
|
|
120
|
+
outDir: './dist',
|
|
121
|
+
rootDir: './src',
|
|
122
|
+
strict: true,
|
|
123
|
+
esModuleInterop: true,
|
|
124
|
+
skipLibCheck: true,
|
|
125
|
+
forceConsistentCasingInFileNames: true,
|
|
126
|
+
resolveJsonModule: true,
|
|
127
|
+
emitDecoratorMetadata: false,
|
|
128
|
+
experimentalDecorators: false,
|
|
129
|
+
},
|
|
130
|
+
include: ['src/**/*', 'darkstar.config.ts'],
|
|
131
|
+
exclude: ['node_modules', 'dist'],
|
|
132
|
+
}, null, 2));
|
|
133
|
+
// .gitignore
|
|
134
|
+
write(path.join(projectPath, '.gitignore'), `node_modules/
|
|
135
|
+
dist/
|
|
136
|
+
.env
|
|
137
|
+
*.log
|
|
138
|
+
`);
|
|
139
|
+
// .env.example / .env
|
|
140
|
+
const env = `DB_CLIENT=mysql
|
|
141
|
+
DB_HOST=127.0.0.1
|
|
142
|
+
DB_PORT=3306
|
|
143
|
+
DB_USER=root
|
|
144
|
+
DB_PASSWORD=
|
|
145
|
+
DB_DATABASE=${projectName}
|
|
146
|
+
PORT=3000
|
|
147
|
+
`;
|
|
148
|
+
write(path.join(projectPath, '.env.example'), env);
|
|
149
|
+
write(path.join(projectPath, '.env'), env);
|
|
150
|
+
}
|
|
151
|
+
function generatePackageJson(projectPath, projectName) {
|
|
88
152
|
const pkg = {
|
|
89
153
|
name: projectName,
|
|
90
154
|
version: '0.0.1',
|
|
@@ -95,7 +159,14 @@ function configurePackageJson(projectPath, projectName) {
|
|
|
95
159
|
build: 'tsc',
|
|
96
160
|
start: 'node dist/core/app.js',
|
|
97
161
|
},
|
|
98
|
-
dependencies:
|
|
162
|
+
dependencies: {
|
|
163
|
+
'@darkstar-cli/core': 'latest',
|
|
164
|
+
'@darkstar-cli/orm': 'latest',
|
|
165
|
+
'dotenv': 'latest',
|
|
166
|
+
'express': 'latest',
|
|
167
|
+
'express-rate-limit': 'latest',
|
|
168
|
+
'zod': 'latest',
|
|
169
|
+
},
|
|
99
170
|
devDependencies: {
|
|
100
171
|
'@types/express': 'latest',
|
|
101
172
|
'@types/express-rate-limit': 'latest',
|
|
@@ -104,7 +175,7 @@ function configurePackageJson(projectPath, projectName) {
|
|
|
104
175
|
'typescript': 'latest',
|
|
105
176
|
},
|
|
106
177
|
};
|
|
107
|
-
|
|
178
|
+
write(path.join(projectPath, 'package.json'), JSON.stringify(pkg, null, 2));
|
|
108
179
|
}
|
|
109
180
|
function installDeps(projectPath) {
|
|
110
181
|
info('Instalando dependências...');
|
|
@@ -125,15 +196,11 @@ async function runNew(name) {
|
|
|
125
196
|
error(`A pasta "${name}" já existe.`);
|
|
126
197
|
process.exit(1);
|
|
127
198
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
copyTemplate(templatePath, projectPath);
|
|
199
|
+
info('Gerando estrutura do projeto...');
|
|
200
|
+
generateStructure(projectPath, name);
|
|
131
201
|
success('Estrutura criada');
|
|
132
|
-
info('Configurando .env...');
|
|
133
|
-
configureEnv(projectPath, name);
|
|
134
|
-
success('.env configurado');
|
|
135
202
|
info('Configurando package.json...');
|
|
136
|
-
|
|
203
|
+
generatePackageJson(projectPath, name);
|
|
137
204
|
success('package.json configurado');
|
|
138
205
|
installDeps(projectPath);
|
|
139
206
|
console.log('');
|
package/dist/commands/new.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,MAAY,EAAE,+BAAU;AACxB,MAAY,IAAI,iCAAY;AAC5B,iDAAwC;AAExC,SAAS,GAAG,CAAC,GAAW,IAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC;AAClD,SAAS,OAAO,CAAC,GAAW,IAAI,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA,CAAC,CAAC;AAChE,SAAS,IAAI,CAAC,GAAW,IAAO,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA,CAAC,CAAC;AAC/D,SAAS,KAAK,CAAC,GAAW,IAAM,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA,CAAC,CAAC;AAE9D,SAAS,
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# -----------------------------------------------
|
|
2
|
-
# TANIS — Environment Configuration
|
|
3
|
-
# -----------------------------------------------
|
|
4
|
-
# Copie este arquivo para .env e preencha os valores
|
|
5
|
-
# cp .env.example .env
|
|
6
|
-
# -----------------------------------------------
|
|
7
|
-
|
|
8
|
-
# App
|
|
9
|
-
APP_NAME=DarkStar
|
|
10
|
-
APP_ENV=local # local | development | staging | production
|
|
11
|
-
APP_DEBUG=true
|
|
12
|
-
APP_URL=http://localhost
|
|
13
|
-
APP_PORT=3000
|
|
14
|
-
APP_KEY= # gerado pelo: tanis artisan key:generate
|
|
15
|
-
|
|
16
|
-
# Locale
|
|
17
|
-
APP_LOCALE=pt_BR
|
|
18
|
-
APP_TIMEZONE=America/Sao_Paulo
|
|
19
|
-
|
|
20
|
-
# -----------------------------------------------
|
|
21
|
-
# Database
|
|
22
|
-
# -----------------------------------------------
|
|
23
|
-
DB_CONNECTION=mysql # sqlite | mysql | postgres
|
|
24
|
-
DB_HOST=127.0.0.1
|
|
25
|
-
DB_PORT=3306 # mysql: 3306 | postgres: 5432
|
|
26
|
-
DB_DATABASE=darkstar
|
|
27
|
-
DB_USERNAME=root # Seu usuario do banco Local
|
|
28
|
-
DB_PASSWORD=root # Sua senha do banco local
|
|
29
|
-
|
|
30
|
-
# -----------------------------------------------
|
|
31
|
-
# Cache
|
|
32
|
-
# -----------------------------------------------
|
|
33
|
-
CACHE_DRIVER=memory # memory | redis
|
|
34
|
-
|
|
35
|
-
# -----------------------------------------------
|
|
36
|
-
# Session
|
|
37
|
-
# -----------------------------------------------
|
|
38
|
-
SESSION_DRIVER=memory # memory | redis | database
|
|
39
|
-
SESSION_LIFETIME=120 # em minutos
|
|
40
|
-
SESSION_SECRET= # gerado pelo: tanis artisan key:generate
|
|
41
|
-
|
|
42
|
-
# -----------------------------------------------
|
|
43
|
-
# Queue
|
|
44
|
-
# -----------------------------------------------
|
|
45
|
-
QUEUE_CONNECTION=sync # sync | redis | database
|
|
46
|
-
|
|
47
|
-
# -----------------------------------------------
|
|
48
|
-
# Redis
|
|
49
|
-
# -----------------------------------------------
|
|
50
|
-
REDIS_HOST=127.0.0.1
|
|
51
|
-
REDIS_PORT=6379
|
|
52
|
-
REDIS_PASSWORD=null
|
|
53
|
-
REDIS_DB=0
|
|
54
|
-
|
|
55
|
-
# -----------------------------------------------
|
|
56
|
-
# Auth / JWT
|
|
57
|
-
# -----------------------------------------------
|
|
58
|
-
JWT_SECRET= # gerado pelo: tanis artisan key:generate
|
|
59
|
-
JWT_EXPIRES_IN= # ex: 60s | 10m | 2h | 7d
|
|
60
|
-
JWT_REFRESH_EXPIRES_IN= # ex: 60s | 10m | 2h | 7d
|
|
61
|
-
|
|
62
|
-
# -----------------------------------------------
|
|
63
|
-
# Mail
|
|
64
|
-
# -----------------------------------------------
|
|
65
|
-
MAIL_DRIVER=log # log | smtp | ses | sendgrid
|
|
66
|
-
MAIL_HOST=127.0.0.1
|
|
67
|
-
MAIL_PORT=2525
|
|
68
|
-
MAIL_USERNAME=null
|
|
69
|
-
MAIL_PASSWORD=null
|
|
70
|
-
MAIL_FROM_ADDRESS="hello@example.com"
|
|
71
|
-
MAIL_FROM_NAME="${APP_NAME}"
|
|
72
|
-
MAIL_ENCRYPTION=null # null | tls | ssl
|
|
73
|
-
|
|
74
|
-
# -----------------------------------------------
|
|
75
|
-
# Storage / AWS S3
|
|
76
|
-
# -----------------------------------------------
|
|
77
|
-
FILESYSTEM_DISK=local # local | s3
|
|
78
|
-
|
|
79
|
-
AWS_ACCESS_KEY_ID=
|
|
80
|
-
AWS_SECRET_ACCESS_KEY=
|
|
81
|
-
AWS_DEFAULT_REGION=us-east-1
|
|
82
|
-
AWS_BUCKET=
|
|
83
|
-
AWS_ENDPOINT= # para MinIO ou S3-compatíveis
|
|
84
|
-
|
|
85
|
-
# -----------------------------------------------
|
|
86
|
-
# Logging
|
|
87
|
-
# -----------------------------------------------
|
|
88
|
-
LOG_CHANNEL=console # console | file | combined
|
|
89
|
-
LOG_LEVEL=debug # debug | info | warn | error
|
|
90
|
-
LOG_FILE=storage/logs/tanis.log
|
|
File without changes
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { TanisRequest, TanisResponse } from '@darkstar-cli/core'
|
|
2
|
-
import { {{name}}Service } from '../services/{{name}}Service'
|
|
3
|
-
|
|
4
|
-
export class {{name}}Controller {
|
|
5
|
-
constructor(private {{nameLower}}Service: {{name}}Service) {}
|
|
6
|
-
|
|
7
|
-
async index(req: TanisRequest, res: TanisResponse) {
|
|
8
|
-
const data = await this.{{nameLower}}Service.findAll()
|
|
9
|
-
return res.ok(data)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
async show(req: TanisRequest, res: TanisResponse) {
|
|
13
|
-
const data = await this.{{nameLower}}Service.findById(req.param('id')!)
|
|
14
|
-
if (!data) return res.notFound('{{name}} não encontrado')
|
|
15
|
-
return res.ok(data)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async store(req: TanisRequest, res: TanisResponse) {
|
|
19
|
-
const data = await this.{{nameLower}}Service.create(req.all())
|
|
20
|
-
return res.created(data)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
async update(req: TanisRequest, res: TanisResponse) {
|
|
24
|
-
const data = await this.{{nameLower}}Service.update(req.param('id')!, req.all())
|
|
25
|
-
return res.ok(data)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async destroy(req: TanisRequest, res: TanisResponse) {
|
|
29
|
-
await this.{{nameLower}}Service.delete(req.param('id')!)
|
|
30
|
-
return res.noContent()
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { {{name}} } from '../models/{{name}}'
|
|
2
|
-
|
|
3
|
-
export class {{name}}Repository {
|
|
4
|
-
findAll() { return {{name}}.findAll() }
|
|
5
|
-
findById(id: string) { return {{name}}.findById(id) }
|
|
6
|
-
create(data: Record<string, any>) { return {{name}}.create(data as any) }
|
|
7
|
-
update(id: string, data: Record<string, any>) { return {{name}}.update(id, data as any) }
|
|
8
|
-
delete(id: string) { return {{name}}.delete(id) }
|
|
9
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { {{name}}Repository } from '../repositories/{{name}}Repository'
|
|
2
|
-
|
|
3
|
-
export class {{name}}Service {
|
|
4
|
-
constructor(private {{nameLower}}Repository: {{name}}Repository) {}
|
|
5
|
-
|
|
6
|
-
findAll() { return this.{{nameLower}}Repository.findAll() }
|
|
7
|
-
findById(id: string) { return this.{{nameLower}}Repository.findById(id) }
|
|
8
|
-
create(data: Record<string, any>) { return this.{{nameLower}}Repository.create(data) }
|
|
9
|
-
update(id: string, data: Record<string, any>) { return this.{{nameLower}}Repository.update(id, data) }
|
|
10
|
-
delete(id: string) { return this.{{nameLower}}Repository.delete(id) }
|
|
11
|
-
}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2020",
|
|
4
|
-
"module": "Node16",
|
|
5
|
-
"moduleResolution": "node16",
|
|
6
|
-
"outDir": "./dist",
|
|
7
|
-
"rootDir": "./src",
|
|
8
|
-
"strict": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"skipLibCheck": true,
|
|
11
|
-
"resolveJsonModule": true
|
|
12
|
-
},
|
|
13
|
-
"include": ["src/**/*"],
|
|
14
|
-
"exclude": ["node_modules", "dist"]
|
|
15
|
-
}
|