@langri-sha/projen-project 0.8.1 → 0.10.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/CHANGELOG.json +275 -1
- package/CHANGELOG.md +64 -2
- package/lib/index.d.ts +60 -14
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +220 -54
- package/lib/index.js.map +1 -1
- package/lib/lib/index.d.ts +1 -0
- package/lib/lib/index.d.ts.map +1 -1
- package/lib/lib/index.js +1 -0
- package/lib/lib/index.js.map +1 -1
- package/lib/lib/node-package.d.ts +19 -0
- package/lib/lib/node-package.d.ts.map +1 -0
- package/lib/lib/node-package.js +43 -0
- package/lib/lib/node-package.js.map +1 -0
- package/lib/lib/projenrc.d.ts.map +1 -1
- package/lib/lib/projenrc.js +4 -0
- package/lib/lib/projenrc.js.map +1 -1
- package/license +4 -14
- package/package.json +27 -15
- package/readme +1 -1
- package/src/index.ts +371 -79
- package/src/lib/index.ts +1 -0
- package/src/lib/node-package.ts +50 -0
- package/src/lib/projenrc.ts +7 -0
package/lib/index.js
CHANGED
|
@@ -3,8 +3,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _Project_instances, _Project_configureBeachball, _Project_configureCodeowners, _Project_configureEditorConfig, _Project_configureHusky, _Project_configureLintSynthesized, _Project_configurePackage, _Project_configureProjenrc, _Project_configureRenovate, _Project_configureTypeScript,
|
|
7
|
-
import
|
|
6
|
+
var _Project_instances, _Project_configureBabel, _Project_configureBeachball, _Project_configureCodeowners, _Project_configureEditorConfig, _Project_configureESLint, _Project_configureHusky, _Project_configureJestConfig, _Project_configureLicense, _Project_configureLintStaged, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configurePnpmWorkspace, _Project_configurePrettier, _Project_configureProjenrc, _Project_configureRenovate, _Project_configureTypeScript, _Project_populateTypeScriptProjectReferencesFromDependencies;
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import { Project as BaseProject, IgnoreFile, javascript, } from 'projen';
|
|
8
9
|
import * as R from 'ramda';
|
|
9
10
|
import { LintSynthesized, } from '@langri-sha/projen-lint-synthesized';
|
|
10
11
|
import { EditorConfig, } from '@langri-sha/projen-editorconfig';
|
|
@@ -13,7 +14,14 @@ import { Renovate } from '@langri-sha/projen-renovate';
|
|
|
13
14
|
import { Husky } from '@langri-sha/projen-husky';
|
|
14
15
|
import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
|
|
15
16
|
import { Beachball } from '@langri-sha/projen-beachball';
|
|
16
|
-
import {
|
|
17
|
+
import { License } from '@langri-sha/projen-license';
|
|
18
|
+
import { NodePackage, ProjenrcFile } from './lib/index.js';
|
|
19
|
+
import { JestConfig } from '@langri-sha/projen-jest-config';
|
|
20
|
+
import { Prettier } from '@langri-sha/projen-prettier';
|
|
21
|
+
import { ESLint } from '@langri-sha/projen-eslint';
|
|
22
|
+
import { LintStaged } from '@langri-sha/projen-lint-staged';
|
|
23
|
+
import { Babel } from '@langri-sha/projen-babel';
|
|
24
|
+
import { PnpmWorkspace, } from '@langri-sha/projen-pnpm-workspace';
|
|
17
25
|
export * from '@langri-sha/projen-typescript-config';
|
|
18
26
|
export class Project extends BaseProject {
|
|
19
27
|
constructor(options) {
|
|
@@ -32,55 +40,76 @@ export class Project extends BaseProject {
|
|
|
32
40
|
this.tasks.removeTask('watch');
|
|
33
41
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePackage).call(this, options);
|
|
34
42
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureTypeScript).call(this, options);
|
|
43
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureProjenrc).call(this);
|
|
35
44
|
if (this.parent) {
|
|
36
45
|
this.tasks.tryFind('default')?.reset();
|
|
37
46
|
this.tasks.tryFind('install')?.reset();
|
|
38
47
|
this.tasks.tryFind('install:ci')?.reset();
|
|
39
48
|
}
|
|
49
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureESLint).call(this, options);
|
|
50
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePrettier).call(this, options);
|
|
51
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureBabel).call(this, options);
|
|
40
52
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureBeachball).call(this, options);
|
|
41
53
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureCodeowners).call(this, options);
|
|
42
54
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureEditorConfig).call(this, options);
|
|
43
55
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureHusky).call(this, options);
|
|
56
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureJestConfig).call(this, options);
|
|
57
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLicense).call(this, options);
|
|
58
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLintStaged).call(this, options);
|
|
44
59
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLintSynthesized).call(this, options);
|
|
45
|
-
__classPrivateFieldGet(this, _Project_instances, "m",
|
|
60
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureNpmIgnore).call(this, options);
|
|
61
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePnpmWorkspace).call(this, options);
|
|
46
62
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRenovate).call(this, options);
|
|
47
|
-
|
|
63
|
+
}
|
|
64
|
+
preSynthesize() {
|
|
65
|
+
super.preSynthesize();
|
|
66
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_populateTypeScriptProjectReferencesFromDependencies).call(this);
|
|
67
|
+
}
|
|
68
|
+
get allSubprojects() {
|
|
69
|
+
return this.root.node
|
|
70
|
+
.findAll(0)
|
|
71
|
+
.filter((node) => node !== this.root)
|
|
72
|
+
.filter((node) => node instanceof BaseProject);
|
|
73
|
+
}
|
|
74
|
+
get allSubprojectsKind() {
|
|
75
|
+
return this.allSubprojects.filter((project) => project instanceof Project);
|
|
48
76
|
}
|
|
49
77
|
/**
|
|
50
78
|
* Add a subproject.
|
|
51
79
|
*/
|
|
52
|
-
addSubproject(projectOptions) {
|
|
53
|
-
|
|
80
|
+
addSubproject(projectOptions, ...compose) {
|
|
81
|
+
const project = new Project({
|
|
54
82
|
parent: this,
|
|
55
83
|
...projectOptions,
|
|
56
84
|
});
|
|
85
|
+
for (const callback of compose) {
|
|
86
|
+
callback(project);
|
|
87
|
+
}
|
|
88
|
+
return project;
|
|
57
89
|
}
|
|
58
90
|
/**
|
|
59
91
|
* Find a project by it's name, e.g. `@acme/some`.
|
|
60
92
|
*/
|
|
61
93
|
findSubproject(name) {
|
|
62
|
-
|
|
63
|
-
const addSubproject = (project) => {
|
|
64
|
-
for (const subproject of project.subprojects) {
|
|
65
|
-
subprojects.push(subproject);
|
|
66
|
-
if (subproject.subprojects.length) {
|
|
67
|
-
addSubproject(subproject);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
addSubproject(this.root);
|
|
72
|
-
const result = subprojects.find((subproject) => subproject.name === name);
|
|
73
|
-
if (result instanceof Project) {
|
|
74
|
-
return result;
|
|
75
|
-
}
|
|
76
|
-
throw new Error(`Cannot find subproject ${name}`);
|
|
94
|
+
return this.allSubprojectsKind.find((project) => project.name === name);
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
|
-
_Project_instances = new WeakSet(),
|
|
80
|
-
if (!
|
|
97
|
+
_Project_instances = new WeakSet(), _Project_configureBabel = function _Project_configureBabel({ babel }) {
|
|
98
|
+
if (!babel) {
|
|
81
99
|
return;
|
|
82
100
|
}
|
|
83
|
-
const
|
|
101
|
+
const defaults = {
|
|
102
|
+
options: {
|
|
103
|
+
presets: ['@langri-sha/babel-preset'],
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
this.babel = new Babel(this, deepMerge(defaults, babel));
|
|
107
|
+
this.typeScriptConfig?.addFile(this.babel.path);
|
|
108
|
+
}, _Project_configureBeachball = function _Project_configureBeachball({ beachball }) {
|
|
109
|
+
if (!beachball || this.parent) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const options = deepMerge(beachball, {
|
|
84
113
|
branch: 'origin/main',
|
|
85
114
|
gitTags: false,
|
|
86
115
|
ignorePatterns: [
|
|
@@ -92,14 +121,15 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
92
121
|
],
|
|
93
122
|
});
|
|
94
123
|
this.beachball = new Beachball(this, options);
|
|
124
|
+
this.prettier?.ignore.addPatterns('CHANGELOG.md');
|
|
95
125
|
this.package?.addDevDeps('beachball@2.43.1');
|
|
96
126
|
this.typeScriptConfig?.addFile('beachball.config.js');
|
|
97
|
-
}, _Project_configureCodeowners = function _Project_configureCodeowners({ codeownersOptions }) {
|
|
127
|
+
}, _Project_configureCodeowners = function _Project_configureCodeowners({ codeowners: codeownersOptions }) {
|
|
98
128
|
if (!codeownersOptions) {
|
|
99
129
|
return;
|
|
100
130
|
}
|
|
101
131
|
this.codeowners = new Codeowners(this, codeownersOptions);
|
|
102
|
-
}, _Project_configureEditorConfig = function _Project_configureEditorConfig({ editorConfigOptions }) {
|
|
132
|
+
}, _Project_configureEditorConfig = function _Project_configureEditorConfig({ editorConfig: editorConfigOptions, }) {
|
|
103
133
|
if (!editorConfigOptions || this.parent) {
|
|
104
134
|
return;
|
|
105
135
|
}
|
|
@@ -117,7 +147,22 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
117
147
|
},
|
|
118
148
|
};
|
|
119
149
|
this.editorConfig = new EditorConfig(this, deepMerge(editorConfigOptions ?? {}, defaults));
|
|
120
|
-
|
|
150
|
+
this.prettier?.ignore.addPatterns('!.editorconfig');
|
|
151
|
+
}, _Project_configureESLint = function _Project_configureESLint({ eslint: eslintOptions }) {
|
|
152
|
+
if (!eslintOptions) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const defaults = {
|
|
156
|
+
filename: 'eslint.config.mjs',
|
|
157
|
+
ignorePatterns: ['.*'],
|
|
158
|
+
extends: '@langri-sha/eslint-config',
|
|
159
|
+
};
|
|
160
|
+
this.eslint = new ESLint(this, deepMerge(defaults, eslintOptions));
|
|
161
|
+
if (this.projenrc?.filePath) {
|
|
162
|
+
this.eslint.ignorePatterns.push(`!${this.projenrc.filePath}`);
|
|
163
|
+
}
|
|
164
|
+
this.typeScriptConfig?.addFile(this.eslint.path);
|
|
165
|
+
}, _Project_configureHusky = function _Project_configureHusky({ husky: huskyOptions }) {
|
|
121
166
|
if (!huskyOptions || this.parent) {
|
|
122
167
|
return;
|
|
123
168
|
}
|
|
@@ -125,12 +170,62 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
125
170
|
this.package?.addDevDeps('husky@9.0.11');
|
|
126
171
|
this.package?.setScript('prepare', 'husky');
|
|
127
172
|
this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm');
|
|
128
|
-
},
|
|
129
|
-
|
|
173
|
+
}, _Project_configureJestConfig = function _Project_configureJestConfig({ jestConfig: jestConfigOptions }) {
|
|
174
|
+
if (!jestConfigOptions || this.parent) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
this.jestConfig = new JestConfig(this, jestConfigOptions);
|
|
178
|
+
this.typeScriptConfig?.addFile(this.jestConfig.path);
|
|
179
|
+
}, _Project_configureLicense = function _Project_configureLicense({ package: pkg }) {
|
|
180
|
+
if (!pkg?.license) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if (!pkg.authorName) {
|
|
184
|
+
throw new Error('Missing package author name. Set `package.authorName` in the project');
|
|
185
|
+
}
|
|
186
|
+
this.license = new License(this, {
|
|
187
|
+
spdx: pkg.license,
|
|
188
|
+
copyrightHolder: [
|
|
189
|
+
pkg.authorName,
|
|
190
|
+
pkg.authorEmail ? `<${pkg.authorEmail}>` : undefined,
|
|
191
|
+
pkg.authorUrl ? `(${pkg.authorUrl})` : undefined,
|
|
192
|
+
]
|
|
193
|
+
.filter(Boolean)
|
|
194
|
+
.join(' '),
|
|
195
|
+
year: pkg.copyrightYear ?? new Date().getFullYear().toString(),
|
|
196
|
+
});
|
|
197
|
+
}, _Project_configureLintStaged = function _Project_configureLintStaged({ lintStaged: lintStagedOptions }) {
|
|
198
|
+
if (!lintStagedOptions) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
const defaults = {
|
|
202
|
+
filename: 'lint-staged.config.mjs',
|
|
203
|
+
extends: '@langri-sha/lint-staged',
|
|
204
|
+
};
|
|
205
|
+
this.lintStaged = new LintStaged(this, deepMerge(defaults, lintStagedOptions));
|
|
206
|
+
this.typeScriptConfig?.addFile(this.lintStaged.path);
|
|
207
|
+
}, _Project_configureLintSynthesized = function _Project_configureLintSynthesized({ lintSynthesized }) {
|
|
208
|
+
if (!lintSynthesized) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const defaults = {
|
|
130
212
|
'package.json': 'pnpx sort-package-json',
|
|
131
|
-
'*.{js,jsx,ts,tsx}': 'pnpm eslint --fix',
|
|
213
|
+
'*.{js,cjs,mjs,jsx,ts,cts,mts,tsx}': 'pnpm eslint --fix',
|
|
132
214
|
'*': 'pnpm prettier --write --ignore-unknown',
|
|
133
|
-
}
|
|
215
|
+
};
|
|
216
|
+
new LintSynthesized(this, deepMerge(defaults, lintSynthesized));
|
|
217
|
+
}, _Project_configureNpmIgnore = function _Project_configureNpmIgnore({ typeScriptConfig, jestConfig, npmIgnore, }) {
|
|
218
|
+
if (!npmIgnore) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const defaults = {
|
|
222
|
+
ignorePatterns: [
|
|
223
|
+
'.*',
|
|
224
|
+
...(jestConfig ? ['*.test.*', '__snapshots__/'] : []),
|
|
225
|
+
...(typeScriptConfig ? ['tsconfig*.json'] : []),
|
|
226
|
+
],
|
|
227
|
+
};
|
|
228
|
+
this.npmIgnore = new IgnoreFile(this, '.npmignore', deepMerge(defaults, npmIgnore));
|
|
134
229
|
}, _Project_configurePackage = function _Project_configurePackage({ package: pkg }) {
|
|
135
230
|
if (!pkg) {
|
|
136
231
|
return;
|
|
@@ -138,24 +233,49 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
138
233
|
const defaults = {
|
|
139
234
|
entrypoint: 'src/index.ts',
|
|
140
235
|
packageManager: javascript.NodePackageManager.PNPM,
|
|
141
|
-
minNodeVersion: '20.12.0',
|
|
142
236
|
};
|
|
143
|
-
this.package = new
|
|
237
|
+
this.package = new NodePackage(this, deepMerge(defaults, pkg));
|
|
144
238
|
if (!this.parent) {
|
|
145
239
|
this.package.addDevDeps('@langri-sha/projen-project@*');
|
|
146
|
-
this.package.addDevDeps('projen@0.
|
|
240
|
+
this.package.addDevDeps('projen@0.82.4');
|
|
147
241
|
}
|
|
148
242
|
this.package.removeScript('start');
|
|
149
243
|
this.package.removeScript('test');
|
|
150
244
|
if (this.parent) {
|
|
151
245
|
this.package.removeScript('default');
|
|
152
246
|
}
|
|
153
|
-
},
|
|
154
|
-
if (
|
|
247
|
+
}, _Project_configurePnpmWorkspace = function _Project_configurePnpmWorkspace({ pnpmWorkspace }) {
|
|
248
|
+
if (!pnpmWorkspace) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
this.pnpmWorkspace = new PnpmWorkspace(this, pnpmWorkspace);
|
|
252
|
+
for (const workspace of pnpmWorkspace.packages ?? []) {
|
|
253
|
+
this.prettier?.ignore.exclude(`${workspace}/lib/`);
|
|
254
|
+
this.eslint?.ignorePatterns.push(`${workspace}/lib/`);
|
|
255
|
+
}
|
|
256
|
+
}, _Project_configurePrettier = function _Project_configurePrettier({ prettier: prettierOptions }) {
|
|
257
|
+
if (!prettierOptions || this.parent) {
|
|
155
258
|
return;
|
|
156
259
|
}
|
|
260
|
+
const defaults = {
|
|
261
|
+
filename: 'prettier.config.mjs',
|
|
262
|
+
extends: '@langri-sha/prettier',
|
|
263
|
+
ignorePatterns: ['.*'],
|
|
264
|
+
};
|
|
265
|
+
this.prettier = new Prettier(this, deepMerge(defaults, prettierOptions));
|
|
266
|
+
if (this.projenrc?.filePath) {
|
|
267
|
+
this.prettier.ignore.include(this.projenrc.filePath);
|
|
268
|
+
}
|
|
269
|
+
if (this.package?.packageManager === javascript.NodePackageManager.PNPM) {
|
|
270
|
+
this.prettier.ignore.addPatterns('pnpm-lock.yaml');
|
|
271
|
+
}
|
|
272
|
+
this.typeScriptConfig?.addFile(this.prettier.path);
|
|
273
|
+
}, _Project_configureProjenrc = function _Project_configureProjenrc() {
|
|
157
274
|
this.projenrc = new ProjenrcFile(this, {});
|
|
158
|
-
|
|
275
|
+
if (!this.parent) {
|
|
276
|
+
this.typeScriptConfig?.addFile(this.projenrc.filePath);
|
|
277
|
+
}
|
|
278
|
+
}, _Project_configureRenovate = function _Project_configureRenovate({ renovate: renovateOptions }) {
|
|
159
279
|
if (!renovateOptions || this.parent) {
|
|
160
280
|
return;
|
|
161
281
|
}
|
|
@@ -164,15 +284,40 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
164
284
|
extends: ['config:recommended'],
|
|
165
285
|
labels: ['dependencies'],
|
|
166
286
|
reviewersFromCodeOwners: true,
|
|
287
|
+
lockFileMaintenance: {
|
|
288
|
+
enabled: true,
|
|
289
|
+
},
|
|
167
290
|
customManagers: [
|
|
291
|
+
{
|
|
292
|
+
customType: 'regex',
|
|
293
|
+
datasourceTemplate: 'node',
|
|
294
|
+
depNameTemplate: 'node',
|
|
295
|
+
versioningTemplate: 'node',
|
|
296
|
+
currentValueTemplate: '>= {{currentValue}}',
|
|
297
|
+
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
298
|
+
matchStrings: ["minNodeVersion:\\s*'(?<currentValue>[^']+)'"],
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
customType: 'regex',
|
|
302
|
+
datasourceTemplate: 'npm',
|
|
303
|
+
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
304
|
+
matchStringsStrategy: 'recursive',
|
|
305
|
+
matchStrings: [
|
|
306
|
+
'\\.(?<depType>addDeps|addDevDeps|addPeerDeps)\\([^)]*\\)',
|
|
307
|
+
"'(?<depName>@?[\\w-\\/]+)@(?<currentValue>[^']+)'",
|
|
308
|
+
],
|
|
309
|
+
depTypeTemplate: "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addDevDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
|
|
310
|
+
},
|
|
168
311
|
{
|
|
169
312
|
customType: 'regex',
|
|
170
313
|
datasourceTemplate: 'npm',
|
|
171
314
|
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
315
|
+
matchStringsStrategy: 'recursive',
|
|
172
316
|
matchStrings: [
|
|
173
|
-
|
|
317
|
+
'(?<depType>deps|devDeps|peerDeps):\\s*\\[[^\\]]*\\]',
|
|
318
|
+
"'(?<depName>@?[\\w-\\/]+)@(?<currentValue>[^']+)'",
|
|
174
319
|
],
|
|
175
|
-
depTypeTemplate: "{{#if (equals depType '
|
|
320
|
+
depTypeTemplate: "{{#if (equals depType 'deps')}}dependencies{{else if (equals depType 'devDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
|
|
176
321
|
},
|
|
177
322
|
{
|
|
178
323
|
customType: 'regex',
|
|
@@ -184,8 +329,12 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
184
329
|
},
|
|
185
330
|
],
|
|
186
331
|
};
|
|
332
|
+
this.addTask('renovate', {
|
|
333
|
+
description: 'Run Renovate locally for debugging',
|
|
334
|
+
exec: 'pnpx renovate --platform=local --repository-cache=reset --dry-run=full',
|
|
335
|
+
});
|
|
187
336
|
this.renovate = new Renovate(this, deepMerge(defaults, renovateOptions));
|
|
188
|
-
}, _Project_configureTypeScript = function _Project_configureTypeScript({ parent, typeScriptConfigOptions }) {
|
|
337
|
+
}, _Project_configureTypeScript = function _Project_configureTypeScript({ parent, typeScriptConfig: typeScriptConfigOptions, }) {
|
|
189
338
|
if (!typeScriptConfigOptions) {
|
|
190
339
|
return;
|
|
191
340
|
}
|
|
@@ -209,20 +358,31 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
209
358
|
this.package?.addDevDeps('typescript@5.4.5');
|
|
210
359
|
this.package?.addDevDeps('ts-node@10.9.2');
|
|
211
360
|
}
|
|
212
|
-
this.
|
|
213
|
-
|
|
214
|
-
|
|
361
|
+
if (this.name !== '@langri-sha/tsconfig') {
|
|
362
|
+
this.package?.addDevDeps('@langri-sha/tsconfig@*');
|
|
363
|
+
}
|
|
364
|
+
}, _Project_populateTypeScriptProjectReferencesFromDependencies = function _Project_populateTypeScriptProjectReferencesFromDependencies() {
|
|
365
|
+
if (this.parent || !this.package || !this.typeScriptConfig) {
|
|
215
366
|
return;
|
|
216
367
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
368
|
+
const subprojects = this.allSubprojectsKind.filter((project) => project.package && project.typeScriptConfig);
|
|
369
|
+
const root = path.dirname(this.package.file.absolutePath);
|
|
370
|
+
for (const project of subprojects) {
|
|
371
|
+
const from = path.dirname(project.package.file.absolutePath);
|
|
372
|
+
if (project.name !== '@langri-sha/tsconfig') {
|
|
373
|
+
this.typeScriptConfig.addReference(path.relative(root, from));
|
|
374
|
+
}
|
|
375
|
+
for (const dep of project.deps.all) {
|
|
376
|
+
const reference = subprojects.find(({ name }) => name === dep.name);
|
|
377
|
+
if (!reference) {
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
const to = path.dirname(reference.package.file.absolutePath);
|
|
381
|
+
project.typeScriptConfig.addReference(path.relative(from, to));
|
|
382
|
+
}
|
|
383
|
+
}
|
|
224
384
|
};
|
|
225
|
-
const getGitIgnoreOptions = ({
|
|
385
|
+
const getGitIgnoreOptions = ({ gitIgnoreOptions, husky: huskyOptions, parent, typeScriptConfig: typeScriptConfigOptions, withTerraform, ...options }) => parent
|
|
226
386
|
? gitIgnoreOptions
|
|
227
387
|
: {
|
|
228
388
|
ignorePatterns: [
|
|
@@ -245,7 +405,8 @@ const getGitIgnoreOptions = ({ huskyOptions, typeScriptConfigOptions, withTerraf
|
|
|
245
405
|
!.github/
|
|
246
406
|
${huskyOptions ? '!.husky/' : ''}
|
|
247
407
|
!.projen/
|
|
248
|
-
|
|
408
|
+
dist/
|
|
409
|
+
${options.pnpmWorkspace?.packages?.map((workspace) => `${workspace}/lib/`).join('\n') ?? ''}
|
|
249
410
|
node_modules/
|
|
250
411
|
`
|
|
251
412
|
.split('\n')
|
|
@@ -254,5 +415,10 @@ const getGitIgnoreOptions = ({ huskyOptions, typeScriptConfigOptions, withTerraf
|
|
|
254
415
|
...(gitIgnoreOptions?.ignorePatterns ?? []),
|
|
255
416
|
],
|
|
256
417
|
};
|
|
257
|
-
const deepMerge = R.mergeDeepWith(R.
|
|
418
|
+
const deepMerge = R.mergeDeepWith(R.cond([
|
|
419
|
+
// When both arguments are strings, use the right string.
|
|
420
|
+
[R.allPass([R.is(String), R.is(String)]), R.nthArg(1)],
|
|
421
|
+
// Otherwise, concatenate.
|
|
422
|
+
[R.T, R.concat],
|
|
423
|
+
]));
|
|
258
424
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/lib/index.d.ts
CHANGED
package/lib/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA"}
|
package/lib/lib/index.js
CHANGED
package/lib/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Project, javascript } from 'projen';
|
|
2
|
+
/**
|
|
3
|
+
* Options for configuring Node.js packages.
|
|
4
|
+
*/
|
|
5
|
+
export interface NodePackageOptions extends javascript.NodePackageOptions {
|
|
6
|
+
peerDependenciesMeta?: Record<string, {
|
|
7
|
+
optional?: boolean;
|
|
8
|
+
}>;
|
|
9
|
+
type?: 'commonjs' | 'module';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Custom Node.js package manager that preserves package.
|
|
13
|
+
*/
|
|
14
|
+
export declare class NodePackage extends javascript.NodePackage {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(project: Project, options?: NodePackageOptions);
|
|
17
|
+
postSynthesize(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=node-package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-package.d.ts","sourceRoot":"","sources":["../../src/lib/node-package.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU,CAAC,kBAAkB;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CAC7B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU,CAAC,WAAW;;gBACzC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB;IA2BjD,cAAc,IAAI,IAAI;CAOhC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _NodePackage_instances, _NodePackage_getPackageJson;
|
|
7
|
+
import * as fs from 'node:fs';
|
|
8
|
+
import { javascript } from 'projen';
|
|
9
|
+
/**
|
|
10
|
+
* Custom Node.js package manager that preserves package.
|
|
11
|
+
*/
|
|
12
|
+
export class NodePackage extends javascript.NodePackage {
|
|
13
|
+
constructor(project, options) {
|
|
14
|
+
super(project, options);
|
|
15
|
+
_NodePackage_instances.add(this);
|
|
16
|
+
this.addVersion(__classPrivateFieldGet(this, _NodePackage_instances, "m", _NodePackage_getPackageJson).call(this)?.version ?? '0.0.0');
|
|
17
|
+
if (options?.type) {
|
|
18
|
+
this.addField('type', options.type);
|
|
19
|
+
}
|
|
20
|
+
if (options?.peerDependenciesMeta) {
|
|
21
|
+
this.addField('peerDependenciesMeta', options.peerDependenciesMeta);
|
|
22
|
+
}
|
|
23
|
+
// Reset, so we can run `pnpx projen` on CI after Renovate upgrades.
|
|
24
|
+
this.project.tasks
|
|
25
|
+
.tryFind('install:ci')
|
|
26
|
+
?.reset(this.project.tasks.tryFind('install')?.steps[0]?.exec);
|
|
27
|
+
}
|
|
28
|
+
postSynthesize() {
|
|
29
|
+
if (this.project.parent) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
super.postSynthesize();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
_NodePackage_instances = new WeakSet(), _NodePackage_getPackageJson = function _NodePackage_getPackageJson() {
|
|
36
|
+
try {
|
|
37
|
+
return JSON.parse(fs.readFileSync(this.file.absolutePath, 'utf-8'));
|
|
38
|
+
}
|
|
39
|
+
catch (_) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=node-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-package.js","sourceRoot":"","sources":["../../src/lib/node-package.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAW,UAAU,EAAE,MAAM,QAAQ,CAAA;AAU5C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU,CAAC,WAAW;IACrD,YAAY,OAAgB,EAAE,OAA4B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;;QAEvB,IAAI,CAAC,UAAU,CAAC,uBAAA,IAAI,2DAAgB,MAApB,IAAI,CAAkB,EAAE,OAAO,IAAI,OAAO,CAAC,CAAA;QAE3D,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACrE,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,KAAK;aACf,OAAO,CAAC,YAAY,CAAC;YACtB,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;IAUQ,cAAc;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,OAAM;QACR,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAA;IACxB,CAAC;CACF;;IAdG,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projenrc.d.ts","sourceRoot":"","sources":["../../src/lib/projenrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,OAAO,EAAc,MAAM,QAAQ,CAAA;AAE9E,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,SAAyB,QAAQ,EAAE,MAAM,CAAA;gBAGvC,OAAO,EAAE,OAAO,EAChB,EAAE,QAA0B,EAAE,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"projenrc.d.ts","sourceRoot":"","sources":["../../src/lib/projenrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,OAAO,EAAc,MAAM,QAAQ,CAAA;AAE9E,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,SAAyB,QAAQ,EAAE,MAAM,CAAA;gBAGvC,OAAO,EAAE,OAAO,EAChB,EAAE,QAA0B,EAAE,EAAE,eAAe;CAyBlD"}
|
package/lib/lib/projenrc.js
CHANGED
|
@@ -2,6 +2,10 @@ import { ProjenrcFile as BaseProjenrcFile, SampleFile } from 'projen';
|
|
|
2
2
|
export class ProjenrcFile extends BaseProjenrcFile {
|
|
3
3
|
constructor(project, { filename = '.projenrc.mts' }) {
|
|
4
4
|
super(project);
|
|
5
|
+
if (project.parent) {
|
|
6
|
+
this.filePath = ProjenrcFile.of(project.parent)?.filePath ?? filename;
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
5
9
|
this.filePath = filename;
|
|
6
10
|
this.project.defaultTask?.exec(`node --loader ts-node/esm/transpile-only ${filename}`);
|
|
7
11
|
new SampleFile(project, filename, {
|
package/lib/lib/projenrc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projenrc.js","sourceRoot":"","sources":["../../src/lib/projenrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAW,UAAU,EAAE,MAAM,QAAQ,CAAA;AAU9E,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAGhD,YACE,OAAgB,EAChB,EAAE,QAAQ,GAAG,eAAe,EAAmB;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"projenrc.js","sourceRoot":"","sources":["../../src/lib/projenrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAW,UAAU,EAAE,MAAM,QAAQ,CAAA;AAU9E,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAGhD,YACE,OAAgB,EAChB,EAAE,QAAQ,GAAG,eAAe,EAAmB;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,IAAI,QAAQ,CAAA;YAErE,OAAM;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAC5B,4CAA4C,QAAQ,EAAE,CACvD,CAAA;QAED,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;YAChC,QAAQ,EAAE;;;;;OAKT;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
|
package/license
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
+
|
|
1
2
|
MIT License
|
|
2
3
|
|
|
3
4
|
Copyright (c) 2024 Filip Dupanović <filip.dupanovic@gmail.com> (https://langri-sha.com)
|
|
4
5
|
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
-
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
-
the Software without restriction, including without limitation the rights to
|
|
8
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
-
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
-
subject to the following conditions:
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
11
7
|
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
8
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
14
9
|
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
10
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|