@langri-sha/projen-project 0.9.0 → 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/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_configureJestConfig, _Project_configureLicense, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configureProjenrc, _Project_configureRenovate, _Project_configureTypeScript, _Project_createPnpmWorkspaces;
7
- import { Project as BaseProject, IgnoreFile, YamlFile, javascript, } from 'projen';
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';
@@ -14,8 +15,13 @@ 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
17
  import { License } from '@langri-sha/projen-license';
17
- import { ProjenrcFile } from './lib/index.js';
18
+ import { NodePackage, ProjenrcFile } from './lib/index.js';
18
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';
19
25
  export * from '@langri-sha/projen-typescript-config';
20
26
  export class Project extends BaseProject {
21
27
  constructor(options) {
@@ -32,60 +38,78 @@ export class Project extends BaseProject {
32
38
  this.tasks.removeTask('post-compile');
33
39
  this.tasks.removeTask('pre-compile');
34
40
  this.tasks.removeTask('watch');
35
- __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureProjenrc).call(this);
36
41
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePackage).call(this, options);
37
42
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureTypeScript).call(this, options);
43
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureProjenrc).call(this);
38
44
  if (this.parent) {
39
45
  this.tasks.tryFind('default')?.reset();
40
46
  this.tasks.tryFind('install')?.reset();
41
47
  this.tasks.tryFind('install:ci')?.reset();
42
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);
43
52
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureBeachball).call(this, options);
44
53
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureCodeowners).call(this, options);
45
54
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureEditorConfig).call(this, options);
46
55
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureHusky).call(this, options);
47
56
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureJestConfig).call(this, options);
48
57
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLicense).call(this, options);
58
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLintStaged).call(this, options);
49
59
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLintSynthesized).call(this, options);
50
60
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureNpmIgnore).call(this, options);
61
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePnpmWorkspace).call(this, options);
51
62
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRenovate).call(this, options);
52
- __classPrivateFieldGet(this, _Project_instances, "m", _Project_createPnpmWorkspaces).call(this, options);
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);
53
76
  }
54
77
  /**
55
78
  * Add a subproject.
56
79
  */
57
- addSubproject(projectOptions) {
58
- return new Project({
80
+ addSubproject(projectOptions, ...compose) {
81
+ const project = new Project({
59
82
  parent: this,
60
83
  ...projectOptions,
61
84
  });
85
+ for (const callback of compose) {
86
+ callback(project);
87
+ }
88
+ return project;
62
89
  }
63
90
  /**
64
91
  * Find a project by it's name, e.g. `@acme/some`.
65
92
  */
66
93
  findSubproject(name) {
67
- const subprojects = [];
68
- const addSubproject = (project) => {
69
- for (const subproject of project.subprojects) {
70
- subprojects.push(subproject);
71
- if (subproject.subprojects.length) {
72
- addSubproject(subproject);
73
- }
74
- }
75
- };
76
- addSubproject(this.root);
77
- const result = subprojects.find((subproject) => subproject.name === name);
78
- if (result instanceof Project) {
79
- return result;
80
- }
81
- throw new Error(`Cannot find subproject ${name}`);
94
+ return this.allSubprojectsKind.find((project) => project.name === name);
82
95
  }
83
96
  }
84
- _Project_instances = new WeakSet(), _Project_configureBeachball = function _Project_configureBeachball({ beachballOptions }) {
85
- if (!beachballOptions || this.parent) {
97
+ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_configureBabel({ babel }) {
98
+ if (!babel) {
99
+ return;
100
+ }
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) {
86
110
  return;
87
111
  }
88
- const options = deepMerge(beachballOptions, {
112
+ const options = deepMerge(beachball, {
89
113
  branch: 'origin/main',
90
114
  gitTags: false,
91
115
  ignorePatterns: [
@@ -97,14 +121,15 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
97
121
  ],
98
122
  });
99
123
  this.beachball = new Beachball(this, options);
124
+ this.prettier?.ignore.addPatterns('CHANGELOG.md');
100
125
  this.package?.addDevDeps('beachball@2.43.1');
101
126
  this.typeScriptConfig?.addFile('beachball.config.js');
102
- }, _Project_configureCodeowners = function _Project_configureCodeowners({ codeownersOptions }) {
127
+ }, _Project_configureCodeowners = function _Project_configureCodeowners({ codeowners: codeownersOptions }) {
103
128
  if (!codeownersOptions) {
104
129
  return;
105
130
  }
106
131
  this.codeowners = new Codeowners(this, codeownersOptions);
107
- }, _Project_configureEditorConfig = function _Project_configureEditorConfig({ editorConfigOptions }) {
132
+ }, _Project_configureEditorConfig = function _Project_configureEditorConfig({ editorConfig: editorConfigOptions, }) {
108
133
  if (!editorConfigOptions || this.parent) {
109
134
  return;
110
135
  }
@@ -122,7 +147,22 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
122
147
  },
123
148
  };
124
149
  this.editorConfig = new EditorConfig(this, deepMerge(editorConfigOptions ?? {}, defaults));
125
- }, _Project_configureHusky = function _Project_configureHusky({ huskyOptions }) {
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 }) {
126
166
  if (!huskyOptions || this.parent) {
127
167
  return;
128
168
  }
@@ -130,11 +170,12 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
130
170
  this.package?.addDevDeps('husky@9.0.11');
131
171
  this.package?.setScript('prepare', 'husky');
132
172
  this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm');
133
- }, _Project_configureJestConfig = function _Project_configureJestConfig({ jestConfigOptions }) {
173
+ }, _Project_configureJestConfig = function _Project_configureJestConfig({ jestConfig: jestConfigOptions }) {
134
174
  if (!jestConfigOptions || this.parent) {
135
175
  return;
136
176
  }
137
177
  this.jestConfig = new JestConfig(this, jestConfigOptions);
178
+ this.typeScriptConfig?.addFile(this.jestConfig.path);
138
179
  }, _Project_configureLicense = function _Project_configureLicense({ package: pkg }) {
139
180
  if (!pkg?.license) {
140
181
  return;
@@ -153,23 +194,38 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
153
194
  .join(' '),
154
195
  year: pkg.copyrightYear ?? new Date().getFullYear().toString(),
155
196
  });
156
- }, _Project_configureLintSynthesized = function _Project_configureLintSynthesized({ lintSynthesizedOptions }) {
157
- new LintSynthesized(this, lintSynthesizedOptions ?? {
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 = {
158
212
  'package.json': 'pnpx sort-package-json',
159
- '*.{js,jsx,ts,tsx}': 'pnpm eslint --fix',
213
+ '*.{js,cjs,mjs,jsx,ts,cts,mts,tsx}': 'pnpm eslint --fix',
160
214
  '*': 'pnpm prettier --write --ignore-unknown',
161
- });
162
- }, _Project_configureNpmIgnore = function _Project_configureNpmIgnore({ jestConfigOptions, npmIgnoreOptions }) {
163
- if (!npmIgnoreOptions) {
215
+ };
216
+ new LintSynthesized(this, deepMerge(defaults, lintSynthesized));
217
+ }, _Project_configureNpmIgnore = function _Project_configureNpmIgnore({ typeScriptConfig, jestConfig, npmIgnore, }) {
218
+ if (!npmIgnore) {
164
219
  return;
165
220
  }
166
221
  const defaults = {
167
222
  ignorePatterns: [
168
- ...(jestConfigOptions ? ['*.test.*', '.*', '__snapshots__/'] : []),
169
- 'tsconfig*.json',
223
+ '.*',
224
+ ...(jestConfig ? ['*.test.*', '__snapshots__/'] : []),
225
+ ...(typeScriptConfig ? ['tsconfig*.json'] : []),
170
226
  ],
171
227
  };
172
- this.npmIgnore = new IgnoreFile(this, '.npmignore', deepMerge(defaults, npmIgnoreOptions));
228
+ this.npmIgnore = new IgnoreFile(this, '.npmignore', deepMerge(defaults, npmIgnore));
173
229
  }, _Project_configurePackage = function _Project_configurePackage({ package: pkg }) {
174
230
  if (!pkg) {
175
231
  return;
@@ -177,21 +233,49 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
177
233
  const defaults = {
178
234
  entrypoint: 'src/index.ts',
179
235
  packageManager: javascript.NodePackageManager.PNPM,
180
- minNodeVersion: '20.12.0',
181
236
  };
182
- this.package = new javascript.NodePackage(this, deepMerge(defaults, pkg));
237
+ this.package = new NodePackage(this, deepMerge(defaults, pkg));
183
238
  if (!this.parent) {
184
239
  this.package.addDevDeps('@langri-sha/projen-project@*');
185
- this.package.addDevDeps('projen@0.81.15');
240
+ this.package.addDevDeps('projen@0.82.4');
186
241
  }
187
242
  this.package.removeScript('start');
188
243
  this.package.removeScript('test');
189
244
  if (this.parent) {
190
245
  this.package.removeScript('default');
191
246
  }
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) {
258
+ return;
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);
192
273
  }, _Project_configureProjenrc = function _Project_configureProjenrc() {
193
274
  this.projenrc = new ProjenrcFile(this, {});
194
- }, _Project_configureRenovate = function _Project_configureRenovate({ renovateOptions }) {
275
+ if (!this.parent) {
276
+ this.typeScriptConfig?.addFile(this.projenrc.filePath);
277
+ }
278
+ }, _Project_configureRenovate = function _Project_configureRenovate({ renovate: renovateOptions }) {
195
279
  if (!renovateOptions || this.parent) {
196
280
  return;
197
281
  }
@@ -200,7 +284,19 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
200
284
  extends: ['config:recommended'],
201
285
  labels: ['dependencies'],
202
286
  reviewersFromCodeOwners: true,
287
+ lockFileMaintenance: {
288
+ enabled: true,
289
+ },
203
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
+ },
204
300
  {
205
301
  customType: 'regex',
206
302
  datasourceTemplate: 'npm',
@@ -208,7 +304,7 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
208
304
  matchStringsStrategy: 'recursive',
209
305
  matchStrings: [
210
306
  '\\.(?<depType>addDeps|addDevDeps|addPeerDeps)\\([^)]*\\)',
211
- "'(?<depName>[a-zA-Z0-9-]+)@(?<currentValue>[^']+)'",
307
+ "'(?<depName>@?[\\w-\\/]+)@(?<currentValue>[^']+)'",
212
308
  ],
213
309
  depTypeTemplate: "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addDevDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
214
310
  },
@@ -219,7 +315,7 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
219
315
  matchStringsStrategy: 'recursive',
220
316
  matchStrings: [
221
317
  '(?<depType>deps|devDeps|peerDeps):\\s*\\[[^\\]]*\\]',
222
- "'(?<depName>[a-zA-Z0-9-]+)@(?<currentValue>[^']+)'",
318
+ "'(?<depName>@?[\\w-\\/]+)@(?<currentValue>[^']+)'",
223
319
  ],
224
320
  depTypeTemplate: "{{#if (equals depType 'deps')}}dependencies{{else if (equals depType 'devDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
225
321
  },
@@ -233,8 +329,12 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
233
329
  },
234
330
  ],
235
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
+ });
236
336
  this.renovate = new Renovate(this, deepMerge(defaults, renovateOptions));
237
- }, _Project_configureTypeScript = function _Project_configureTypeScript({ parent, typeScriptConfigOptions }) {
337
+ }, _Project_configureTypeScript = function _Project_configureTypeScript({ parent, typeScriptConfig: typeScriptConfigOptions, }) {
238
338
  if (!typeScriptConfigOptions) {
239
339
  return;
240
340
  }
@@ -258,20 +358,31 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
258
358
  this.package?.addDevDeps('typescript@5.4.5');
259
359
  this.package?.addDevDeps('ts-node@10.9.2');
260
360
  }
261
- this.package?.addDevDeps('@langri-sha/tsconfig@*');
262
- }, _Project_createPnpmWorkspaces = function _Project_createPnpmWorkspaces({ workspaces }) {
263
- if (!workspaces) {
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) {
264
366
  return;
265
367
  }
266
- new YamlFile(this, 'pnpm-workspace.yaml', {
267
- readonly: true,
268
- marker: true,
269
- obj: {
270
- packages: workspaces,
271
- },
272
- });
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
+ }
273
384
  };
274
- const getGitIgnoreOptions = ({ gitIgnoreOptions, huskyOptions, parent, typeScriptConfigOptions, withTerraform, ...options }) => parent
385
+ const getGitIgnoreOptions = ({ gitIgnoreOptions, husky: huskyOptions, parent, typeScriptConfig: typeScriptConfigOptions, withTerraform, ...options }) => parent
275
386
  ? gitIgnoreOptions
276
387
  : {
277
388
  ignorePatterns: [
@@ -294,7 +405,8 @@ const getGitIgnoreOptions = ({ gitIgnoreOptions, huskyOptions, parent, typeScrip
294
405
  !.github/
295
406
  ${huskyOptions ? '!.husky/' : ''}
296
407
  !.projen/
297
- ${options.workspaces?.map((workspace) => `${workspace}/lib/`).join('\n') ?? ''}
408
+ dist/
409
+ ${options.pnpmWorkspace?.packages?.map((workspace) => `${workspace}/lib/`).join('\n') ?? ''}
298
410
  node_modules/
299
411
  `
300
412
  .split('\n')
@@ -303,5 +415,10 @@ const getGitIgnoreOptions = ({ gitIgnoreOptions, huskyOptions, parent, typeScrip
303
415
  ...(gitIgnoreOptions?.ignorePatterns ?? []),
304
416
  ],
305
417
  };
306
- const deepMerge = R.mergeDeepWith(R.concat);
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
+ ]));
307
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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"}
@@ -1,2 +1,3 @@
1
+ export * from './node-package.js';
1
2
  export * from './projenrc.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -1,2 +1,3 @@
1
+ export * from './node-package.js';
1
2
  export * from './projenrc.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -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"}
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.
package/package.json CHANGED
@@ -1,36 +1,46 @@
1
1
  {
2
2
  "name": "@langri-sha/projen-project",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
+ "author": {
6
+ "name": "Filip Dupanović",
7
+ "email": "filip.dupanovic@gmail.com",
8
+ "url": "https://langri-sha.com",
9
+ "organization": false
10
+ },
5
11
  "type": "module",
6
12
  "main": "lib/index.js",
7
13
  "scripts": {
8
14
  "prepublishOnly": "rm -rf lib; tsc --project tsconfig.build.json"
9
15
  },
10
16
  "dependencies": {
11
- "@langri-sha/projen-beachball": "0.1.0",
12
- "@langri-sha/projen-codeowners": "0.2.3",
13
- "@langri-sha/projen-editorconfig": "0.3.4",
14
- "@langri-sha/projen-husky": "0.1.3",
15
- "@langri-sha/projen-jest-config": "0.1.0",
16
- "@langri-sha/projen-license": "0.1.0",
17
- "@langri-sha/projen-lint-synthesized": "0.2.5",
18
- "@langri-sha/projen-renovate": "0.2.3",
19
- "@langri-sha/projen-typescript-config": "0.2.1",
20
- "ramda": "0.30.0"
17
+ "@langri-sha/projen-babel": "0.1.0",
18
+ "@langri-sha/projen-beachball": "0.2.0",
19
+ "@langri-sha/projen-codeowners": "0.3.0",
20
+ "@langri-sha/projen-editorconfig": "0.4.0",
21
+ "@langri-sha/projen-eslint": "0.1.0",
22
+ "@langri-sha/projen-husky": "0.2.0",
23
+ "@langri-sha/projen-jest-config": "0.2.0",
24
+ "@langri-sha/projen-license": "0.2.0",
25
+ "@langri-sha/projen-lint-staged": "0.1.0",
26
+ "@langri-sha/projen-lint-synthesized": "0.3.0",
27
+ "@langri-sha/projen-pnpm-workspace": "0.1.0",
28
+ "@langri-sha/projen-prettier": "0.2.0",
29
+ "@langri-sha/projen-renovate": "0.3.0",
30
+ "@langri-sha/projen-typescript-config": "0.3.0",
31
+ "ramda": "0.30.1"
21
32
  },
22
33
  "devDependencies": {
23
- "@langri-sha/jest-test": "0.7.1",
24
- "@langri-sha/tsconfig": "0.9.0",
25
- "@types/ramda": "0.30.0",
26
- "projen": "0.81.15"
34
+ "@langri-sha/jest-test": "0.8.0",
35
+ "@langri-sha/tsconfig": "0.10.0",
36
+ "@types/ramda": "0.30.0"
27
37
  },
28
38
  "peerDependencies": {
29
- "projen": "^0.81.1",
30
- "typescript": "^5.0.0"
39
+ "projen": "^0.82.0"
31
40
  },
32
41
  "publishConfig": {
33
42
  "access": "public"
34
43
  },
44
+ "//": "~~ Generated by projen. To modify, edit .projenrc.mts and run \"npx projen\".",
35
45
  "types": "lib/index.d.ts"
36
46
  }