@langri-sha/projen-project 0.8.1 → 0.9.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 +54 -1
- package/CHANGELOG.md +19 -2
- package/lib/index.d.ts +23 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +58 -9
- package/lib/index.js.map +1 -1
- 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/package.json +3 -1
- package/readme +1 -1
- package/src/index.ts +101 -13
- package/src/lib/projenrc.ts +7 -0
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,60 @@
|
|
|
2
2
|
"name": "@langri-sha/projen-project",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Sat, 25 May 2024 03:25:02 GMT",
|
|
6
|
+
"version": "0.9.0",
|
|
7
|
+
"tag": "@langri-sha/projen-project_v0.9.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "filip.dupanovic@gmail.com",
|
|
12
|
+
"package": "@langri-sha/projen-project",
|
|
13
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
14
|
+
"comment": "feat(projen): Add support for creating licenses"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "filip.dupanovic@gmail.com",
|
|
18
|
+
"package": "@langri-sha/projen-project",
|
|
19
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
20
|
+
"comment": "feat(project): Add support for configuring Jest"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "filip.dupanovic@gmail.com",
|
|
24
|
+
"package": "@langri-sha/projen-project",
|
|
25
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
26
|
+
"comment": "feat(project): Match project dependencies with Renovate"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "filip.dupanovic@gmail.com",
|
|
30
|
+
"package": "@langri-sha/projen-project",
|
|
31
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
32
|
+
"comment": "feat(project): Add projenrc file to subprojects"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "filip.dupanovic@gmail.com",
|
|
36
|
+
"package": "@langri-sha/projen-project",
|
|
37
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
38
|
+
"comment": "feat(project): Add support for NPM ignore files"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"patch": [
|
|
42
|
+
{
|
|
43
|
+
"author": "filip.dupanovic@gmail.com",
|
|
44
|
+
"package": "@langri-sha/projen-project",
|
|
45
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
46
|
+
"comment": "fix(project): Update documentation URL"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"author": "filip.dupanovic@gmail.com",
|
|
50
|
+
"package": "@langri-sha/projen-project",
|
|
51
|
+
"commit": "1b0960cb6ed3918c64dbc464cb2baa83f5dc9bdd",
|
|
52
|
+
"comment": "fix(project): Update matching Renovate dependencies"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"date": "Tue, 21 May 2024 07:47:40 GMT",
|
|
6
59
|
"version": "0.8.1",
|
|
7
60
|
"tag": "@langri-sha/projen-project_v0.8.1",
|
|
8
61
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
# Change Log - @langri-sha/projen-project
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Sat, 25 May 2024 03:25:02 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.9.0
|
|
8
|
+
|
|
9
|
+
Sat, 25 May 2024 03:25:02 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- feat(projen): Add support for creating licenses (filip.dupanovic@gmail.com)
|
|
14
|
+
- feat(project): Add support for configuring Jest (filip.dupanovic@gmail.com)
|
|
15
|
+
- feat(project): Match project dependencies with Renovate (filip.dupanovic@gmail.com)
|
|
16
|
+
- feat(project): Add projenrc file to subprojects (filip.dupanovic@gmail.com)
|
|
17
|
+
- feat(project): Add support for NPM ignore files (filip.dupanovic@gmail.com)
|
|
18
|
+
|
|
19
|
+
### Patches
|
|
20
|
+
|
|
21
|
+
- fix(project): Update documentation URL (filip.dupanovic@gmail.com)
|
|
22
|
+
- fix(project): Update matching Renovate dependencies (filip.dupanovic@gmail.com)
|
|
23
|
+
|
|
7
24
|
## 0.8.1
|
|
8
25
|
|
|
9
|
-
Tue, 21 May 2024 07:47:
|
|
26
|
+
Tue, 21 May 2024 07:47:40 GMT
|
|
10
27
|
|
|
11
28
|
### Patches
|
|
12
29
|
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Project as BaseProject, type ProjectOptions as BaseProjectOptions, javascript } from 'projen';
|
|
1
|
+
import { Project as BaseProject, type ProjectOptions as BaseProjectOptions, IgnoreFile, IgnoreFileOptions, javascript } from 'projen';
|
|
2
2
|
import { type LintSynthesizedOptions } from '@langri-sha/projen-lint-synthesized';
|
|
3
3
|
import { EditorConfig, type EditorConfigOptions } from '@langri-sha/projen-editorconfig';
|
|
4
4
|
import { Codeowners, type CodeownersOptions } from '@langri-sha/projen-codeowners';
|
|
@@ -6,7 +6,9 @@ import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate';
|
|
|
6
6
|
import { Husky, type HuskyOptions } from '@langri-sha/projen-husky';
|
|
7
7
|
import { TypeScriptConfig, type TypeScriptConfigOptions } from '@langri-sha/projen-typescript-config';
|
|
8
8
|
import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball';
|
|
9
|
+
import { License } from '@langri-sha/projen-license';
|
|
9
10
|
import { ProjenrcFile } from './lib/index.js';
|
|
11
|
+
import { JestConfig, JestConfigOptions } from '@langri-sha/projen-jest-config';
|
|
10
12
|
export * from '@langri-sha/projen-typescript-config';
|
|
11
13
|
export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' | 'renovatebotOptions'> {
|
|
12
14
|
beachballOptions?: BeachballOptions;
|
|
@@ -19,12 +21,27 @@ export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' |
|
|
|
19
21
|
* Husky options.
|
|
20
22
|
*/
|
|
21
23
|
huskyOptions?: HuskyOptions;
|
|
22
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Configures Jest, when provided.
|
|
26
|
+
*/
|
|
27
|
+
jestConfigOptions?: JestConfigOptions;
|
|
23
28
|
lintSynthesizedOptions?: LintSynthesizedOptions;
|
|
24
29
|
/**
|
|
25
30
|
* Package configuration options.
|
|
26
31
|
*/
|
|
27
|
-
package?:
|
|
32
|
+
package?: {
|
|
33
|
+
/**
|
|
34
|
+
* License copyright year.
|
|
35
|
+
*
|
|
36
|
+
* @default "Current full year"
|
|
37
|
+
*/
|
|
38
|
+
copyrightYear?: string;
|
|
39
|
+
} & javascript.NodePackageOptions;
|
|
40
|
+
/**
|
|
41
|
+
* Pass in to configure NPM ignore options.
|
|
42
|
+
*/
|
|
43
|
+
npmIgnoreOptions?: IgnoreFileOptions;
|
|
44
|
+
renovateOptions?: RenovateOptions;
|
|
28
45
|
/**
|
|
29
46
|
* TypeScript configuration options.
|
|
30
47
|
*/
|
|
@@ -38,6 +55,9 @@ export declare class Project extends BaseProject {
|
|
|
38
55
|
codeowners?: Codeowners;
|
|
39
56
|
editorConfig?: EditorConfig;
|
|
40
57
|
husky?: Husky;
|
|
58
|
+
jestConfig?: JestConfig;
|
|
59
|
+
license?: License;
|
|
60
|
+
npmIgnore?: IgnoreFile;
|
|
41
61
|
package?: javascript.NodePackage;
|
|
42
62
|
projenrc?: ProjenrcFile;
|
|
43
63
|
renovate?: Renovate;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,KAAK,cAAc,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,KAAK,cAAc,IAAI,kBAAkB,EACzC,UAAU,EACV,iBAAiB,EAEjB,UAAU,EACX,MAAM,QAAQ,CAAA;AAIf,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE9E,cAAc,sCAAsC,CAAA;AAEpD,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAItE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAKnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAErC;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAEzC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAKrC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAE/C;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,UAAU,CAAC,kBAAkB,CAAA;IAEjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IAKpC,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IAKjD,aAAa,CAAC,EAAE,OAAO,CAAA;IAKvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,qBAAa,OAAQ,SAAQ,WAAW;;IACtC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC,WAAW,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;gBAEvB,OAAO,EAAE,cAAc;IAqCnC;;OAEG;IACH,aAAa,CAAC,cAAc,EAAE,cAAc;IAO5C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAwRtC"}
|
package/lib/index.js
CHANGED
|
@@ -3,8 +3,8 @@ 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, _Project_createPnpmWorkspaces;
|
|
7
|
-
import { Project as BaseProject, YamlFile, javascript, } from 'projen';
|
|
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';
|
|
8
8
|
import * as R from 'ramda';
|
|
9
9
|
import { LintSynthesized, } from '@langri-sha/projen-lint-synthesized';
|
|
10
10
|
import { EditorConfig, } from '@langri-sha/projen-editorconfig';
|
|
@@ -13,7 +13,9 @@ import { Renovate } from '@langri-sha/projen-renovate';
|
|
|
13
13
|
import { Husky } from '@langri-sha/projen-husky';
|
|
14
14
|
import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
|
|
15
15
|
import { Beachball } from '@langri-sha/projen-beachball';
|
|
16
|
+
import { License } from '@langri-sha/projen-license';
|
|
16
17
|
import { ProjenrcFile } from './lib/index.js';
|
|
18
|
+
import { JestConfig } from '@langri-sha/projen-jest-config';
|
|
17
19
|
export * from '@langri-sha/projen-typescript-config';
|
|
18
20
|
export class Project extends BaseProject {
|
|
19
21
|
constructor(options) {
|
|
@@ -30,6 +32,7 @@ export class Project extends BaseProject {
|
|
|
30
32
|
this.tasks.removeTask('post-compile');
|
|
31
33
|
this.tasks.removeTask('pre-compile');
|
|
32
34
|
this.tasks.removeTask('watch');
|
|
35
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureProjenrc).call(this);
|
|
33
36
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePackage).call(this, options);
|
|
34
37
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureTypeScript).call(this, options);
|
|
35
38
|
if (this.parent) {
|
|
@@ -41,8 +44,10 @@ export class Project extends BaseProject {
|
|
|
41
44
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureCodeowners).call(this, options);
|
|
42
45
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureEditorConfig).call(this, options);
|
|
43
46
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureHusky).call(this, options);
|
|
47
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureJestConfig).call(this, options);
|
|
48
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLicense).call(this, options);
|
|
44
49
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLintSynthesized).call(this, options);
|
|
45
|
-
__classPrivateFieldGet(this, _Project_instances, "m",
|
|
50
|
+
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureNpmIgnore).call(this, options);
|
|
46
51
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRenovate).call(this, options);
|
|
47
52
|
__classPrivateFieldGet(this, _Project_instances, "m", _Project_createPnpmWorkspaces).call(this, options);
|
|
48
53
|
}
|
|
@@ -125,12 +130,46 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
125
130
|
this.package?.addDevDeps('husky@9.0.11');
|
|
126
131
|
this.package?.setScript('prepare', 'husky');
|
|
127
132
|
this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm');
|
|
133
|
+
}, _Project_configureJestConfig = function _Project_configureJestConfig({ jestConfigOptions }) {
|
|
134
|
+
if (!jestConfigOptions || this.parent) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
this.jestConfig = new JestConfig(this, jestConfigOptions);
|
|
138
|
+
}, _Project_configureLicense = function _Project_configureLicense({ package: pkg }) {
|
|
139
|
+
if (!pkg?.license) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (!pkg.authorName) {
|
|
143
|
+
throw new Error('Missing package author name. Set `package.authorName` in the project');
|
|
144
|
+
}
|
|
145
|
+
this.license = new License(this, {
|
|
146
|
+
spdx: pkg.license,
|
|
147
|
+
copyrightHolder: [
|
|
148
|
+
pkg.authorName,
|
|
149
|
+
pkg.authorEmail ? `<${pkg.authorEmail}>` : undefined,
|
|
150
|
+
pkg.authorUrl ? `(${pkg.authorUrl})` : undefined,
|
|
151
|
+
]
|
|
152
|
+
.filter(Boolean)
|
|
153
|
+
.join(' '),
|
|
154
|
+
year: pkg.copyrightYear ?? new Date().getFullYear().toString(),
|
|
155
|
+
});
|
|
128
156
|
}, _Project_configureLintSynthesized = function _Project_configureLintSynthesized({ lintSynthesizedOptions }) {
|
|
129
157
|
new LintSynthesized(this, lintSynthesizedOptions ?? {
|
|
130
158
|
'package.json': 'pnpx sort-package-json',
|
|
131
159
|
'*.{js,jsx,ts,tsx}': 'pnpm eslint --fix',
|
|
132
160
|
'*': 'pnpm prettier --write --ignore-unknown',
|
|
133
161
|
});
|
|
162
|
+
}, _Project_configureNpmIgnore = function _Project_configureNpmIgnore({ jestConfigOptions, npmIgnoreOptions }) {
|
|
163
|
+
if (!npmIgnoreOptions) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const defaults = {
|
|
167
|
+
ignorePatterns: [
|
|
168
|
+
...(jestConfigOptions ? ['*.test.*', '.*', '__snapshots__/'] : []),
|
|
169
|
+
'tsconfig*.json',
|
|
170
|
+
],
|
|
171
|
+
};
|
|
172
|
+
this.npmIgnore = new IgnoreFile(this, '.npmignore', deepMerge(defaults, npmIgnoreOptions));
|
|
134
173
|
}, _Project_configurePackage = function _Project_configurePackage({ package: pkg }) {
|
|
135
174
|
if (!pkg) {
|
|
136
175
|
return;
|
|
@@ -151,9 +190,6 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
151
190
|
this.package.removeScript('default');
|
|
152
191
|
}
|
|
153
192
|
}, _Project_configureProjenrc = function _Project_configureProjenrc() {
|
|
154
|
-
if (this.parent) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
193
|
this.projenrc = new ProjenrcFile(this, {});
|
|
158
194
|
}, _Project_configureRenovate = function _Project_configureRenovate({ renovateOptions }) {
|
|
159
195
|
if (!renovateOptions || this.parent) {
|
|
@@ -169,10 +205,23 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
169
205
|
customType: 'regex',
|
|
170
206
|
datasourceTemplate: 'npm',
|
|
171
207
|
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
208
|
+
matchStringsStrategy: 'recursive',
|
|
209
|
+
matchStrings: [
|
|
210
|
+
'\\.(?<depType>addDeps|addDevDeps|addPeerDeps)\\([^)]*\\)',
|
|
211
|
+
"'(?<depName>[a-zA-Z0-9-]+)@(?<currentValue>[^']+)'",
|
|
212
|
+
],
|
|
213
|
+
depTypeTemplate: "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addDevDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
customType: 'regex',
|
|
217
|
+
datasourceTemplate: 'npm',
|
|
218
|
+
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
219
|
+
matchStringsStrategy: 'recursive',
|
|
172
220
|
matchStrings: [
|
|
173
|
-
|
|
221
|
+
'(?<depType>deps|devDeps|peerDeps):\\s*\\[[^\\]]*\\]',
|
|
222
|
+
"'(?<depName>[a-zA-Z0-9-]+)@(?<currentValue>[^']+)'",
|
|
174
223
|
],
|
|
175
|
-
depTypeTemplate: "{{#if (equals depType '
|
|
224
|
+
depTypeTemplate: "{{#if (equals depType 'deps')}}dependencies{{else if (equals depType 'devDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
|
|
176
225
|
},
|
|
177
226
|
{
|
|
178
227
|
customType: 'regex',
|
|
@@ -222,7 +271,7 @@ _Project_instances = new WeakSet(), _Project_configureBeachball = function _Proj
|
|
|
222
271
|
},
|
|
223
272
|
});
|
|
224
273
|
};
|
|
225
|
-
const getGitIgnoreOptions = ({
|
|
274
|
+
const getGitIgnoreOptions = ({ gitIgnoreOptions, huskyOptions, parent, typeScriptConfigOptions, withTerraform, ...options }) => parent
|
|
226
275
|
? gitIgnoreOptions
|
|
227
276
|
: {
|
|
228
277
|
ignorePatterns: [
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EAEtB,QAAQ,EACR,UAAU,GACX,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,CAAC,MAAM,OAAO,CAAA;AAE1B,OAAO,EACL,eAAe,GAEhB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,YAAY,GAEb,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,GAEX,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAwB,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAqB,MAAM,0BAA0B,CAAA;AACnE,OAAO,EACL,gBAAgB,GAEjB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@langri-sha/projen-project",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
"@langri-sha/projen-codeowners": "0.2.3",
|
|
13
13
|
"@langri-sha/projen-editorconfig": "0.3.4",
|
|
14
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",
|
|
15
17
|
"@langri-sha/projen-lint-synthesized": "0.2.5",
|
|
16
18
|
"@langri-sha/projen-renovate": "0.2.3",
|
|
17
19
|
"@langri-sha/projen-typescript-config": "0.2.1",
|
package/readme
CHANGED
|
@@ -20,5 +20,5 @@ projects.
|
|
|
20
20
|
[code owners]:
|
|
21
21
|
https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
|
|
22
22
|
[pnpm]: https://pnpm.io
|
|
23
|
-
[projen]: https://projen.
|
|
23
|
+
[projen]: https://projen.io/
|
|
24
24
|
[workspaces]: https://pnpm.io/workspaces
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Project as BaseProject,
|
|
3
3
|
type ProjectOptions as BaseProjectOptions,
|
|
4
|
+
IgnoreFile,
|
|
5
|
+
IgnoreFileOptions,
|
|
4
6
|
YamlFile,
|
|
5
7
|
javascript,
|
|
6
8
|
} from 'projen'
|
|
@@ -26,8 +28,10 @@ import {
|
|
|
26
28
|
type TypeScriptConfigOptions,
|
|
27
29
|
} from '@langri-sha/projen-typescript-config'
|
|
28
30
|
import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball'
|
|
31
|
+
import { License } from '@langri-sha/projen-license'
|
|
29
32
|
|
|
30
33
|
import { ProjenrcFile } from './lib/index.js'
|
|
34
|
+
import { JestConfig, JestConfigOptions } from '@langri-sha/projen-jest-config'
|
|
31
35
|
|
|
32
36
|
export * from '@langri-sha/projen-typescript-config'
|
|
33
37
|
|
|
@@ -53,10 +57,10 @@ export interface ProjectOptions
|
|
|
53
57
|
*/
|
|
54
58
|
huskyOptions?: HuskyOptions
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
*
|
|
60
|
+
/**
|
|
61
|
+
* Configures Jest, when provided.
|
|
58
62
|
*/
|
|
59
|
-
|
|
63
|
+
jestConfigOptions?: JestConfigOptions
|
|
60
64
|
|
|
61
65
|
/*
|
|
62
66
|
* Options for the linting synthesized files.
|
|
@@ -66,7 +70,24 @@ export interface ProjectOptions
|
|
|
66
70
|
/**
|
|
67
71
|
* Package configuration options.
|
|
68
72
|
*/
|
|
69
|
-
package?:
|
|
73
|
+
package?: {
|
|
74
|
+
/**
|
|
75
|
+
* License copyright year.
|
|
76
|
+
*
|
|
77
|
+
* @default "Current full year"
|
|
78
|
+
*/
|
|
79
|
+
copyrightYear?: string
|
|
80
|
+
} & javascript.NodePackageOptions
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Pass in to configure NPM ignore options.
|
|
84
|
+
*/
|
|
85
|
+
npmIgnoreOptions?: IgnoreFileOptions
|
|
86
|
+
|
|
87
|
+
/*
|
|
88
|
+
* Pass in to configure Renovate.
|
|
89
|
+
*/
|
|
90
|
+
renovateOptions?: RenovateOptions
|
|
70
91
|
|
|
71
92
|
/**
|
|
72
93
|
* TypeScript configuration options.
|
|
@@ -89,6 +110,9 @@ export class Project extends BaseProject {
|
|
|
89
110
|
codeowners?: Codeowners
|
|
90
111
|
editorConfig?: EditorConfig
|
|
91
112
|
husky?: Husky
|
|
113
|
+
jestConfig?: JestConfig
|
|
114
|
+
license?: License
|
|
115
|
+
npmIgnore?: IgnoreFile
|
|
92
116
|
package?: javascript.NodePackage
|
|
93
117
|
projenrc?: ProjenrcFile
|
|
94
118
|
renovate?: Renovate
|
|
@@ -109,6 +133,7 @@ export class Project extends BaseProject {
|
|
|
109
133
|
this.tasks.removeTask('pre-compile')
|
|
110
134
|
this.tasks.removeTask('watch')
|
|
111
135
|
|
|
136
|
+
this.#configureProjenrc()
|
|
112
137
|
this.#configurePackage(options)
|
|
113
138
|
this.#configureTypeScript(options)
|
|
114
139
|
|
|
@@ -122,8 +147,10 @@ export class Project extends BaseProject {
|
|
|
122
147
|
this.#configureCodeowners(options)
|
|
123
148
|
this.#configureEditorConfig(options)
|
|
124
149
|
this.#configureHusky(options)
|
|
150
|
+
this.#configureJestConfig(options)
|
|
151
|
+
this.#configureLicense(options)
|
|
125
152
|
this.#configureLintSynthesized(options)
|
|
126
|
-
this.#
|
|
153
|
+
this.#configureNpmIgnore(options)
|
|
127
154
|
this.#configureRenovate(options)
|
|
128
155
|
this.#createPnpmWorkspaces(options)
|
|
129
156
|
}
|
|
@@ -233,6 +260,38 @@ export class Project extends BaseProject {
|
|
|
233
260
|
this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm')
|
|
234
261
|
}
|
|
235
262
|
|
|
263
|
+
#configureJestConfig({ jestConfigOptions }: ProjectOptions) {
|
|
264
|
+
if (!jestConfigOptions || this.parent) {
|
|
265
|
+
return
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
this.jestConfig = new JestConfig(this, jestConfigOptions)
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
#configureLicense({ package: pkg }: ProjectOptions) {
|
|
272
|
+
if (!pkg?.license) {
|
|
273
|
+
return
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
if (!pkg.authorName) {
|
|
277
|
+
throw new Error(
|
|
278
|
+
'Missing package author name. Set `package.authorName` in the project',
|
|
279
|
+
)
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
this.license = new License(this, {
|
|
283
|
+
spdx: pkg.license,
|
|
284
|
+
copyrightHolder: [
|
|
285
|
+
pkg.authorName,
|
|
286
|
+
pkg.authorEmail ? `<${pkg.authorEmail}>` : undefined,
|
|
287
|
+
pkg.authorUrl ? `(${pkg.authorUrl})` : undefined,
|
|
288
|
+
]
|
|
289
|
+
.filter(Boolean)
|
|
290
|
+
.join(' '),
|
|
291
|
+
year: pkg.copyrightYear ?? new Date().getFullYear().toString(),
|
|
292
|
+
})
|
|
293
|
+
}
|
|
294
|
+
|
|
236
295
|
#configureLintSynthesized({ lintSynthesizedOptions }: ProjectOptions) {
|
|
237
296
|
new LintSynthesized(
|
|
238
297
|
this,
|
|
@@ -244,6 +303,25 @@ export class Project extends BaseProject {
|
|
|
244
303
|
)
|
|
245
304
|
}
|
|
246
305
|
|
|
306
|
+
#configureNpmIgnore({ jestConfigOptions, npmIgnoreOptions }: ProjectOptions) {
|
|
307
|
+
if (!npmIgnoreOptions) {
|
|
308
|
+
return
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
const defaults: IgnoreFileOptions = {
|
|
312
|
+
ignorePatterns: [
|
|
313
|
+
...(jestConfigOptions ? ['*.test.*', '.*', '__snapshots__/'] : []),
|
|
314
|
+
'tsconfig*.json',
|
|
315
|
+
],
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
this.npmIgnore = new IgnoreFile(
|
|
319
|
+
this,
|
|
320
|
+
'.npmignore',
|
|
321
|
+
deepMerge(defaults, npmIgnoreOptions),
|
|
322
|
+
)
|
|
323
|
+
}
|
|
324
|
+
|
|
247
325
|
#configurePackage({ package: pkg }: ProjectOptions) {
|
|
248
326
|
if (!pkg) {
|
|
249
327
|
return
|
|
@@ -271,10 +349,6 @@ export class Project extends BaseProject {
|
|
|
271
349
|
}
|
|
272
350
|
|
|
273
351
|
#configureProjenrc() {
|
|
274
|
-
if (this.parent) {
|
|
275
|
-
return
|
|
276
|
-
}
|
|
277
|
-
|
|
278
352
|
this.projenrc = new ProjenrcFile(this, {})
|
|
279
353
|
}
|
|
280
354
|
|
|
@@ -293,11 +367,25 @@ export class Project extends BaseProject {
|
|
|
293
367
|
customType: 'regex',
|
|
294
368
|
datasourceTemplate: 'npm',
|
|
295
369
|
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
370
|
+
matchStringsStrategy: 'recursive',
|
|
296
371
|
matchStrings: [
|
|
297
|
-
|
|
372
|
+
'\\.(?<depType>addDeps|addDevDeps|addPeerDeps)\\([^)]*\\)',
|
|
373
|
+
"'(?<depName>[a-zA-Z0-9-]+)@(?<currentValue>[^']+)'",
|
|
298
374
|
],
|
|
299
375
|
depTypeTemplate:
|
|
300
|
-
"{{#if (equals depType '
|
|
376
|
+
"{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addDevDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
customType: 'regex',
|
|
380
|
+
datasourceTemplate: 'npm',
|
|
381
|
+
fileMatch: ['\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$'],
|
|
382
|
+
matchStringsStrategy: 'recursive',
|
|
383
|
+
matchStrings: [
|
|
384
|
+
'(?<depType>deps|devDeps|peerDeps):\\s*\\[[^\\]]*\\]',
|
|
385
|
+
"'(?<depName>[a-zA-Z0-9-]+)@(?<currentValue>[^']+)'",
|
|
386
|
+
],
|
|
387
|
+
depTypeTemplate:
|
|
388
|
+
"{{#if (equals depType 'deps')}}dependencies{{else if (equals depType 'devDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
|
|
301
389
|
},
|
|
302
390
|
{
|
|
303
391
|
customType: 'regex',
|
|
@@ -363,11 +451,11 @@ export class Project extends BaseProject {
|
|
|
363
451
|
}
|
|
364
452
|
|
|
365
453
|
const getGitIgnoreOptions = ({
|
|
454
|
+
gitIgnoreOptions,
|
|
366
455
|
huskyOptions,
|
|
456
|
+
parent,
|
|
367
457
|
typeScriptConfigOptions,
|
|
368
458
|
withTerraform,
|
|
369
|
-
parent,
|
|
370
|
-
gitIgnoreOptions,
|
|
371
459
|
...options
|
|
372
460
|
}: ProjectOptions): ProjectOptions['gitIgnoreOptions'] =>
|
|
373
461
|
parent
|
package/src/lib/projenrc.ts
CHANGED
|
@@ -17,7 +17,14 @@ export class ProjenrcFile extends BaseProjenrcFile {
|
|
|
17
17
|
) {
|
|
18
18
|
super(project)
|
|
19
19
|
|
|
20
|
+
if (project.parent) {
|
|
21
|
+
this.filePath = ProjenrcFile.of(project.parent)?.filePath ?? filename
|
|
22
|
+
|
|
23
|
+
return
|
|
24
|
+
}
|
|
25
|
+
|
|
20
26
|
this.filePath = filename
|
|
27
|
+
|
|
21
28
|
this.project.defaultTask?.exec(
|
|
22
29
|
`node --loader ts-node/esm/transpile-only ${filename}`,
|
|
23
30
|
)
|