@astral/pack 0.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.
Files changed (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/bin.d.ts +2 -0
  4. package/bin.js +28 -0
  5. package/cli/enums.d.ts +5 -0
  6. package/cli/enums.js +6 -0
  7. package/cli/index.d.ts +2 -0
  8. package/cli/index.js +2 -0
  9. package/cli/parseArgs/index.d.ts +1 -0
  10. package/cli/parseArgs/index.js +1 -0
  11. package/cli/parseArgs/parseArgs.d.ts +2 -0
  12. package/cli/parseArgs/parseArgs.js +10 -0
  13. package/cli/types.d.ts +5 -0
  14. package/cli/types.js +1 -0
  15. package/commands/build/build.d.ts +6 -0
  16. package/commands/build/build.js +48 -0
  17. package/commands/build/index.d.ts +1 -0
  18. package/commands/build/index.js +1 -0
  19. package/commands/compileJs/compileJs.d.ts +6 -0
  20. package/commands/compileJs/compileJs.js +19 -0
  21. package/commands/compileJs/index.d.ts +1 -0
  22. package/commands/compileJs/index.js +1 -0
  23. package/commands/compileTs/compileTs.d.ts +2 -0
  24. package/commands/compileTs/compileTs.js +45 -0
  25. package/commands/compileTs/index.d.ts +1 -0
  26. package/commands/compileTs/index.js +1 -0
  27. package/commands/copyDoc/copyDoc.d.ts +5 -0
  28. package/commands/copyDoc/copyDoc.js +9 -0
  29. package/commands/copyDoc/index.d.ts +1 -0
  30. package/commands/copyDoc/index.js +1 -0
  31. package/commands/copyStatic/copyStatic.d.ts +7 -0
  32. package/commands/copyStatic/copyStatic.js +17 -0
  33. package/commands/copyStatic/index.d.ts +1 -0
  34. package/commands/copyStatic/index.js +1 -0
  35. package/commands/generatePackageJson/generatePackageJson.d.ts +8 -0
  36. package/commands/generatePackageJson/generatePackageJson.js +70 -0
  37. package/commands/generatePackageJson/index.d.ts +1 -0
  38. package/commands/generatePackageJson/index.js +1 -0
  39. package/commands/index.d.ts +7 -0
  40. package/commands/index.js +7 -0
  41. package/commands/rmDist/index.d.ts +1 -0
  42. package/commands/rmDist/index.js +1 -0
  43. package/commands/rmDist/rmDist.d.ts +2 -0
  44. package/commands/rmDist/rmDist.js +17 -0
  45. package/commands/semanticRelease/checkPackageVersion/checkPackageVersion.d.ts +2 -0
  46. package/commands/semanticRelease/checkPackageVersion/checkPackageVersion.js +50 -0
  47. package/commands/semanticRelease/checkPackageVersion/index.d.ts +1 -0
  48. package/commands/semanticRelease/checkPackageVersion/index.js +1 -0
  49. package/commands/semanticRelease/createRelease/createRelease.d.ts +2 -0
  50. package/commands/semanticRelease/createRelease/createRelease.js +25 -0
  51. package/commands/semanticRelease/createRelease/index.d.ts +1 -0
  52. package/commands/semanticRelease/createRelease/index.js +1 -0
  53. package/commands/semanticRelease/defaultConfig.d.ts +39 -0
  54. package/commands/semanticRelease/defaultConfig.js +63 -0
  55. package/commands/semanticRelease/index.d.ts +2 -0
  56. package/commands/semanticRelease/index.js +2 -0
  57. package/config/ConfigService/ConfigService.d.ts +27 -0
  58. package/config/ConfigService/ConfigService.js +76 -0
  59. package/config/ConfigService/index.d.ts +1 -0
  60. package/config/ConfigService/index.js +1 -0
  61. package/config/ConfigService/validation.d.ts +3 -0
  62. package/config/ConfigService/validation.js +28 -0
  63. package/config/defineConfig/defineConfig.d.ts +2 -0
  64. package/config/defineConfig/defineConfig.js +1 -0
  65. package/config/defineConfig/index.d.ts +1 -0
  66. package/config/defineConfig/index.js +1 -0
  67. package/config/index.d.ts +3 -0
  68. package/config/index.js +3 -0
  69. package/config/types.d.ts +54 -0
  70. package/config/types.js +1 -0
  71. package/index.d.ts +1 -0
  72. package/index.js +1 -0
  73. package/node/bin.d.ts +2 -0
  74. package/node/bin.js +30 -0
  75. package/node/cli/enums.d.ts +5 -0
  76. package/node/cli/enums.js +9 -0
  77. package/node/cli/index.d.ts +2 -0
  78. package/node/cli/index.js +18 -0
  79. package/node/cli/parseArgs/index.d.ts +1 -0
  80. package/node/cli/parseArgs/index.js +17 -0
  81. package/node/cli/parseArgs/parseArgs.d.ts +2 -0
  82. package/node/cli/parseArgs/parseArgs.js +14 -0
  83. package/node/cli/types.d.ts +5 -0
  84. package/node/cli/types.js +2 -0
  85. package/node/commands/build/build.d.ts +6 -0
  86. package/node/commands/build/build.js +55 -0
  87. package/node/commands/build/index.d.ts +1 -0
  88. package/node/commands/build/index.js +17 -0
  89. package/node/commands/compileJs/compileJs.d.ts +6 -0
  90. package/node/commands/compileJs/compileJs.js +26 -0
  91. package/node/commands/compileJs/index.d.ts +1 -0
  92. package/node/commands/compileJs/index.js +17 -0
  93. package/node/commands/compileTs/compileTs.d.ts +2 -0
  94. package/node/commands/compileTs/compileTs.js +52 -0
  95. package/node/commands/compileTs/index.d.ts +1 -0
  96. package/node/commands/compileTs/index.js +17 -0
  97. package/node/commands/copyDoc/copyDoc.d.ts +5 -0
  98. package/node/commands/copyDoc/copyDoc.js +13 -0
  99. package/node/commands/copyDoc/index.d.ts +1 -0
  100. package/node/commands/copyDoc/index.js +17 -0
  101. package/node/commands/copyStatic/copyStatic.d.ts +7 -0
  102. package/node/commands/copyStatic/copyStatic.js +24 -0
  103. package/node/commands/copyStatic/index.d.ts +1 -0
  104. package/node/commands/copyStatic/index.js +17 -0
  105. package/node/commands/generatePackageJson/generatePackageJson.d.ts +8 -0
  106. package/node/commands/generatePackageJson/generatePackageJson.js +77 -0
  107. package/node/commands/generatePackageJson/index.d.ts +1 -0
  108. package/node/commands/generatePackageJson/index.js +17 -0
  109. package/node/commands/index.d.ts +7 -0
  110. package/node/commands/index.js +23 -0
  111. package/node/commands/rmDist/index.d.ts +1 -0
  112. package/node/commands/rmDist/index.js +17 -0
  113. package/node/commands/rmDist/rmDist.d.ts +2 -0
  114. package/node/commands/rmDist/rmDist.js +24 -0
  115. package/node/commands/semanticRelease/checkPackageVersion/checkPackageVersion.d.ts +2 -0
  116. package/node/commands/semanticRelease/checkPackageVersion/checkPackageVersion.js +57 -0
  117. package/node/commands/semanticRelease/checkPackageVersion/index.d.ts +1 -0
  118. package/node/commands/semanticRelease/checkPackageVersion/index.js +17 -0
  119. package/node/commands/semanticRelease/createRelease/createRelease.d.ts +2 -0
  120. package/node/commands/semanticRelease/createRelease/createRelease.js +32 -0
  121. package/node/commands/semanticRelease/createRelease/index.d.ts +1 -0
  122. package/node/commands/semanticRelease/createRelease/index.js +17 -0
  123. package/node/commands/semanticRelease/defaultConfig.d.ts +39 -0
  124. package/node/commands/semanticRelease/defaultConfig.js +67 -0
  125. package/node/commands/semanticRelease/index.d.ts +2 -0
  126. package/node/commands/semanticRelease/index.js +18 -0
  127. package/node/config/ConfigService/ConfigService.d.ts +27 -0
  128. package/node/config/ConfigService/ConfigService.js +116 -0
  129. package/node/config/ConfigService/index.d.ts +1 -0
  130. package/node/config/ConfigService/index.js +17 -0
  131. package/node/config/ConfigService/validation.d.ts +3 -0
  132. package/node/config/ConfigService/validation.js +64 -0
  133. package/node/config/defineConfig/defineConfig.d.ts +2 -0
  134. package/node/config/defineConfig/defineConfig.js +5 -0
  135. package/node/config/defineConfig/index.d.ts +1 -0
  136. package/node/config/defineConfig/index.js +17 -0
  137. package/node/config/index.d.ts +3 -0
  138. package/node/config/index.js +19 -0
  139. package/node/config/types.d.ts +54 -0
  140. package/node/config/types.js +2 -0
  141. package/node/index.d.ts +1 -0
  142. package/node/index.js +5 -0
  143. package/node/services/Logger/Logger.d.ts +7 -0
  144. package/node/services/Logger/Logger.js +19 -0
  145. package/node/services/Logger/index.d.ts +1 -0
  146. package/node/services/Logger/index.js +17 -0
  147. package/node/services/index.d.ts +1 -0
  148. package/node/services/index.js +17 -0
  149. package/package.json +45 -0
  150. package/services/Logger/Logger.d.ts +7 -0
  151. package/services/Logger/Logger.js +15 -0
  152. package/services/Logger/index.d.ts +1 -0
  153. package/services/Logger/index.js +1 -0
  154. package/services/index.d.ts +1 -0
  155. package/services/index.js +1 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.compileTs = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const node_child_process_1 = require("node:child_process");
9
+ const services_1 = require("../../services");
10
+ const compileTs = (config) => {
11
+ const { tsConfigName, format, projectPath, distPath } = config;
12
+ const promises = [];
13
+ const execTs = (childProcess) => {
14
+ const { promise, resolve, reject } = Promise.withResolvers();
15
+ promises.push(promise);
16
+ childProcess.on('error', (err) => {
17
+ reject(err);
18
+ });
19
+ childProcess.on('exit', () => {
20
+ resolve();
21
+ });
22
+ };
23
+ services_1.logger.progress('Build ts файлов');
24
+ if (format?.includes('cjs')) {
25
+ execTs((0, node_child_process_1.spawn)('tsc', [
26
+ '-p',
27
+ path_1.default.join(projectPath, tsConfigName),
28
+ '--module',
29
+ 'commonjs',
30
+ '--outDir',
31
+ path_1.default.join(distPath, 'node'),
32
+ ],
33
+ // Вывод логов в консоль
34
+ { stdio: 'inherit' }));
35
+ }
36
+ if (format?.includes('esm')) {
37
+ execTs((0, node_child_process_1.spawn)('tsc', [
38
+ '-p',
39
+ path_1.default.join(projectPath, tsConfigName),
40
+ '--module',
41
+ 'es2022',
42
+ '--outDir',
43
+ distPath,
44
+ ],
45
+ // Вывод логов в консоль
46
+ { stdio: 'inherit' }));
47
+ }
48
+ return Promise.all(promises).then(() => {
49
+ services_1.logger.success('Сборка прошла успешно');
50
+ });
51
+ };
52
+ exports.compileTs = compileTs;
@@ -0,0 +1 @@
1
+ export * from './compileTs';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./compileTs"), exports);
@@ -0,0 +1,5 @@
1
+ import { ConfigService } from '../../config';
2
+ /**
3
+ * Копирует README и license
4
+ */
5
+ export declare const copyDoc: (config: ConfigService) => Promise<void>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyDoc = void 0;
4
+ const copyStatic_1 = require("../copyStatic");
5
+ const services_1 = require("../../services");
6
+ /**
7
+ * Копирует README и license
8
+ */
9
+ const copyDoc = async (config) => {
10
+ services_1.logger.progress('Копирование README.md и LICENSE');
11
+ return (0, copyStatic_1.copyStatic)({ filter: ['README.md', 'LICENSE'] }, config);
12
+ };
13
+ exports.copyDoc = copyDoc;
@@ -0,0 +1 @@
1
+ export * from './copyDoc';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./copyDoc"), exports);
@@ -0,0 +1,7 @@
1
+ import { ConfigService } from '../../config';
2
+ type Params = {
3
+ filter: string[];
4
+ ignoreSrc?: boolean;
5
+ };
6
+ export declare const copyStatic: ({ filter, ignoreSrc }: Params, configService: ConfigService) => Promise<void>;
7
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.copyStatic = void 0;
7
+ const recursive_copy_1 = __importDefault(require("recursive-copy"));
8
+ const services_1 = require("../../services");
9
+ const copyStatic = ({ filter, ignoreSrc }, configService) => {
10
+ const { projectPath, distPath } = configService;
11
+ services_1.logger.progress('Копирование статических файлов');
12
+ return (0, recursive_copy_1.default)(projectPath, distPath, {
13
+ filter,
14
+ rename: (filePath) => (ignoreSrc ? filePath.replace('src/', '') : filePath),
15
+ })
16
+ .then((results) => {
17
+ services_1.logger.success('Статичные файлы скопированы:', results.map(({ src, dest }) => `${src} -> ${dest}`));
18
+ })
19
+ .catch((err) => {
20
+ services_1.logger.error('Ошибка копирования статических файлов');
21
+ throw err;
22
+ });
23
+ };
24
+ exports.copyStatic = copyStatic;
@@ -0,0 +1 @@
1
+ export * from './copyStatic';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./copyStatic"), exports);
@@ -0,0 +1,8 @@
1
+ import { ConfigService } from '../../config';
2
+ type PackageJson = Record<string, unknown>;
3
+ type Params = {
4
+ packageVersion: string;
5
+ originPackageJson: PackageJson;
6
+ };
7
+ export declare const generatePackageJson: ({ packageVersion, originPackageJson }: Params, config: ConfigService) => Promise<void>;
8
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generatePackageJson = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const services_1 = require("../../services");
10
+ const omitDevProps = (originPackageJson) => {
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ const { scripts, devDependencies, typesVersions, ...packageJson } = originPackageJson;
13
+ return packageJson;
14
+ };
15
+ /**
16
+ * Устанавливает пакетам из releaseGroup одну версию в зависимостях
17
+ */
18
+ const initUpdatingReleaseGroup = (config, packageVersion) => (originPackageJson) => {
19
+ const { semanticRelease } = config;
20
+ const { releaseGroup } = semanticRelease;
21
+ if (!releaseGroup) {
22
+ return originPackageJson;
23
+ }
24
+ const { dependencies } = originPackageJson;
25
+ return {
26
+ ...originPackageJson,
27
+ dependencies: releaseGroup.reduce((deps, packageName) => {
28
+ deps[packageName] = packageVersion;
29
+ return deps;
30
+ }, dependencies),
31
+ };
32
+ };
33
+ const initExportsGenerator = ({ packageExports, format, lang }) => (originPackageJson) => {
34
+ const rootExports = {};
35
+ if (format.includes('esm')) {
36
+ rootExports.module = './index.js';
37
+ }
38
+ if (format.includes('cjs')) {
39
+ rootExports.require = './node/index.js';
40
+ }
41
+ if (lang === 'ts') {
42
+ rootExports.types = './index.d.ts';
43
+ }
44
+ return {
45
+ ...originPackageJson,
46
+ exports: {
47
+ '.': rootExports,
48
+ ...packageExports,
49
+ },
50
+ };
51
+ };
52
+ const initAdditionalCommonProps = (packageVersion, config) => (originPackageJson) => ({
53
+ ...originPackageJson,
54
+ version: packageVersion,
55
+ sideEffects: false,
56
+ types: './index.d.ts',
57
+ main: './node/index.js',
58
+ module: './index.js',
59
+ browser: './index.js',
60
+ author: 'Astral.Soft',
61
+ license: 'MIT',
62
+ repository: {
63
+ type: 'git',
64
+ url: config.semanticRelease.repositoryUrl,
65
+ },
66
+ });
67
+ const generatePackageJson = async ({ packageVersion, originPackageJson }, config) => {
68
+ services_1.logger.progress('Генерация package.json');
69
+ const updateReleaseGroup = initUpdatingReleaseGroup(config, packageVersion);
70
+ const updateAdditionalCommonProps = initAdditionalCommonProps(packageVersion, config);
71
+ const generateExports = initExportsGenerator(config);
72
+ const packageJson = generateExports(omitDevProps(updateAdditionalCommonProps(updateReleaseGroup(originPackageJson))));
73
+ const { distPath } = config;
74
+ fs_1.default.writeFileSync(path_1.default.join(distPath, 'package.json'), JSON.stringify(packageJson, null, 2));
75
+ services_1.logger.success('package.json успешно сформирован в ', distPath);
76
+ };
77
+ exports.generatePackageJson = generatePackageJson;
@@ -0,0 +1 @@
1
+ export * from './generatePackageJson';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./generatePackageJson"), exports);
@@ -0,0 +1,7 @@
1
+ export * from './rmDist';
2
+ export * from './copyStatic';
3
+ export * from './compileTs';
4
+ export * from './compileJs';
5
+ export * from './build';
6
+ export * from './semanticRelease';
7
+ export * from './copyDoc';
@@ -0,0 +1,23 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./rmDist"), exports);
18
+ __exportStar(require("./copyStatic"), exports);
19
+ __exportStar(require("./compileTs"), exports);
20
+ __exportStar(require("./compileJs"), exports);
21
+ __exportStar(require("./build"), exports);
22
+ __exportStar(require("./semanticRelease"), exports);
23
+ __exportStar(require("./copyDoc"), exports);
@@ -0,0 +1 @@
1
+ export * from './rmDist';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./rmDist"), exports);
@@ -0,0 +1,2 @@
1
+ import type { ConfigService } from '../../config';
2
+ export declare const rmDist: (configService: ConfigService) => void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.rmDist = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const services_1 = require("../../services");
9
+ const rmDist = (configService) => {
10
+ const { distPath, distDirName } = configService;
11
+ if (!fs_1.default.existsSync(distPath)) {
12
+ return;
13
+ }
14
+ services_1.logger.progress(`Удаление ${distDirName} директории`);
15
+ try {
16
+ fs_1.default.rmSync(distPath, { recursive: true, force: true });
17
+ services_1.logger.success(`${distDirName} директория удалена`);
18
+ }
19
+ catch (err) {
20
+ services_1.logger.error(`Ошибка удаления ${distDirName} директории`, err);
21
+ throw err;
22
+ }
23
+ };
24
+ exports.rmDist = rmDist;
@@ -0,0 +1,2 @@
1
+ import { ConfigService } from '../../../config';
2
+ export declare const checkPackageVersion: (config: ConfigService) => Promise<void>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkPackageVersion = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const semantic_release_1 = __importDefault(require("semantic-release"));
10
+ const services_1 = require("../../../services");
11
+ const defaultConfig_1 = require("../defaultConfig");
12
+ const checkPackageVersion = async (config) => {
13
+ services_1.logger.progress('Анализ коммитов');
14
+ let versions;
15
+ try {
16
+ const result = await (0, semantic_release_1.default)({
17
+ branches: defaultConfig_1.defaultBranches,
18
+ plugins: [defaultConfig_1.commitAnalyzerPlugin],
19
+ dryRun: true,
20
+ ci: true,
21
+ });
22
+ if (result) {
23
+ services_1.logger.success('Коммиты успешно проанализированы');
24
+ const { lastRelease, nextRelease } = result;
25
+ versions = {
26
+ currentVersion: lastRelease.version ?? null,
27
+ nextVersion: nextRelease.version ?? null,
28
+ };
29
+ services_1.logger.info('Версии пакета:', versions);
30
+ }
31
+ else {
32
+ throw new Error('Не удалось провести анализ коммитов');
33
+ }
34
+ }
35
+ catch (err) {
36
+ services_1.logger.error('Ошибка анализа коммитов', err);
37
+ throw err;
38
+ }
39
+ if (versions.currentVersion === versions.nextVersion) {
40
+ throw Error('Версии пакетов совпадают');
41
+ }
42
+ const { packPrivateDirPath, semanticRelease: semanticReleaseConfig } = config;
43
+ const versionFilePath = path_1.default.join(packPrivateDirPath, semanticReleaseConfig.versionsFileName);
44
+ services_1.logger.progress('Запись данных о версиях в файл', versionFilePath);
45
+ try {
46
+ if (!fs_1.default.existsSync(packPrivateDirPath)) {
47
+ fs_1.default.mkdirSync('.pack');
48
+ }
49
+ fs_1.default.writeFileSync(versionFilePath, JSON.stringify(versions));
50
+ services_1.logger.success('Данные о версиях в файл успешно записаны');
51
+ }
52
+ catch (err) {
53
+ services_1.logger.error('Ошибка записи данных о версиях в файл', err);
54
+ throw err;
55
+ }
56
+ };
57
+ exports.checkPackageVersion = checkPackageVersion;
@@ -0,0 +1 @@
1
+ export * from './checkPackageVersion';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./checkPackageVersion"), exports);
@@ -0,0 +1,2 @@
1
+ import { ConfigService } from '../../../config';
2
+ export declare const createRelease: (config: ConfigService) => Promise<void>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createRelease = void 0;
7
+ const semantic_release_1 = __importDefault(require("semantic-release"));
8
+ const services_1 = require("../../../services");
9
+ const defaultConfig_1 = require("../defaultConfig");
10
+ const createRelease = async (config) => {
11
+ services_1.logger.progress('Добавление git тэгов и создание релиза в gitlab');
12
+ try {
13
+ const semanticReleaseConfig = (0, defaultConfig_1.getDefaultConfig)(config.semanticRelease);
14
+ const result = await (0, semantic_release_1.default)({
15
+ ...semanticReleaseConfig,
16
+ plugins: semanticReleaseConfig.plugins,
17
+ ci: true,
18
+ });
19
+ if (result) {
20
+ const { nextRelease } = result;
21
+ services_1.logger.success(`Релиз ${nextRelease.version} успешно создан`);
22
+ }
23
+ else {
24
+ throw new Error('Не удалось провести анализ коммитов');
25
+ }
26
+ }
27
+ catch (err) {
28
+ services_1.logger.error('Ошибка создания релиза', err);
29
+ throw err;
30
+ }
31
+ };
32
+ exports.createRelease = createRelease;
@@ -0,0 +1 @@
1
+ export * from './createRelease';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./createRelease"), exports);
@@ -0,0 +1,39 @@
1
+ type Params = {
2
+ repositoryUrl: string;
3
+ };
4
+ export declare const defaultBranches: (string | {
5
+ name: string;
6
+ prerelease: boolean;
7
+ })[];
8
+ export declare const commitAnalyzerPlugin: (string | {
9
+ releaseRules: {
10
+ type: string;
11
+ release: string;
12
+ }[];
13
+ })[];
14
+ export declare const getDefaultConfig: ({ repositoryUrl }: Params) => {
15
+ branches: (string | {
16
+ name: string;
17
+ prerelease: boolean;
18
+ })[];
19
+ repositoryUrl: string;
20
+ plugins: ((string | {
21
+ releaseRules: {
22
+ type: string;
23
+ release: string;
24
+ }[];
25
+ })[] | (string | {
26
+ preset: string;
27
+ linkReferences: boolean;
28
+ presetConfig: {
29
+ types: {
30
+ type: string;
31
+ section: string;
32
+ hidden: boolean;
33
+ }[];
34
+ };
35
+ })[] | (string | {
36
+ gitlabUrl: string;
37
+ })[])[];
38
+ };
39
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultConfig = exports.commitAnalyzerPlugin = exports.defaultBranches = void 0;
4
+ exports.defaultBranches = [
5
+ 'main',
6
+ 'feat/build',
7
+ { name: 'rc', prerelease: true },
8
+ ];
9
+ exports.commitAnalyzerPlugin = [
10
+ '@semantic-release/commit-analyzer',
11
+ {
12
+ releaseRules: [
13
+ { type: 'bug', release: 'patch' },
14
+ { type: 'build', release: 'patch' },
15
+ { type: 'feat', release: 'minor' },
16
+ { type: 'refactor', release: 'patch' },
17
+ { type: 'major', release: 'major' },
18
+ { type: 'doc', release: 'patch' },
19
+ ],
20
+ },
21
+ ];
22
+ const getDefaultConfig = ({ repositoryUrl }) => ({
23
+ branches: exports.defaultBranches,
24
+ repositoryUrl,
25
+ plugins: [
26
+ exports.commitAnalyzerPlugin,
27
+ [
28
+ '@semantic-release/release-notes-generator',
29
+ {
30
+ // cspell:ignore conventionalcommits
31
+ preset: 'conventionalcommits',
32
+ linkReferences: true,
33
+ presetConfig: {
34
+ types: [
35
+ {
36
+ type: 'bug',
37
+ section: '🐞 Bugs',
38
+ hidden: false,
39
+ },
40
+ {
41
+ type: 'feat',
42
+ section: '✨ Features',
43
+ hidden: false,
44
+ },
45
+ {
46
+ type: 'build',
47
+ section: '📦 Build',
48
+ hidden: false,
49
+ },
50
+ {
51
+ type: 'doc',
52
+ section: '📄 Docs',
53
+ hidden: false,
54
+ },
55
+ ],
56
+ },
57
+ },
58
+ ],
59
+ [
60
+ '@semantic-release/gitlab',
61
+ {
62
+ gitlabUrl: 'https://git.astralnalog.ru',
63
+ },
64
+ ],
65
+ ],
66
+ });
67
+ exports.getDefaultConfig = getDefaultConfig;
@@ -0,0 +1,2 @@
1
+ export * from './checkPackageVersion';
2
+ export * from './createRelease';
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./checkPackageVersion"), exports);
18
+ __exportStar(require("./createRelease"), exports);