@ubic/release-it-config 0.1.7 → 0.1.8
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 +12 -0
- package/dist/cjs/index.cjs +2 -2
- package/dist/esm/index.mjs +1 -1
- package/dist/scripts/print-docker-image.js +27 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,3 +42,15 @@ npm pkg set scripts.release="release-it"
|
|
|
42
42
|
"release": "release-it --config ./config/.release-it.ts"
|
|
43
43
|
}
|
|
44
44
|
```
|
|
45
|
+
|
|
46
|
+
### Вывод пути до docker-образа тега
|
|
47
|
+
|
|
48
|
+
Можно настроить автоматический вывод пути до будущего докер-образа при сборке. Для этого нужно запускать release-it в `verbose` режиме:
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
// package.json
|
|
52
|
+
"scripts": {
|
|
53
|
+
// ...
|
|
54
|
+
"release": "release-it --verbose"
|
|
55
|
+
}
|
|
56
|
+
```
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var n=Object.defineProperty;var
|
|
2
|
-
`,commitGroupsSort:(e,t)=>{if(typeof e.title!="string"||typeof t.title!="string")return 0;let r=Object.values(s),i=r.indexOf(e.title),o=r.indexOf(t.title),f=i!==-1?i:Number.MAX_SAFE_INTEGER,
|
|
1
|
+
"use strict";var n=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var m=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},g=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of u(t))!l.call(e,o)&&o!==r&&n(e,o,{get:()=>t[o],enumerable:!(i=p(t,o))||i.enumerable});return e};var h=e=>g(n({},"__esModule",{value:!0}),e);var C={};m(C,{releaseItConfig:()=>a});module.exports=h(C);var s={feat:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E",fix:"\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",refactor:"\u0420\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433",docs:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",test:"\u0422\u0435\u0441\u0442\u044B",build:"\u0421\u0431\u043E\u0440\u043A\u0430",perf:"\u041F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ci:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 CI/CD",style:"\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0447\u0438\u0442\u0430\u0435\u043C\u043E\u0441\u0442\u0438 \u043A\u043E\u0434\u0430",chore:"\u041E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u0435"};var d={"@release-it/conventional-changelog":{preset:{name:"conventionalcommits"},infile:"CHANGELOG.md",header:"# \u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439",writerOpts:{groupBy:"type",transform:e=>{if(!e.body&&!e.subject)return!1;let t=s[e.type]||s.chore,r=(e?.hash||"").substring(0,7);return{...e,shortHash:r,type:t}},commitPartial:`-{{#if scope}} **{{scope}}:**{{/if}} {{#if body}}{{body}}{{else}}{{subject}}{{/if}}{{#if hash}} [[{{shortHash}}]({{@root.repoUrl}}/{{@root.owner}}/{{@root.repository}}/commit/{{hash}})]{{/if}}{{#each references}} [[{{prefix}}{{issue}}](https://youtrack.ubic.tech/issue/{{prefix}}{{issue}})]{{/each}}
|
|
2
|
+
`,commitGroupsSort:(e,t)=>{if(typeof e.title!="string"||typeof t.title!="string")return 0;let r=Object.values(s),i=r.indexOf(e.title),o=r.indexOf(t.title),f=i!==-1?i:Number.MAX_SAFE_INTEGER,c=o!==-1?o:Number.MAX_SAFE_INTEGER;return f-c}},parserOpts:{mergePattern:/'Merge branch'/,issuePrefixes:["#","[A-Z]{1,6}-"]}}},a={git:{requireBranch:"master",requireUpstream:!0,requireCommits:!0,requireCleanWorkingDir:!0,addUntrackedFiles:!1,commitMessage:"chore(release): ${version}",tag:!0,tagName:"v${version}",push:!0},hooks:{"before:init":`git fetch --quiet && git merge-base --is-ancestor @{u} HEAD || { echo '\u274C \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F \u043D\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E, \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 "git pull".'; exit 1; }`,"after:release":"node ./node_modules/@ubic/release-it-config/dist/scripts/print-docker-image.js"},npm:{publish:!1},plugins:d};
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
var o={feat:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E",fix:"\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",refactor:"\u0420\u0435\u0444\u0430\u043A\u0442\u043E\u0440\u0438\u043D\u0433",docs:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",test:"\u0422\u0435\u0441\u0442\u044B",build:"\u0421\u0431\u043E\u0440\u043A\u0430",perf:"\u041F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ci:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 CI/CD",style:"\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0447\u0438\u0442\u0430\u0435\u043C\u043E\u0441\u0442\u0438 \u043A\u043E\u0434\u0430",chore:"\u041E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u0435"};var f={"@release-it/conventional-changelog":{preset:{name:"conventionalcommits"},infile:"CHANGELOG.md",header:"# \u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439",writerOpts:{groupBy:"type",transform:e=>{if(!e.body&&!e.subject)return!1;let t=o[e.type]||o.chore,r=(e?.hash||"").substring(0,7);return{...e,shortHash:r,type:t}},commitPartial:`-{{#if scope}} **{{scope}}:**{{/if}} {{#if body}}{{body}}{{else}}{{subject}}{{/if}}{{#if hash}} [[{{shortHash}}]({{@root.repoUrl}}/{{@root.owner}}/{{@root.repository}}/commit/{{hash}})]{{/if}}{{#each references}} [[{{prefix}}{{issue}}](https://youtrack.ubic.tech/issue/{{prefix}}{{issue}})]{{/each}}
|
|
2
|
-
`,commitGroupsSort:(e,t)=>{if(typeof e.title!="string"||typeof t.title!="string")return 0;let r=Object.values(o),i=r.indexOf(e.title),s=r.indexOf(t.title),n=i!==-1?i:Number.MAX_SAFE_INTEGER,a=s!==-1?s:Number.MAX_SAFE_INTEGER;return n-a}},parserOpts:{mergePattern:/'Merge branch'/,issuePrefixes:["#","[A-Z]{1,6}-"]}}},
|
|
2
|
+
`,commitGroupsSort:(e,t)=>{if(typeof e.title!="string"||typeof t.title!="string")return 0;let r=Object.values(o),i=r.indexOf(e.title),s=r.indexOf(t.title),n=i!==-1?i:Number.MAX_SAFE_INTEGER,a=s!==-1?s:Number.MAX_SAFE_INTEGER;return n-a}},parserOpts:{mergePattern:/'Merge branch'/,issuePrefixes:["#","[A-Z]{1,6}-"]}}},c={git:{requireBranch:"master",requireUpstream:!0,requireCommits:!0,requireCleanWorkingDir:!0,addUntrackedFiles:!1,commitMessage:"chore(release): ${version}",tag:!0,tagName:"v${version}",push:!0},hooks:{"before:init":`git fetch --quiet && git merge-base --is-ancestor @{u} HEAD || { echo '\u274C \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F \u043D\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E, \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 "git pull".'; exit 1; }`,"after:release":"node ./node_modules/@ubic/release-it-config/dist/scripts/print-docker-image.js"},npm:{publish:!1},plugins:f};export{c as releaseItConfig};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { execSync } from 'child_process';
|
|
4
|
+
import { createRequire } from 'module';
|
|
5
|
+
|
|
6
|
+
const DOCKER_REGISTRY_URL = 'registry.ubic.tech';
|
|
7
|
+
|
|
8
|
+
const require = createRequire(import.meta.url); // нужно для ESM
|
|
9
|
+
const exec = (cmd) => execSync(cmd).toString().trim();
|
|
10
|
+
|
|
11
|
+
// Получаем последнюю версию из git-тега
|
|
12
|
+
const version = exec('git describe --tags --abbrev=0').replace(/^v/, '');
|
|
13
|
+
|
|
14
|
+
// Получаем URL репозитория из git config
|
|
15
|
+
const remoteUrl = exec('git config --get remote.origin.url');
|
|
16
|
+
|
|
17
|
+
// Извлекаем путь проекта
|
|
18
|
+
const match = remoteUrl.match(/[:\/]([^:\/]+\/.+?)\.git$/);
|
|
19
|
+
if (!match) {
|
|
20
|
+
console.error('❌ Не удалось распарсить URL репозитория:', remoteUrl);
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const path = match[1]; // Пример: ed/front/ed-front
|
|
25
|
+
const dockerImage = `${DOCKER_REGISTRY_URL}/${path}:v${version}`;
|
|
26
|
+
|
|
27
|
+
console.log(`\n📦 Docker образ будет доступен по адресу:\n👉 ${dockerImage}`);
|