@ridiormf/version-control 1.1.0
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 +21 -0
- package/README.md +708 -0
- package/bin/smart-commit.js +201 -0
- package/bin/version-control.js +4 -0
- package/dist/analyzer.d.ts +7 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +109 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/changelog.d.ts +49 -0
- package/dist/changelog.d.ts.map +1 -0
- package/dist/changelog.js +219 -0
- package/dist/changelog.js.map +1 -0
- package/dist/colors.d.ts +6 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +16 -0
- package/dist/colors.js.map +1 -0
- package/dist/commitGenerator.d.ts +27 -0
- package/dist/commitGenerator.d.ts.map +1 -0
- package/dist/commitGenerator.js +272 -0
- package/dist/commitGenerator.js.map +1 -0
- package/dist/config.d.ts +36 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +116 -0
- package/dist/config.js.map +1 -0
- package/dist/git.d.ts +7 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +18 -0
- package/dist/git.js.map +1 -0
- package/dist/gitCommands.d.ts +6 -0
- package/dist/gitCommands.d.ts.map +1 -0
- package/dist/gitCommands.js +55 -0
- package/dist/gitCommands.js.map +1 -0
- package/dist/i18n.d.ts +15 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +452 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +221 -0
- package/dist/index.js.map +1 -0
- package/dist/readline.d.ts +19 -0
- package/dist/readline.d.ts.map +1 -0
- package/dist/readline.js +129 -0
- package/dist/readline.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/updateChecker.d.ts +5 -0
- package/dist/updateChecker.d.ts.map +1 -0
- package/dist/updateChecker.js +117 -0
- package/dist/updateChecker.js.map +1 -0
- package/dist/updater.d.ts +22 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +170 -0
- package/dist/updater.js.map +1 -0
- package/dist/version.d.ts +14 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +69 -0
- package/dist/version.js.map +1 -0
- package/package.json +61 -0
package/dist/updater.js
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.updatePackageJson = updatePackageJson;
|
|
37
|
+
exports.updateIndexFile = updateIndexFile;
|
|
38
|
+
exports.updateChangelog = updateChangelog;
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
const colors_1 = require("./colors");
|
|
42
|
+
const changelog_1 = require("./changelog");
|
|
43
|
+
const i18n_1 = require("./i18n");
|
|
44
|
+
/**
|
|
45
|
+
* Update version in package.json
|
|
46
|
+
* @param newVersion - New version string
|
|
47
|
+
* @param projectRoot - Root directory of the project
|
|
48
|
+
*/
|
|
49
|
+
function updatePackageJson(newVersion, projectRoot = process.cwd()) {
|
|
50
|
+
const packagePath = path.join(projectRoot, "package.json");
|
|
51
|
+
const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));
|
|
52
|
+
packageJson.version = newVersion;
|
|
53
|
+
fs.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2) + "\n");
|
|
54
|
+
console.log(`${colors_1.colors.green}✓${colors_1.colors.reset} ${(0, i18n_1.t)("packageJsonUpdated")}`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Update version in index file (if exists and has @version tag)
|
|
58
|
+
* @param newVersion - New version string
|
|
59
|
+
* @param projectRoot - Root directory of the project
|
|
60
|
+
*/
|
|
61
|
+
function updateIndexFile(newVersion, projectRoot = process.cwd()) {
|
|
62
|
+
const possibleIndexFiles = [
|
|
63
|
+
path.join(projectRoot, "index.js"),
|
|
64
|
+
path.join(projectRoot, "index.ts"),
|
|
65
|
+
path.join(projectRoot, "src/index.js"),
|
|
66
|
+
path.join(projectRoot, "src/index.ts"),
|
|
67
|
+
];
|
|
68
|
+
for (const indexPath of possibleIndexFiles) {
|
|
69
|
+
if (fs.existsSync(indexPath)) {
|
|
70
|
+
let content = fs.readFileSync(indexPath, "utf8");
|
|
71
|
+
if (content.includes("@version")) {
|
|
72
|
+
content = content.replace(/@version \d+\.\d+\.\d+/, `@version ${newVersion}`);
|
|
73
|
+
fs.writeFileSync(indexPath, content);
|
|
74
|
+
console.log(`${colors_1.colors.green}✓${colors_1.colors.reset} ${path.basename(indexPath)} ${(0, i18n_1.t)("updated")}`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Add entry to CHANGELOG.md
|
|
82
|
+
* @param version - New version string
|
|
83
|
+
* @param _type - Version bump type (not used, kept for API compatibility)
|
|
84
|
+
* @param _analysis - Change analysis data (not used, kept for API compatibility)
|
|
85
|
+
* @param projectRoot - Root directory of the project
|
|
86
|
+
*/
|
|
87
|
+
function updateChangelog(version, _type, _analysis, projectRoot = process.cwd()) {
|
|
88
|
+
const changelogPath = path.join(projectRoot, "CHANGELOG.md");
|
|
89
|
+
if (!fs.existsSync(changelogPath)) {
|
|
90
|
+
console.log(`${colors_1.colors.yellow}⚠${colors_1.colors.reset} ${(0, i18n_1.t)("changelogNotFound")}`);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const content = fs.readFileSync(changelogPath, "utf8");
|
|
94
|
+
const date = new Date().toISOString().split("T")[0];
|
|
95
|
+
// Get all commits since last tag
|
|
96
|
+
const commits = (0, changelog_1.getCommitsSinceLastTag)();
|
|
97
|
+
if (commits.length === 0) {
|
|
98
|
+
console.log(`${colors_1.colors.yellow}⚠${colors_1.colors.reset} ${(0, i18n_1.t)("noNewCommits")}`);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// Group commits by type
|
|
102
|
+
const sections = (0, changelog_1.groupCommitsByType)(commits);
|
|
103
|
+
// Build changelog entry
|
|
104
|
+
let newEntry = `\n## [${version}] - ${date}\n`;
|
|
105
|
+
// Check if this is the first release (1.0.0)
|
|
106
|
+
const isFirstRelease = version === "1.0.0";
|
|
107
|
+
if (isFirstRelease) {
|
|
108
|
+
newEntry += `\n### 🎉 ${(0, i18n_1.t)("initialRelease")}\n\n`;
|
|
109
|
+
newEntry += `${(0, i18n_1.t)("firstPublicVersion")}\n\n`;
|
|
110
|
+
}
|
|
111
|
+
// Add sections in order of importance
|
|
112
|
+
if (sections.breaking.length > 0) {
|
|
113
|
+
newEntry += `\n### ⚠️ Breaking Changes\n\n`;
|
|
114
|
+
(0, changelog_1.removeDuplicates)(sections.breaking).forEach((item) => {
|
|
115
|
+
newEntry += `- ${item}\n`;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (sections.added.length > 0) {
|
|
119
|
+
newEntry += `\n### ✨ Added\n\n`;
|
|
120
|
+
(0, changelog_1.removeDuplicates)(sections.added).forEach((item) => {
|
|
121
|
+
newEntry += `- ${item}\n`;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (sections.changed.length > 0) {
|
|
125
|
+
newEntry += `\n### 🔄 Changed\n\n`;
|
|
126
|
+
(0, changelog_1.removeDuplicates)(sections.changed).forEach((item) => {
|
|
127
|
+
newEntry += `- ${item}\n`;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (sections.deprecated.length > 0) {
|
|
131
|
+
newEntry += `\n### ⚠️ Deprecated\n\n`;
|
|
132
|
+
(0, changelog_1.removeDuplicates)(sections.deprecated).forEach((item) => {
|
|
133
|
+
newEntry += `- ${item}\n`;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
if (sections.removed.length > 0) {
|
|
137
|
+
newEntry += `\n### 🗑️ Removed\n\n`;
|
|
138
|
+
(0, changelog_1.removeDuplicates)(sections.removed).forEach((item) => {
|
|
139
|
+
newEntry += `- ${item}\n`;
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
if (sections.fixed.length > 0) {
|
|
143
|
+
newEntry += `\n### 🐛 Fixed\n\n`;
|
|
144
|
+
(0, changelog_1.removeDuplicates)(sections.fixed).forEach((item) => {
|
|
145
|
+
newEntry += `- ${item}\n`;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
if (sections.security.length > 0) {
|
|
149
|
+
newEntry += `\n### 🔒 Security\n\n`;
|
|
150
|
+
(0, changelog_1.removeDuplicates)(sections.security).forEach((item) => {
|
|
151
|
+
newEntry += `- ${item}\n`;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
if (sections.other.length > 0) {
|
|
155
|
+
newEntry += `\n### 📝 Other\n\n`;
|
|
156
|
+
(0, changelog_1.removeDuplicates)(sections.other).forEach((item) => {
|
|
157
|
+
newEntry += `- ${item}\n`;
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
newEntry += "\n";
|
|
161
|
+
// Insert after the header, before the first version
|
|
162
|
+
const lines = content.split("\n");
|
|
163
|
+
const insertIndex = lines.findIndex((line) => line.startsWith("## ["));
|
|
164
|
+
if (insertIndex !== -1) {
|
|
165
|
+
lines.splice(insertIndex, 0, newEntry);
|
|
166
|
+
fs.writeFileSync(changelogPath, lines.join("\n"));
|
|
167
|
+
console.log(`${colors_1.colors.green}✓${colors_1.colors.reset} ${(0, i18n_1.t)("changelogUpdated")} ${commits.length} ${(0, i18n_1.t)("commits")}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read the current version from package.json
|
|
3
|
+
* @param projectRoot - Root directory of the project (default: current directory)
|
|
4
|
+
* @returns Current version string
|
|
5
|
+
*/
|
|
6
|
+
export declare function getCurrentVersion(projectRoot?: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Increment version based on type
|
|
9
|
+
* @param currentVersion - Current version string (e.g., "1.2.3")
|
|
10
|
+
* @param type - Version bump type (major, minor, or patch)
|
|
11
|
+
* @returns New version string
|
|
12
|
+
*/
|
|
13
|
+
export declare function bumpVersion(currentVersion: string, type: "major" | "minor" | "patch"): string;
|
|
14
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAI7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAChC,MAAM,CAaR"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getCurrentVersion = getCurrentVersion;
|
|
37
|
+
exports.bumpVersion = bumpVersion;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
/**
|
|
41
|
+
* Read the current version from package.json
|
|
42
|
+
* @param projectRoot - Root directory of the project (default: current directory)
|
|
43
|
+
* @returns Current version string
|
|
44
|
+
*/
|
|
45
|
+
function getCurrentVersion(projectRoot = process.cwd()) {
|
|
46
|
+
const packagePath = path.join(projectRoot, "package.json");
|
|
47
|
+
const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));
|
|
48
|
+
return packageJson.version;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Increment version based on type
|
|
52
|
+
* @param currentVersion - Current version string (e.g., "1.2.3")
|
|
53
|
+
* @param type - Version bump type (major, minor, or patch)
|
|
54
|
+
* @returns New version string
|
|
55
|
+
*/
|
|
56
|
+
function bumpVersion(currentVersion, type) {
|
|
57
|
+
const [major, minor, patch] = currentVersion.split(".").map(Number);
|
|
58
|
+
switch (type) {
|
|
59
|
+
case "major":
|
|
60
|
+
return `${major + 1}.0.0`;
|
|
61
|
+
case "minor":
|
|
62
|
+
return `${major}.${minor + 1}.0`;
|
|
63
|
+
case "patch":
|
|
64
|
+
return `${major}.${minor}.${patch + 1}`;
|
|
65
|
+
default:
|
|
66
|
+
return currentVersion;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,8CAIC;AAQD,kCAgBC;AApCD,uCAAyB;AACzB,2CAA6B;AAE7B;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,cAAsB,EACtB,IAAiC;IAEjC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC;QAC5B,KAAK,OAAO;YACV,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;QACnC,KAAK,OAAO;YACV,OAAO,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C;YACE,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ridiormf/version-control",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Sistema inteligente de controle de versão que analisa commits e automatiza versionamento semântico (SemVer)",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"version-control": "./bin/version-control.js",
|
|
9
|
+
"smart-commit": "./bin/smart-commit.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"bin",
|
|
14
|
+
"README.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"watch": "tsc --watch",
|
|
20
|
+
"clean": "rm -rf dist",
|
|
21
|
+
"prepare": "yarn build",
|
|
22
|
+
"prepublishOnly": "yarn clean && yarn build",
|
|
23
|
+
"test": "echo \"Tests coming soon\" && exit 0",
|
|
24
|
+
"version": "node bin/version-control.js",
|
|
25
|
+
"version:test": "bash scripts/test-version.sh",
|
|
26
|
+
"commit": "node bin/smart-commit.js"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"version",
|
|
30
|
+
"versioning",
|
|
31
|
+
"semver",
|
|
32
|
+
"semantic-versioning",
|
|
33
|
+
"changelog",
|
|
34
|
+
"git",
|
|
35
|
+
"release",
|
|
36
|
+
"version-control",
|
|
37
|
+
"npm",
|
|
38
|
+
"automation",
|
|
39
|
+
"ci-cd"
|
|
40
|
+
],
|
|
41
|
+
"author": "Ridio Ricardo",
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"repository": {
|
|
44
|
+
"type": "git",
|
|
45
|
+
"url": "https://github.com/ridioricardo/version-control.git"
|
|
46
|
+
},
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/ridioricardo/version-control/issues"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/ridioricardo/version-control#readme",
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=14.0.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/node": "^20.10.6",
|
|
56
|
+
"typescript": "^5.3.3"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"i18next": "^25.7.3"
|
|
60
|
+
}
|
|
61
|
+
}
|