Files
vscode-template-file-generator/package.json
S.Gromov cfbe03e06e feat: Template Forge 1.0.0
- генерация файлов и папок из шаблонов с подстановкой переменных
- каскадный поиск .templates вверх по дереву каталогов
- подсветка синтаксиса и автодополнение переменных в шаблонах
- webview и inputBox режимы ввода переменных
- локализация ru/en
- ядро генерации через @gromlab/create
- Gitea Actions CI для автопубликации
2026-04-02 19:12:35 +03:00

145 lines
4.0 KiB
JSON

{
"name": "templateforge",
"displayName": "Template Forge",
"description": "Generate files and folders from templates with variable substitution and case modifiers. Syntax highlighting and autocomplete for template variables.",
"version": "1.0.0",
"publisher": "TemplateForge",
"author": "Sergey Gromov",
"scripts": {
"build-app": "npm run build && npm run package-vsce",
"compile": "webpack",
"watch": "webpack --watch",
"build": "webpack --mode production --devtool hidden-source-map",
"package-vsce": "vsce package",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"lint": "eslint src",
"test": "vscode-test"
},
"categories": [
"Snippets",
"Other"
],
"keywords": [
"template",
"scaffold",
"generator",
"boilerplate",
"component",
"file generator",
"project structure",
"code generation",
"snippets"
],
"icon": "logo.png",
"homepage": "https://gromlab.ru/gromov/templateforge",
"repository": {
"type": "git",
"url": "git@gromlab.ru:gromov/templateforge.git"
},
"bugs": {
"url": "https://gromlab.ru/gromov/templateforge/issues"
},
"engines": {
"vscode": "^1.60.0"
},
"activationEvents": [
"onStartupFinished"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "templateforge.createFromTemplate",
"title": "%templateforge.createFromTemplate.title%"
},
{
"command": "templateforge.configure",
"title": "%templateforge.configure.title%"
}
],
"menus": {
"explorer/context": [
{
"command": "templateforge.createFromTemplate",
"group": "navigation@10"
}
]
},
"configuration": {
"title": "Template Forge",
"properties": {
"templateForge.templatesPath": {
"type": "string",
"default": ".templates",
"description": "%templateforge.config.templatesPath.description%",
"markdownDescription": "%templateforge.config.templatesPath.description%",
"scope": "application"
},
"templateForge.overwriteFiles": {
"type": "boolean",
"default": false,
"description": "%templateforge.config.overwriteFiles.description%",
"markdownDescription": "%templateforge.config.overwriteFiles.description%",
"scope": "application"
},
"templateForge.inputMode": {
"type": "string",
"enum": [
"webview",
"inputBox"
],
"default": "webview",
"description": "%templateforge.config.inputMode.description%",
"markdownDescription": "%templateforge.config.inputMode.description%",
"scope": "application"
},
"templateForge.language": {
"type": "string",
"enum": [
"ru",
"en"
],
"default": "en",
"description": "%templateforge.config.language.description%",
"markdownDescription": "%templateforge.config.language.description%",
"scope": "application"
}
}
},
"semanticTokenColors": [
{
"token": "bracket",
"foreground": "#FFA500"
},
{
"token": "variable",
"foreground": "#4EC900"
},
{
"token": "modifier",
"foreground": "#0074D9"
}
]
},
"devDependencies": {
"@types/mocha": "^10.0.10",
"@types/node": "20.x",
"@types/vscode": "^1.60.0",
"@typescript-eslint/eslint-plugin": "^8.31.1",
"@typescript-eslint/parser": "^8.31.1",
"@vscode/test-cli": "^0.0.11",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.6.2",
"eslint": "^9.25.1",
"ts-loader": "^9.5.2",
"typescript": "^5.8.3",
"webpack": "^5.99.7",
"webpack-cli": "^6.0.1"
},
"dependencies": {
"@gromlab/create": "^0.2.0"
}
}