@cluerise/tools 5.3.2 → 5.3.4
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/dist/configs/commitlint.config.ts +3 -3
- package/dist/configs/eslint.config.js +93 -63
- package/dist/configs/lint-staged.config.js +2 -2
- package/dist/configs/prettier.config.js +4 -5
- package/dist/configs/release-cwd.config.cjs +1 -1
- package/dist/configs/release.config.js +19 -19
- package/dist/configs/tsconfig.json +1 -0
- package/dist/scripts/create-commit-message/main.js +0 -1
- package/dist/scripts/format-commit-message/main.js +0 -1
- package/dist/scripts/release/main.js +5 -1
- package/package.json +15 -15
|
@@ -22,10 +22,10 @@ const commitlintConfig: UserConfig = {
|
|
|
22
22
|
'type-enum': [
|
|
23
23
|
RuleConfigSeverity.Error,
|
|
24
24
|
'always',
|
|
25
|
-
['chore', 'deps', 'docs', 'feat', 'fix', 'perf', 'refactor', 'release', 'revert', 'style', 'test']
|
|
25
|
+
['chore', 'deps', 'docs', 'feat', 'fix', 'perf', 'refactor', 'release', 'revert', 'style', 'test'],
|
|
26
26
|
],
|
|
27
|
-
'type-empty': [RuleConfigSeverity.Error, 'never']
|
|
28
|
-
}
|
|
27
|
+
'type-empty': [RuleConfigSeverity.Error, 'never'],
|
|
28
|
+
},
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
export default commitlintConfig;
|
|
@@ -15,7 +15,7 @@ export default defineConfig([
|
|
|
15
15
|
// JavaScript
|
|
16
16
|
{
|
|
17
17
|
...eslintJs.configs.recommended,
|
|
18
|
-
name: 'cluerise: eslint/js'
|
|
18
|
+
name: 'cluerise: eslint/js',
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
name: 'cluerise: eslint/js/rules',
|
|
@@ -25,33 +25,33 @@ export default defineConfig([
|
|
|
25
25
|
'no-undef-init': 'error',
|
|
26
26
|
'no-unused-vars': 'off',
|
|
27
27
|
'object-shorthand': 'error',
|
|
28
|
-
'sort-imports': 'off'
|
|
29
|
-
}
|
|
28
|
+
'sort-imports': 'off',
|
|
29
|
+
},
|
|
30
30
|
},
|
|
31
31
|
// TypeScript
|
|
32
32
|
...typescriptEslint.configs.recommendedTypeChecked.map((config) => ({
|
|
33
33
|
...config,
|
|
34
|
-
name: `cluerise: ${config.name ?? 'typescript-eslint'}
|
|
34
|
+
name: `cluerise: ${config.name ?? 'typescript-eslint'}`,
|
|
35
35
|
})),
|
|
36
36
|
{
|
|
37
37
|
name: 'cluerise: typescript-eslint/language-options',
|
|
38
38
|
languageOptions: {
|
|
39
39
|
globals: {
|
|
40
40
|
...globals.browser,
|
|
41
|
-
...globals.node
|
|
41
|
+
...globals.node,
|
|
42
42
|
},
|
|
43
43
|
parserOptions: {
|
|
44
44
|
projectService: {
|
|
45
|
-
allowDefaultProject: ['*.md/*']
|
|
45
|
+
allowDefaultProject: ['*.md/*'],
|
|
46
46
|
},
|
|
47
|
-
tsconfigRootDir: import.meta.dirname
|
|
48
|
-
}
|
|
49
|
-
}
|
|
47
|
+
tsconfigRootDir: import.meta.dirname,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
name: 'cluerise: typescript-eslint/disable-type-checked',
|
|
53
53
|
files: ['**/*.html', '**/*.js', '**/*.cjs', '**/*.json', '**/*.jsonc', '**/*.yaml'],
|
|
54
|
-
extends: [typescriptEslint.configs.disableTypeChecked]
|
|
54
|
+
extends: [typescriptEslint.configs.disableTypeChecked],
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
name: 'cluerise: typescript-eslint/rules',
|
|
@@ -68,24 +68,25 @@ export default defineConfig([
|
|
|
68
68
|
caughtErrorsIgnorePattern: '^_',
|
|
69
69
|
destructuredArrayIgnorePattern: '^_',
|
|
70
70
|
ignoreRestSiblings: true,
|
|
71
|
-
varsIgnorePattern: '^_'
|
|
72
|
-
}
|
|
73
|
-
]
|
|
74
|
-
|
|
71
|
+
varsIgnorePattern: '^_',
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
'@typescript-eslint/require-await': 'off',
|
|
75
|
+
},
|
|
75
76
|
},
|
|
76
77
|
{
|
|
77
78
|
name: 'cluerise: typescript-eslint/rules/ts',
|
|
78
79
|
files: ['**/*.{ts,tsx}'],
|
|
79
80
|
rules: {
|
|
80
|
-
'@typescript-eslint/consistent-type-imports': ['error', { fixStyle: 'inline-type-imports' }]
|
|
81
|
-
}
|
|
81
|
+
'@typescript-eslint/consistent-type-imports': ['error', { fixStyle: 'inline-type-imports' }],
|
|
82
|
+
},
|
|
82
83
|
},
|
|
83
84
|
{
|
|
84
85
|
name: 'cluerise: typescript-eslint/rules/tests',
|
|
85
86
|
files: ['**/*.test.{ts,tsx}'],
|
|
86
87
|
rules: {
|
|
87
|
-
'@typescript-eslint/no-unsafe-assignment': 'off'
|
|
88
|
-
}
|
|
88
|
+
'@typescript-eslint/no-unsafe-assignment': 'off',
|
|
89
|
+
},
|
|
89
90
|
},
|
|
90
91
|
// JSON
|
|
91
92
|
{
|
|
@@ -93,14 +94,14 @@ export default defineConfig([
|
|
|
93
94
|
files: ['**/*.json'],
|
|
94
95
|
plugins: { json: eslintJson },
|
|
95
96
|
language: 'json/json',
|
|
96
|
-
extends: ['json/recommended']
|
|
97
|
+
extends: ['json/recommended'],
|
|
97
98
|
},
|
|
98
99
|
{
|
|
99
100
|
name: 'cluerise: eslint/jsonc',
|
|
100
101
|
files: ['**/*.jsonc'],
|
|
101
102
|
plugins: { json: eslintJson },
|
|
102
103
|
language: 'json/jsonc',
|
|
103
|
-
extends: ['json/recommended']
|
|
104
|
+
extends: ['json/recommended'],
|
|
104
105
|
},
|
|
105
106
|
// Markdown
|
|
106
107
|
{
|
|
@@ -108,26 +109,40 @@ export default defineConfig([
|
|
|
108
109
|
files: ['**/*.md'],
|
|
109
110
|
plugins: { markdown: eslintMarkdown },
|
|
110
111
|
processor: 'markdown/markdown',
|
|
111
|
-
extends: ['markdown/recommended']
|
|
112
|
+
extends: ['markdown/recommended'],
|
|
112
113
|
},
|
|
113
114
|
// YAML
|
|
114
115
|
...eslintPluginYml.configs['flat/recommended'].map((config) => ({
|
|
115
116
|
...config,
|
|
116
|
-
name: `cluerise: ${config.name ?? 'eslint/yaml'}
|
|
117
|
+
name: `cluerise: ${config.name ?? 'eslint/yaml'}`,
|
|
117
118
|
})),
|
|
118
119
|
{
|
|
119
120
|
name: 'cluerise: eslint/yaml/rules',
|
|
120
121
|
rules: {
|
|
121
122
|
'yml/no-empty-mapping-value': 'off',
|
|
122
|
-
'yml/quotes': ['error', { prefer: 'single' }]
|
|
123
|
-
}
|
|
123
|
+
'yml/quotes': ['error', { prefer: 'single' }],
|
|
124
|
+
},
|
|
124
125
|
},
|
|
125
126
|
// Import
|
|
126
127
|
{
|
|
127
128
|
name: 'cluerise: eslint/import/js',
|
|
128
|
-
files: ['**/*.js
|
|
129
|
+
files: ['**/*.{js,cjs}'],
|
|
129
130
|
extends: [eslintPluginImport.flatConfigs.recommended],
|
|
130
131
|
rules: {
|
|
132
|
+
'import/extensions': [
|
|
133
|
+
'error',
|
|
134
|
+
'ignorePackages',
|
|
135
|
+
{
|
|
136
|
+
checkTypeImports: true,
|
|
137
|
+
pattern: { js: 'always', jsx: 'always', ts: 'always', tsx: 'always' },
|
|
138
|
+
pathGroupOverrides: [
|
|
139
|
+
{
|
|
140
|
+
pattern: ':/*',
|
|
141
|
+
action: 'ignore',
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
],
|
|
131
146
|
'import/first': 'error',
|
|
132
147
|
'import/namespace': 'off',
|
|
133
148
|
'import/newline-after-import': 'error',
|
|
@@ -137,14 +152,29 @@ export default defineConfig([
|
|
|
137
152
|
'import/no-duplicates': 'error',
|
|
138
153
|
'import/no-mutable-exports': 'error',
|
|
139
154
|
'import/no-unassigned-import': ['error', { allow: ['reset-css'] }],
|
|
140
|
-
'import/order': 'off'
|
|
141
|
-
}
|
|
155
|
+
'import/order': 'off',
|
|
156
|
+
},
|
|
142
157
|
},
|
|
143
158
|
{
|
|
144
159
|
name: 'cluerise: eslint/import/ts',
|
|
145
160
|
files: ['**/*.{ts,tsx}'],
|
|
146
161
|
extends: [eslintPluginImport.flatConfigs.recommended, eslintPluginImport.flatConfigs.typescript],
|
|
147
162
|
rules: {
|
|
163
|
+
'import/extensions': [
|
|
164
|
+
'error',
|
|
165
|
+
'ignorePackages',
|
|
166
|
+
{
|
|
167
|
+
checkTypeImports: true,
|
|
168
|
+
pattern: { js: 'always', jsx: 'always', ts: 'always', tsx: 'always' },
|
|
169
|
+
pathGroupOverrides: [
|
|
170
|
+
{
|
|
171
|
+
pattern: ':/*',
|
|
172
|
+
action: 'ignore',
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
'import/export': 'off',
|
|
148
178
|
'import/first': 'error',
|
|
149
179
|
'import/namespace': 'off',
|
|
150
180
|
'import/newline-after-import': 'error',
|
|
@@ -155,76 +185,76 @@ export default defineConfig([
|
|
|
155
185
|
'import/no-mutable-exports': 'error',
|
|
156
186
|
'import/no-unassigned-import': ['error', { allow: ['reset-css'] }],
|
|
157
187
|
'import/no-unresolved': ['error', { ignore: ['cloudflare:test', 'cloudflare:workers', 'cloudflare:workflows'] }],
|
|
158
|
-
'import/order': 'off'
|
|
159
|
-
}
|
|
188
|
+
'import/order': 'off',
|
|
189
|
+
},
|
|
160
190
|
},
|
|
161
191
|
{
|
|
162
192
|
name: 'cluerise: eslint/import/rules/config.js,cjs',
|
|
163
193
|
files: ['**/*.config.{js,cjs}'],
|
|
164
194
|
rules: {
|
|
165
195
|
'@typescript-eslint/no-require-imports': 'off',
|
|
166
|
-
'import/no-commonjs': 'off'
|
|
167
|
-
}
|
|
196
|
+
'import/no-commonjs': 'off',
|
|
197
|
+
},
|
|
168
198
|
},
|
|
169
199
|
{
|
|
170
200
|
name: 'cluerise: eslint/import/rules/config.js,cjs,ts',
|
|
171
201
|
files: ['**/*.config.{js,cjs,ts}'],
|
|
172
202
|
rules: {
|
|
173
|
-
'import/no-default-export': 'off'
|
|
174
|
-
}
|
|
203
|
+
'import/no-default-export': 'off',
|
|
204
|
+
},
|
|
175
205
|
},
|
|
176
206
|
{
|
|
177
207
|
name: 'cluerise: eslint/import/rules/setup.js,cjs',
|
|
178
208
|
files: ['**/*.setup.{js,cjs}'],
|
|
179
209
|
rules: {
|
|
180
210
|
'@typescript-eslint/no-require-imports': 'off',
|
|
181
|
-
'import/no-commonjs': 'off'
|
|
182
|
-
}
|
|
211
|
+
'import/no-commonjs': 'off',
|
|
212
|
+
},
|
|
183
213
|
},
|
|
184
214
|
{
|
|
185
215
|
name: 'cluerise: eslint/import/rules/setup.js,cjs,ts',
|
|
186
216
|
files: ['**/*.setup.{js,cjs,ts}'],
|
|
187
217
|
rules: {
|
|
188
|
-
'import/no-default-export': 'off'
|
|
189
|
-
}
|
|
218
|
+
'import/no-default-export': 'off',
|
|
219
|
+
},
|
|
190
220
|
},
|
|
191
221
|
{
|
|
192
222
|
name: 'cluerise: eslint/import/rules/routes',
|
|
193
|
-
files: ['**/*-route.tsx'],
|
|
223
|
+
files: ['**/*-route-content.tsx'],
|
|
194
224
|
rules: {
|
|
195
|
-
'import/no-default-export': 'off'
|
|
196
|
-
}
|
|
225
|
+
'import/no-default-export': 'off',
|
|
226
|
+
},
|
|
197
227
|
},
|
|
198
228
|
{
|
|
199
229
|
name: 'cluerise: eslint/import/rules/workers',
|
|
200
230
|
files: ['**/src/index.{ts,tsx}'],
|
|
201
231
|
rules: {
|
|
202
|
-
'import/no-default-export': 'off'
|
|
203
|
-
}
|
|
232
|
+
'import/no-default-export': 'off',
|
|
233
|
+
},
|
|
204
234
|
},
|
|
205
235
|
{
|
|
206
236
|
name: 'cluerise: settings/eslint/import',
|
|
207
237
|
settings: {
|
|
208
238
|
'import/resolver': {
|
|
209
|
-
typescript: {}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
239
|
+
typescript: {},
|
|
240
|
+
},
|
|
241
|
+
},
|
|
212
242
|
},
|
|
213
243
|
// Simple Import Sort
|
|
214
244
|
{
|
|
215
245
|
name: 'cluerise: eslint/simple-import-sort',
|
|
216
246
|
plugins: {
|
|
217
|
-
'simple-import-sort': eslintPluginSimpleImportSort
|
|
247
|
+
'simple-import-sort': eslintPluginSimpleImportSort,
|
|
218
248
|
},
|
|
219
249
|
rules: {
|
|
220
250
|
'simple-import-sort/exports': 'error',
|
|
221
|
-
'simple-import-sort/imports': 'error'
|
|
222
|
-
}
|
|
251
|
+
'simple-import-sort/imports': 'error',
|
|
252
|
+
},
|
|
223
253
|
},
|
|
224
254
|
// Unicorn
|
|
225
255
|
{
|
|
226
256
|
...eslintPluginUnicorn.configs.recommended,
|
|
227
|
-
name: 'cluerise: eslint/unicorn'
|
|
257
|
+
name: 'cluerise: eslint/unicorn',
|
|
228
258
|
},
|
|
229
259
|
{
|
|
230
260
|
name: 'cluerise: eslint/unicorn/rules',
|
|
@@ -234,8 +264,8 @@ export default defineConfig([
|
|
|
234
264
|
'error',
|
|
235
265
|
{
|
|
236
266
|
case: 'kebabCase',
|
|
237
|
-
ignore: [String.raw`\.md$`]
|
|
238
|
-
}
|
|
267
|
+
ignore: [String.raw`\.md$`],
|
|
268
|
+
},
|
|
239
269
|
],
|
|
240
270
|
'unicorn/no-array-reduce': 'off',
|
|
241
271
|
'unicorn/no-null': 'off',
|
|
@@ -261,18 +291,18 @@ export default defineConfig([
|
|
|
261
291
|
refs: false,
|
|
262
292
|
rel: false,
|
|
263
293
|
temp: false,
|
|
264
|
-
utils: false
|
|
265
|
-
}
|
|
266
|
-
}
|
|
294
|
+
utils: false,
|
|
295
|
+
},
|
|
296
|
+
},
|
|
267
297
|
],
|
|
268
|
-
'unicorn/switch-case-braces': ['error', 'avoid']
|
|
269
|
-
}
|
|
298
|
+
'unicorn/switch-case-braces': ['error', 'avoid'],
|
|
299
|
+
},
|
|
270
300
|
},
|
|
271
301
|
// HTML
|
|
272
302
|
{
|
|
273
303
|
...eslintPluginHtml.configs['flat/recommended'],
|
|
274
304
|
name: 'cluerise: html-eslint',
|
|
275
|
-
files: ['**/*.html']
|
|
305
|
+
files: ['**/*.html'],
|
|
276
306
|
},
|
|
277
307
|
{
|
|
278
308
|
name: 'cluerise: html-eslint/rules',
|
|
@@ -281,8 +311,8 @@ export default defineConfig([
|
|
|
281
311
|
'@html-eslint/indent': ['error', 2],
|
|
282
312
|
'@html-eslint/no-extra-spacing-attrs': ['error', { enforceBeforeSelfClose: true }],
|
|
283
313
|
'@html-eslint/require-closing-tags': ['error', { selfClosing: 'always' }],
|
|
284
|
-
'@html-eslint/require-title': 'off'
|
|
285
|
-
}
|
|
314
|
+
'@html-eslint/require-title': 'off',
|
|
315
|
+
},
|
|
286
316
|
},
|
|
287
317
|
// Ignore
|
|
288
318
|
{
|
|
@@ -387,12 +417,12 @@ export default defineConfig([
|
|
|
387
417
|
'**/*.txt',
|
|
388
418
|
|
|
389
419
|
// XML
|
|
390
|
-
'**/*.xml'
|
|
391
|
-
]
|
|
420
|
+
'**/*.xml',
|
|
421
|
+
],
|
|
392
422
|
},
|
|
393
423
|
// Prettier
|
|
394
424
|
{
|
|
395
425
|
...eslintPluginPrettier,
|
|
396
|
-
name: 'cluerise: eslint/prettier'
|
|
397
|
-
}
|
|
426
|
+
name: 'cluerise: eslint/prettier',
|
|
427
|
+
},
|
|
398
428
|
]);
|
|
@@ -58,7 +58,7 @@ export default {
|
|
|
58
58
|
const relativeFilenames = mapToRelative(filenames, Path.dirname(configPath));
|
|
59
59
|
const tempConfig = {
|
|
60
60
|
extends: './tsconfig.json',
|
|
61
|
-
files: relativeFilenames
|
|
61
|
+
files: relativeFilenames,
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
// eslint-disable-next-line no-restricted-globals
|
|
@@ -67,5 +67,5 @@ export default {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
return [...fileGroups.keys()].map((configPath) => `tsc -p ${Path.relative('.', configPath)}`);
|
|
70
|
-
}
|
|
70
|
+
},
|
|
71
71
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const Path = require('node:path');
|
|
2
2
|
|
|
3
3
|
const modulesNames = Object.keys(require.cache).filter((path) =>
|
|
4
|
-
Path.posix.normalize(path).endsWith('/git-log-parser/src/index.js')
|
|
4
|
+
Path.posix.normalize(path).endsWith('/git-log-parser/src/index.js'),
|
|
5
5
|
);
|
|
6
6
|
|
|
7
7
|
for (const moduleName of modulesNames) {
|
|
@@ -13,13 +13,13 @@ export const defaultReleaseRules = [
|
|
|
13
13
|
{ type: 'release', release: false },
|
|
14
14
|
{ type: 'revert', release: false },
|
|
15
15
|
{ type: 'style', release: false },
|
|
16
|
-
{ type: 'test', release: false }
|
|
16
|
+
{ type: 'test', release: false },
|
|
17
17
|
];
|
|
18
18
|
|
|
19
19
|
export const defaultChangelogTypes = [
|
|
20
20
|
{ type: 'feat', section: 'Features' },
|
|
21
21
|
{ type: 'fix', section: 'Fixes' },
|
|
22
|
-
{ type: 'perf', section: 'Performance improvements' }
|
|
22
|
+
{ type: 'perf', section: 'Performance improvements' },
|
|
23
23
|
];
|
|
24
24
|
|
|
25
25
|
const getRepositoryUrl = (path) => {
|
|
@@ -38,11 +38,11 @@ export const createReleaseConfig = ({
|
|
|
38
38
|
tagFormat,
|
|
39
39
|
releaseRules: inputReleaseRules = defaultReleaseRules,
|
|
40
40
|
changelogTypes: inputChangelogTypes = defaultChangelogTypes,
|
|
41
|
-
dependencyScopes = ['prod']
|
|
41
|
+
dependencyScopes = ['prod'],
|
|
42
42
|
}) => {
|
|
43
43
|
const releaseRules = [
|
|
44
44
|
...inputReleaseRules,
|
|
45
|
-
...dependencyScopes.map((scope) => ({ type: 'deps', scope, release: 'patch' }))
|
|
45
|
+
...dependencyScopes.map((scope) => ({ type: 'deps', scope, release: 'patch' })),
|
|
46
46
|
];
|
|
47
47
|
|
|
48
48
|
const changelogTypes = [
|
|
@@ -50,8 +50,8 @@ export const createReleaseConfig = ({
|
|
|
50
50
|
...dependencyScopes.map((scope) => ({
|
|
51
51
|
type: 'deps',
|
|
52
52
|
scope,
|
|
53
|
-
section: 'Dependency updates'
|
|
54
|
-
}))
|
|
53
|
+
section: 'Dependency updates',
|
|
54
|
+
})),
|
|
55
55
|
];
|
|
56
56
|
|
|
57
57
|
return {
|
|
@@ -66,15 +66,15 @@ export const createReleaseConfig = ({
|
|
|
66
66
|
[
|
|
67
67
|
'@semantic-release/commit-analyzer',
|
|
68
68
|
{
|
|
69
|
-
releaseRules
|
|
70
|
-
}
|
|
69
|
+
releaseRules,
|
|
70
|
+
},
|
|
71
71
|
],
|
|
72
72
|
[
|
|
73
73
|
'@semantic-release/release-notes-generator',
|
|
74
74
|
{
|
|
75
75
|
host,
|
|
76
76
|
presetConfig: {
|
|
77
|
-
types: changelogTypes
|
|
77
|
+
types: changelogTypes,
|
|
78
78
|
},
|
|
79
79
|
writerOpts: {
|
|
80
80
|
commitGroupsSort: ({ title: titleA }, { title: titleB }) => {
|
|
@@ -90,17 +90,17 @@ export const createReleaseConfig = ({
|
|
|
90
90
|
...commit,
|
|
91
91
|
subject: commit.subject.replace(
|
|
92
92
|
`${host}/${context.owner}/${context.repository}`,
|
|
93
|
-
`${host}/${owner}/${repository}
|
|
94
|
-
)
|
|
93
|
+
`${host}/${owner}/${repository}`,
|
|
94
|
+
),
|
|
95
95
|
})),
|
|
96
|
-
collapse: commitGroup.title === 'Dependency updates'
|
|
96
|
+
collapse: commitGroup.title === 'Dependency updates',
|
|
97
97
|
}));
|
|
98
98
|
|
|
99
99
|
return {
|
|
100
100
|
...context,
|
|
101
101
|
owner,
|
|
102
102
|
repository,
|
|
103
|
-
commitGroups
|
|
103
|
+
commitGroups,
|
|
104
104
|
};
|
|
105
105
|
},
|
|
106
106
|
mainTemplate: `{{> header}}
|
|
@@ -134,16 +134,16 @@ export const createReleaseConfig = ({
|
|
|
134
134
|
</details>
|
|
135
135
|
{{/if}}
|
|
136
136
|
|
|
137
|
-
{{/each}}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
]
|
|
141
|
-
]
|
|
137
|
+
{{/each}}`,
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
],
|
|
142
142
|
};
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
export default createReleaseConfig({
|
|
146
146
|
host: 'https://github.com',
|
|
147
147
|
owner: 'cluerise',
|
|
148
|
-
repository: 'tools'
|
|
148
|
+
repository: 'tools',
|
|
149
149
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as ActionsCore from "@actions/core";
|
|
2
2
|
import { z, ZodError } from "zod";
|
|
3
3
|
import ChildProcess from "node:child_process";
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
4
5
|
import FileSystem from "node:fs/promises";
|
|
5
6
|
import OS from "node:os";
|
|
6
7
|
import Path from "node:path";
|
|
@@ -397,11 +398,14 @@ class Releaser {
|
|
|
397
398
|
};
|
|
398
399
|
}
|
|
399
400
|
async #getLatestReleaseChangelog() {
|
|
401
|
+
if (!existsSync(this.#changelogPath)) {
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
400
404
|
const contentBuffer = await FileSystem.readFile(this.#changelogPath);
|
|
401
405
|
const content = contentBuffer.toString();
|
|
402
406
|
const [, latestReleaseChangelog] = content.split(Releaser.#releaseSeparator);
|
|
403
407
|
if (!latestReleaseChangelog) {
|
|
404
|
-
|
|
408
|
+
return null;
|
|
405
409
|
}
|
|
406
410
|
const indexOfFirstEOL = latestReleaseChangelog.indexOf(OS.EOL);
|
|
407
411
|
if (indexOfFirstEOL === -1) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cluerise/tools",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.4",
|
|
4
4
|
"description": "Tools for maintaining TypeScript projects.",
|
|
5
5
|
"author": "Branislav Holý <brano@holy.am>",
|
|
6
6
|
"repository": "github:cluerise/tools",
|
|
@@ -17,35 +17,35 @@
|
|
|
17
17
|
"./dist/"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@actions/core": "
|
|
21
|
-
"@commitlint/cli": "20.
|
|
22
|
-
"@commitlint/config-conventional": "20.
|
|
23
|
-
"@commitlint/load": "20.
|
|
24
|
-
"@commitlint/types": "20.
|
|
25
|
-
"@eslint/js": "9.39.
|
|
20
|
+
"@actions/core": "2.0.1",
|
|
21
|
+
"@commitlint/cli": "20.2.0",
|
|
22
|
+
"@commitlint/config-conventional": "20.2.0",
|
|
23
|
+
"@commitlint/load": "20.2.0",
|
|
24
|
+
"@commitlint/types": "20.2.0",
|
|
25
|
+
"@eslint/js": "9.39.2",
|
|
26
26
|
"@eslint/json": "0.14.0",
|
|
27
27
|
"@eslint/markdown": "7.5.1",
|
|
28
|
-
"@html-eslint/eslint-plugin": "0.
|
|
29
|
-
"@html-eslint/parser": "0.
|
|
30
|
-
"@typescript-eslint/parser": "8.
|
|
28
|
+
"@html-eslint/eslint-plugin": "0.52.0",
|
|
29
|
+
"@html-eslint/parser": "0.52.0",
|
|
30
|
+
"@typescript-eslint/parser": "8.50.0",
|
|
31
31
|
"conventional-changelog-conventionalcommits": "9.1.0",
|
|
32
|
-
"eslint": "9.39.
|
|
32
|
+
"eslint": "9.39.2",
|
|
33
33
|
"eslint-config-prettier": "10.1.8",
|
|
34
34
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
35
35
|
"eslint-plugin-import": "2.32.0",
|
|
36
36
|
"eslint-plugin-prettier": "5.5.4",
|
|
37
37
|
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
38
38
|
"eslint-plugin-unicorn": "62.0.0",
|
|
39
|
-
"eslint-plugin-yml": "1.19.
|
|
39
|
+
"eslint-plugin-yml": "1.19.1",
|
|
40
40
|
"glob": "13.0.0",
|
|
41
41
|
"globals": "16.5.0",
|
|
42
42
|
"lint-staged": "16.2.7",
|
|
43
|
-
"prettier": "3.
|
|
43
|
+
"prettier": "3.7.4",
|
|
44
44
|
"prettier-plugin-sh": "0.18.0",
|
|
45
45
|
"semantic-release": "25.0.2",
|
|
46
46
|
"semver": "7.7.3",
|
|
47
47
|
"smol-toml": "1.5.2",
|
|
48
|
-
"typescript-eslint": "8.
|
|
49
|
-
"zod": "4.1
|
|
48
|
+
"typescript-eslint": "8.50.0",
|
|
49
|
+
"zod": "4.2.1"
|
|
50
50
|
}
|
|
51
51
|
}
|