create-craftjs 2.0.1 → 2.0.3
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/README.md +2 -2
- package/package.json +1 -1
- package/template/babel.config.json +24 -1
- package/template/craft/commands/build.js +3 -1
- package/template/craft/commands/dev.js +15 -4
- package/template/package-lock.json +238 -2
- package/template/package.json +20 -2
- package/template/prisma.config.ts +2 -2
- package/template/{prisma → src/database/seeders}/seed.ts +1 -1
- /package/template/{prisma → src/database}/migrations/20250518142257_create_table_users/migration.sql +0 -0
- /package/template/{prisma → src/database}/migrations/20260118135332_create_table_auth_refresh_tokens/migration.sql +0 -0
- /package/template/{prisma → src/database}/migrations/migration_lock.toml +0 -0
package/README.md
CHANGED
|
@@ -41,13 +41,13 @@ res.render("index", { title: "Home Page" });
|
|
|
41
41
|
### 📦 Scaffold a New Project
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
npx create-craftjs my-app
|
|
44
|
+
npx create-craftjs@latest my-app
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
OR
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
npm init craftjs my-app
|
|
50
|
+
npm init craftjs@latest my-app
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
### Go to project folder
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-craftjs",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "A starter kit backend framework powered by Express, TypeScript, EJS Engine, and Prisma — designed for rapid development, simplicity, and scalability.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-craftjs": "bin/index.js"
|
|
@@ -1,3 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"presets": [
|
|
2
|
+
"presets": [
|
|
3
|
+
["@babel/preset-env", { "targets": { "node": "current" } }],
|
|
4
|
+
"@babel/preset-typescript"
|
|
5
|
+
],
|
|
6
|
+
"plugins": [
|
|
7
|
+
[
|
|
8
|
+
"module-resolver",
|
|
9
|
+
{
|
|
10
|
+
"root": ["./"],
|
|
11
|
+
"alias": {
|
|
12
|
+
"@config": "./src/config",
|
|
13
|
+
"@controllers": "./src/controllers",
|
|
14
|
+
"@services": "./src/services",
|
|
15
|
+
"@repositories": "./src/repositories",
|
|
16
|
+
"@routes": "./src/routes",
|
|
17
|
+
"@middleware": "./src/middleware",
|
|
18
|
+
"@dtos": "./src/dtos",
|
|
19
|
+
"@types": "./src/types",
|
|
20
|
+
"@utils": "./src/utils",
|
|
21
|
+
"@validations": "./src/validations"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
]
|
|
3
26
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
const { execSync } = require("child_process");
|
|
2
2
|
const chalk = require("chalk");
|
|
3
|
+
|
|
3
4
|
function Build() {
|
|
4
5
|
console.log(chalk.blue("📦 Building project..."));
|
|
5
6
|
|
|
6
7
|
try {
|
|
7
|
-
execSync("npx tsc && tsc-alias && cp -r src/views build/views", {
|
|
8
|
+
execSync("npx tsc && npx tsc-alias && cp -r src/views build/views", {
|
|
8
9
|
stdio: "inherit",
|
|
9
10
|
});
|
|
10
11
|
execSync("cp -r public build/public", { stdio: "inherit" });
|
|
12
|
+
|
|
11
13
|
console.log(chalk.green("✅ Build completed successfully."));
|
|
12
14
|
} catch (error) {
|
|
13
15
|
console.error(chalk.red("❌ Build failed."));
|
|
@@ -3,10 +3,21 @@ const chalk = require("chalk");
|
|
|
3
3
|
|
|
4
4
|
function Dev() {
|
|
5
5
|
console.log(chalk.blue("🚀 Starting development server with nodemon..."));
|
|
6
|
-
const result = spawnSync(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const result = spawnSync(
|
|
7
|
+
"nodemon",
|
|
8
|
+
[
|
|
9
|
+
"--watch",
|
|
10
|
+
"src",
|
|
11
|
+
"--ext",
|
|
12
|
+
"ts",
|
|
13
|
+
"--exec",
|
|
14
|
+
"ts-node -r tsconfig-paths/register src/main.ts",
|
|
15
|
+
],
|
|
16
|
+
{
|
|
17
|
+
stdio: "inherit",
|
|
18
|
+
shell: true,
|
|
19
|
+
}
|
|
20
|
+
);
|
|
10
21
|
|
|
11
22
|
if (result.status !== 0) {
|
|
12
23
|
console.error(chalk.red("❌ Failed to start development server."));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "craftjs",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "craftjs",
|
|
9
|
-
"version": "2.0.
|
|
9
|
+
"version": "2.0.3",
|
|
10
10
|
"license": "UNLICENSED",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@prisma/adapter-mariadb": "^7.2.0",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"@types/swagger-jsdoc": "^6.0.4",
|
|
56
56
|
"@types/swagger-ui-express": "^4.1.8",
|
|
57
57
|
"babel-jest": "^29.7.0",
|
|
58
|
+
"babel-plugin-module-resolver": "^5.0.2",
|
|
58
59
|
"jest": "^29.7.0",
|
|
59
60
|
"nodemon": "^3.1.9",
|
|
60
61
|
"prettier": "^3.5.3",
|
|
@@ -63,6 +64,7 @@
|
|
|
63
64
|
"ts-jest": "^29.3.4",
|
|
64
65
|
"ts-node": "^10.9.2",
|
|
65
66
|
"tsc-alias": "^1.8.16",
|
|
67
|
+
"tsconfig-paths": "^4.2.0",
|
|
66
68
|
"tsx": "^4.19.4",
|
|
67
69
|
"typescript": "^5.8.3"
|
|
68
70
|
}
|
|
@@ -3830,6 +3832,65 @@
|
|
|
3830
3832
|
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
|
3831
3833
|
}
|
|
3832
3834
|
},
|
|
3835
|
+
"node_modules/babel-plugin-module-resolver": {
|
|
3836
|
+
"version": "5.0.2",
|
|
3837
|
+
"resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz",
|
|
3838
|
+
"integrity": "sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg==",
|
|
3839
|
+
"dev": true,
|
|
3840
|
+
"license": "MIT",
|
|
3841
|
+
"dependencies": {
|
|
3842
|
+
"find-babel-config": "^2.1.1",
|
|
3843
|
+
"glob": "^9.3.3",
|
|
3844
|
+
"pkg-up": "^3.1.0",
|
|
3845
|
+
"reselect": "^4.1.7",
|
|
3846
|
+
"resolve": "^1.22.8"
|
|
3847
|
+
}
|
|
3848
|
+
},
|
|
3849
|
+
"node_modules/babel-plugin-module-resolver/node_modules/brace-expansion": {
|
|
3850
|
+
"version": "2.0.2",
|
|
3851
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
|
3852
|
+
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
|
3853
|
+
"dev": true,
|
|
3854
|
+
"license": "MIT",
|
|
3855
|
+
"dependencies": {
|
|
3856
|
+
"balanced-match": "^1.0.0"
|
|
3857
|
+
}
|
|
3858
|
+
},
|
|
3859
|
+
"node_modules/babel-plugin-module-resolver/node_modules/glob": {
|
|
3860
|
+
"version": "9.3.5",
|
|
3861
|
+
"resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
|
|
3862
|
+
"integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
|
|
3863
|
+
"dev": true,
|
|
3864
|
+
"license": "ISC",
|
|
3865
|
+
"dependencies": {
|
|
3866
|
+
"fs.realpath": "^1.0.0",
|
|
3867
|
+
"minimatch": "^8.0.2",
|
|
3868
|
+
"minipass": "^4.2.4",
|
|
3869
|
+
"path-scurry": "^1.6.1"
|
|
3870
|
+
},
|
|
3871
|
+
"engines": {
|
|
3872
|
+
"node": ">=16 || 14 >=14.17"
|
|
3873
|
+
},
|
|
3874
|
+
"funding": {
|
|
3875
|
+
"url": "https://github.com/sponsors/isaacs"
|
|
3876
|
+
}
|
|
3877
|
+
},
|
|
3878
|
+
"node_modules/babel-plugin-module-resolver/node_modules/minimatch": {
|
|
3879
|
+
"version": "8.0.4",
|
|
3880
|
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
|
|
3881
|
+
"integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
|
|
3882
|
+
"dev": true,
|
|
3883
|
+
"license": "ISC",
|
|
3884
|
+
"dependencies": {
|
|
3885
|
+
"brace-expansion": "^2.0.1"
|
|
3886
|
+
},
|
|
3887
|
+
"engines": {
|
|
3888
|
+
"node": ">=16 || 14 >=14.17"
|
|
3889
|
+
},
|
|
3890
|
+
"funding": {
|
|
3891
|
+
"url": "https://github.com/sponsors/isaacs"
|
|
3892
|
+
}
|
|
3893
|
+
},
|
|
3833
3894
|
"node_modules/babel-plugin-polyfill-corejs2": {
|
|
3834
3895
|
"version": "0.4.13",
|
|
3835
3896
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz",
|
|
@@ -5499,6 +5560,16 @@
|
|
|
5499
5560
|
"node": ">= 0.8"
|
|
5500
5561
|
}
|
|
5501
5562
|
},
|
|
5563
|
+
"node_modules/find-babel-config": {
|
|
5564
|
+
"version": "2.1.2",
|
|
5565
|
+
"resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.1.2.tgz",
|
|
5566
|
+
"integrity": "sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg==",
|
|
5567
|
+
"dev": true,
|
|
5568
|
+
"license": "MIT",
|
|
5569
|
+
"dependencies": {
|
|
5570
|
+
"json5": "^2.2.3"
|
|
5571
|
+
}
|
|
5572
|
+
},
|
|
5502
5573
|
"node_modules/find-up": {
|
|
5503
5574
|
"version": "4.1.0",
|
|
5504
5575
|
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
|
@@ -7517,6 +7588,26 @@
|
|
|
7517
7588
|
"node": "*"
|
|
7518
7589
|
}
|
|
7519
7590
|
},
|
|
7591
|
+
"node_modules/minimist": {
|
|
7592
|
+
"version": "1.2.8",
|
|
7593
|
+
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
|
7594
|
+
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
|
7595
|
+
"dev": true,
|
|
7596
|
+
"license": "MIT",
|
|
7597
|
+
"funding": {
|
|
7598
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
7599
|
+
}
|
|
7600
|
+
},
|
|
7601
|
+
"node_modules/minipass": {
|
|
7602
|
+
"version": "4.2.8",
|
|
7603
|
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
|
|
7604
|
+
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
|
|
7605
|
+
"dev": true,
|
|
7606
|
+
"license": "ISC",
|
|
7607
|
+
"engines": {
|
|
7608
|
+
"node": ">=8"
|
|
7609
|
+
}
|
|
7610
|
+
},
|
|
7520
7611
|
"node_modules/moment": {
|
|
7521
7612
|
"version": "2.30.1",
|
|
7522
7613
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
|
|
@@ -8017,6 +8108,40 @@
|
|
|
8017
8108
|
"dev": true,
|
|
8018
8109
|
"license": "MIT"
|
|
8019
8110
|
},
|
|
8111
|
+
"node_modules/path-scurry": {
|
|
8112
|
+
"version": "1.11.1",
|
|
8113
|
+
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
|
8114
|
+
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
|
8115
|
+
"dev": true,
|
|
8116
|
+
"license": "BlueOak-1.0.0",
|
|
8117
|
+
"dependencies": {
|
|
8118
|
+
"lru-cache": "^10.2.0",
|
|
8119
|
+
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
|
8120
|
+
},
|
|
8121
|
+
"engines": {
|
|
8122
|
+
"node": ">=16 || 14 >=14.18"
|
|
8123
|
+
},
|
|
8124
|
+
"funding": {
|
|
8125
|
+
"url": "https://github.com/sponsors/isaacs"
|
|
8126
|
+
}
|
|
8127
|
+
},
|
|
8128
|
+
"node_modules/path-scurry/node_modules/lru-cache": {
|
|
8129
|
+
"version": "10.4.3",
|
|
8130
|
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
|
8131
|
+
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
|
8132
|
+
"dev": true,
|
|
8133
|
+
"license": "ISC"
|
|
8134
|
+
},
|
|
8135
|
+
"node_modules/path-scurry/node_modules/minipass": {
|
|
8136
|
+
"version": "7.1.2",
|
|
8137
|
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
|
8138
|
+
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
|
8139
|
+
"dev": true,
|
|
8140
|
+
"license": "ISC",
|
|
8141
|
+
"engines": {
|
|
8142
|
+
"node": ">=16 || 14 >=14.17"
|
|
8143
|
+
}
|
|
8144
|
+
},
|
|
8020
8145
|
"node_modules/path-to-regexp": {
|
|
8021
8146
|
"version": "8.2.0",
|
|
8022
8147
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz",
|
|
@@ -8105,6 +8230,85 @@
|
|
|
8105
8230
|
"pathe": "^2.0.3"
|
|
8106
8231
|
}
|
|
8107
8232
|
},
|
|
8233
|
+
"node_modules/pkg-up": {
|
|
8234
|
+
"version": "3.1.0",
|
|
8235
|
+
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
|
|
8236
|
+
"integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
|
|
8237
|
+
"dev": true,
|
|
8238
|
+
"license": "MIT",
|
|
8239
|
+
"dependencies": {
|
|
8240
|
+
"find-up": "^3.0.0"
|
|
8241
|
+
},
|
|
8242
|
+
"engines": {
|
|
8243
|
+
"node": ">=8"
|
|
8244
|
+
}
|
|
8245
|
+
},
|
|
8246
|
+
"node_modules/pkg-up/node_modules/find-up": {
|
|
8247
|
+
"version": "3.0.0",
|
|
8248
|
+
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
|
|
8249
|
+
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
|
|
8250
|
+
"dev": true,
|
|
8251
|
+
"license": "MIT",
|
|
8252
|
+
"dependencies": {
|
|
8253
|
+
"locate-path": "^3.0.0"
|
|
8254
|
+
},
|
|
8255
|
+
"engines": {
|
|
8256
|
+
"node": ">=6"
|
|
8257
|
+
}
|
|
8258
|
+
},
|
|
8259
|
+
"node_modules/pkg-up/node_modules/locate-path": {
|
|
8260
|
+
"version": "3.0.0",
|
|
8261
|
+
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
|
|
8262
|
+
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
|
|
8263
|
+
"dev": true,
|
|
8264
|
+
"license": "MIT",
|
|
8265
|
+
"dependencies": {
|
|
8266
|
+
"p-locate": "^3.0.0",
|
|
8267
|
+
"path-exists": "^3.0.0"
|
|
8268
|
+
},
|
|
8269
|
+
"engines": {
|
|
8270
|
+
"node": ">=6"
|
|
8271
|
+
}
|
|
8272
|
+
},
|
|
8273
|
+
"node_modules/pkg-up/node_modules/p-limit": {
|
|
8274
|
+
"version": "2.3.0",
|
|
8275
|
+
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
|
|
8276
|
+
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
|
|
8277
|
+
"dev": true,
|
|
8278
|
+
"license": "MIT",
|
|
8279
|
+
"dependencies": {
|
|
8280
|
+
"p-try": "^2.0.0"
|
|
8281
|
+
},
|
|
8282
|
+
"engines": {
|
|
8283
|
+
"node": ">=6"
|
|
8284
|
+
},
|
|
8285
|
+
"funding": {
|
|
8286
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
8287
|
+
}
|
|
8288
|
+
},
|
|
8289
|
+
"node_modules/pkg-up/node_modules/p-locate": {
|
|
8290
|
+
"version": "3.0.0",
|
|
8291
|
+
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
|
|
8292
|
+
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
|
|
8293
|
+
"dev": true,
|
|
8294
|
+
"license": "MIT",
|
|
8295
|
+
"dependencies": {
|
|
8296
|
+
"p-limit": "^2.0.0"
|
|
8297
|
+
},
|
|
8298
|
+
"engines": {
|
|
8299
|
+
"node": ">=6"
|
|
8300
|
+
}
|
|
8301
|
+
},
|
|
8302
|
+
"node_modules/pkg-up/node_modules/path-exists": {
|
|
8303
|
+
"version": "3.0.0",
|
|
8304
|
+
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
|
|
8305
|
+
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
|
|
8306
|
+
"dev": true,
|
|
8307
|
+
"license": "MIT",
|
|
8308
|
+
"engines": {
|
|
8309
|
+
"node": ">=4"
|
|
8310
|
+
}
|
|
8311
|
+
},
|
|
8108
8312
|
"node_modules/plimit-lit": {
|
|
8109
8313
|
"version": "1.6.1",
|
|
8110
8314
|
"resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz",
|
|
@@ -8521,6 +8725,13 @@
|
|
|
8521
8725
|
"node": ">=0.10.0"
|
|
8522
8726
|
}
|
|
8523
8727
|
},
|
|
8728
|
+
"node_modules/reselect": {
|
|
8729
|
+
"version": "4.1.8",
|
|
8730
|
+
"resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz",
|
|
8731
|
+
"integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==",
|
|
8732
|
+
"dev": true,
|
|
8733
|
+
"license": "MIT"
|
|
8734
|
+
},
|
|
8524
8735
|
"node_modules/resolve": {
|
|
8525
8736
|
"version": "1.22.10",
|
|
8526
8737
|
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
|
|
@@ -9496,6 +9707,31 @@
|
|
|
9496
9707
|
"node": "^12.20.0 || >=14"
|
|
9497
9708
|
}
|
|
9498
9709
|
},
|
|
9710
|
+
"node_modules/tsconfig-paths": {
|
|
9711
|
+
"version": "4.2.0",
|
|
9712
|
+
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
|
|
9713
|
+
"integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
|
|
9714
|
+
"dev": true,
|
|
9715
|
+
"license": "MIT",
|
|
9716
|
+
"dependencies": {
|
|
9717
|
+
"json5": "^2.2.2",
|
|
9718
|
+
"minimist": "^1.2.6",
|
|
9719
|
+
"strip-bom": "^3.0.0"
|
|
9720
|
+
},
|
|
9721
|
+
"engines": {
|
|
9722
|
+
"node": ">=6"
|
|
9723
|
+
}
|
|
9724
|
+
},
|
|
9725
|
+
"node_modules/tsconfig-paths/node_modules/strip-bom": {
|
|
9726
|
+
"version": "3.0.0",
|
|
9727
|
+
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
|
|
9728
|
+
"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
|
|
9729
|
+
"dev": true,
|
|
9730
|
+
"license": "MIT",
|
|
9731
|
+
"engines": {
|
|
9732
|
+
"node": ">=4"
|
|
9733
|
+
}
|
|
9734
|
+
},
|
|
9499
9735
|
"node_modules/tslib": {
|
|
9500
9736
|
"version": "2.8.1",
|
|
9501
9737
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
package/template/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "craftjs",
|
|
3
3
|
"description": "A starter kit backend framework powered by Express, TypeScript, EJS Engine, and Prisma — designed for rapid development, simplicity, and scalability.",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"express",
|
|
7
7
|
"typescript",
|
|
@@ -20,7 +20,23 @@
|
|
|
20
20
|
"jest": {
|
|
21
21
|
"transform": {
|
|
22
22
|
"^.+\\.[t|j]sx?$": "babel-jest"
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"moduleNameMapper": {
|
|
25
|
+
"^@config/(.*)$": "<rootDir>/src/config/$1",
|
|
26
|
+
"^@controllers/(.*)$": "<rootDir>/src/controllers/$1",
|
|
27
|
+
"^@services/(.*)$": "<rootDir>/src/services/$1",
|
|
28
|
+
"^@repositories/(.*)$": "<rootDir>/src/repositories/$1",
|
|
29
|
+
"^@routes/(.*)$": "<rootDir>/src/routes/$1",
|
|
30
|
+
"^@middleware/(.*)$": "<rootDir>/src/middleware/$1",
|
|
31
|
+
"^@dtos/(.*)$": "<rootDir>/src/dtos/$1",
|
|
32
|
+
"^@types/(.*)$": "<rootDir>/src/types/$1",
|
|
33
|
+
"^@utils/(.*)$": "<rootDir>/src/utils/$1",
|
|
34
|
+
"^@validations/(.*)$": "<rootDir>/src/validations/$1"
|
|
35
|
+
},
|
|
36
|
+
"testPathIgnorePatterns": [
|
|
37
|
+
"/node_modules/",
|
|
38
|
+
"/craft/"
|
|
39
|
+
]
|
|
24
40
|
},
|
|
25
41
|
"dependencies": {
|
|
26
42
|
"@prisma/adapter-mariadb": "^7.2.0",
|
|
@@ -69,6 +85,7 @@
|
|
|
69
85
|
"@types/swagger-jsdoc": "^6.0.4",
|
|
70
86
|
"@types/swagger-ui-express": "^4.1.8",
|
|
71
87
|
"babel-jest": "^29.7.0",
|
|
88
|
+
"babel-plugin-module-resolver": "^5.0.2",
|
|
72
89
|
"jest": "^29.7.0",
|
|
73
90
|
"nodemon": "^3.1.9",
|
|
74
91
|
"prettier": "^3.5.3",
|
|
@@ -77,6 +94,7 @@
|
|
|
77
94
|
"ts-jest": "^29.3.4",
|
|
78
95
|
"ts-node": "^10.9.2",
|
|
79
96
|
"tsc-alias": "^1.8.16",
|
|
97
|
+
"tsconfig-paths": "^4.2.0",
|
|
80
98
|
"tsx": "^4.19.4",
|
|
81
99
|
"typescript": "^5.8.3"
|
|
82
100
|
}
|
|
@@ -3,8 +3,8 @@ import { env } from "./src/config/env";
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
schema: "prisma/schema.prisma",
|
|
5
5
|
migrations: {
|
|
6
|
-
path: "
|
|
7
|
-
seed: "ts-node
|
|
6
|
+
path: "src/database/migrations",
|
|
7
|
+
seed: "ts-node -r tsconfig-paths/register src/database/seeders/seed.ts",
|
|
8
8
|
},
|
|
9
9
|
datasource: {
|
|
10
10
|
url: env.DATABASE_URL,
|
/package/template/{prisma → src/database}/migrations/20250518142257_create_table_users/migration.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|