@langri-sha/projen-project 0.11.0 → 0.13.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 CHANGED
@@ -2,7 +2,207 @@
2
2
  "name": "@langri-sha/projen-project",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 08 Jul 2024 21:40:45 GMT",
5
+ "date": "Fri, 26 Jul 2024 20:58:04 GMT",
6
+ "version": "0.13.0",
7
+ "tag": "@langri-sha/projen-project_v0.13.0",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "author": "filip.dupanovic@gmail.com",
12
+ "package": "@langri-sha/projen-project",
13
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
14
+ "comment": "feat(workspace): Migrate documentation pathnames"
15
+ },
16
+ {
17
+ "author": "filip.dupanovic@gmail.com",
18
+ "package": "@langri-sha/projen-project",
19
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
20
+ "comment": "feat(projen): Add Git ignore patterns"
21
+ }
22
+ ],
23
+ "patch": [
24
+ {
25
+ "author": "email not defined",
26
+ "package": "@langri-sha/projen-project",
27
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
28
+ "comment": "chore(deps): chore(deps): update dependency @swc/core to v1.7.0"
29
+ },
30
+ {
31
+ "author": "email not defined",
32
+ "package": "@langri-sha/projen-project",
33
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
34
+ "comment": "chore(deps): chore(deps): update dependency projen to v0.84.7"
35
+ },
36
+ {
37
+ "author": "email not defined",
38
+ "package": "@langri-sha/projen-project",
39
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
40
+ "comment": "chore(deps): chore(deps): update dependency husky to v9.1.0"
41
+ },
42
+ {
43
+ "author": "email not defined",
44
+ "package": "@langri-sha/projen-project",
45
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
46
+ "comment": "chore(deps): chore(deps): update dependency @swc/core to v1.7.1"
47
+ },
48
+ {
49
+ "author": "email not defined",
50
+ "package": "@langri-sha/projen-project",
51
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
52
+ "comment": "chore(deps): chore(deps): update dependency typescript to v5.5.4"
53
+ },
54
+ {
55
+ "author": "email not defined",
56
+ "package": "@langri-sha/projen-project",
57
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
58
+ "comment": "chore(deps): chore(deps): update dependency @swc/core to v1.7.2"
59
+ },
60
+ {
61
+ "author": "email not defined",
62
+ "package": "@langri-sha/projen-project",
63
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
64
+ "comment": "chore(deps): chore(deps): update dependency husky to v9.1.2"
65
+ },
66
+ {
67
+ "author": "email not defined",
68
+ "package": "@langri-sha/projen-project",
69
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
70
+ "comment": "chore(deps): chore(deps): update dependency husky to v9.1.3"
71
+ },
72
+ {
73
+ "author": "email not defined",
74
+ "package": "@langri-sha/projen-project",
75
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
76
+ "comment": "chore(deps): chore(deps): update dependency projen to v0.84.6"
77
+ }
78
+ ],
79
+ "minor": [
80
+ {
81
+ "author": "filip.dupanovic@gmail.com",
82
+ "package": "@langri-sha/projen-project",
83
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
84
+ "comment": "feat(project): Add `ReadmeFile` support"
85
+ },
86
+ {
87
+ "author": "filip.dupanovic@gmail.com",
88
+ "package": "@langri-sha/projen-project",
89
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
90
+ "comment": "feat(workspace): Harden Projen component types"
91
+ },
92
+ {
93
+ "author": "filip.dupanovic@gmail.com",
94
+ "package": "@langri-sha/projen-project",
95
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
96
+ "comment": "feat(project): Annotate generated files on root project"
97
+ },
98
+ {
99
+ "author": "filip.dupanovic@gmail.com",
100
+ "package": "@langri-sha/projen-project",
101
+ "commit": "d58e2b444358fb65166d0878c185220c6e0a7bb0",
102
+ "comment": "feat(projectj): Add custom `GitAttributesFile`"
103
+ }
104
+ ]
105
+ }
106
+ },
107
+ {
108
+ "date": "Wed, 17 Jul 2024 10:48:16 GMT",
109
+ "version": "0.12.0",
110
+ "tag": "@langri-sha/projen-project_v0.12.0",
111
+ "comments": {
112
+ "minor": [
113
+ {
114
+ "author": "filip.dupanovic@gmail.com",
115
+ "package": "@langri-sha/projen-project",
116
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
117
+ "comment": "feat(beachball): Add support for configuring filename"
118
+ },
119
+ {
120
+ "author": "filip.dupanovic@gmail.com",
121
+ "package": "@langri-sha/projen-project",
122
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
123
+ "comment": "feat(project): Change default Projen config filename"
124
+ },
125
+ {
126
+ "author": "filip.dupanovic@gmail.com",
127
+ "package": "@langri-sha/projen-project",
128
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
129
+ "comment": "feat(project): Reconfigure Lint Staged filename for ESM packages"
130
+ },
131
+ {
132
+ "author": "filip.dupanovic@gmail.com",
133
+ "package": "@langri-sha/projen-project",
134
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
135
+ "comment": "feat(project): Reconfigure Prettier filename for ESM packages"
136
+ },
137
+ {
138
+ "author": "filip.dupanovic@gmail.com",
139
+ "package": "@langri-sha/projen-project",
140
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
141
+ "comment": "feat(babel): Migrate to ESM configuration"
142
+ }
143
+ ],
144
+ "none": [
145
+ {
146
+ "author": "filip.dupanovic@gmail.com",
147
+ "package": "@langri-sha/projen-project",
148
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
149
+ "comment": "feat(root): Migrate to ESM"
150
+ },
151
+ {
152
+ "author": "filip.dupanovic@gmail.com",
153
+ "package": "@langri-sha/projen-project",
154
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
155
+ "comment": "feat(eslint-config): Add `import/order` rule"
156
+ }
157
+ ],
158
+ "patch": [
159
+ {
160
+ "author": "email not defined",
161
+ "package": "@langri-sha/projen-project",
162
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
163
+ "comment": "chore(deps): chore(deps): update dependency @swc-node/register to v1.10.9"
164
+ },
165
+ {
166
+ "author": "email not defined",
167
+ "package": "@langri-sha/projen-project",
168
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
169
+ "comment": "chore(deps): chore(deps): update dependency @swc-node/register to v1.10.7"
170
+ },
171
+ {
172
+ "author": "filip.dupanovic@gmail.com",
173
+ "package": "@langri-sha/projen-project",
174
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
175
+ "comment": "fix(project): Apply ESLint ignore patterns to subdirectories"
176
+ },
177
+ {
178
+ "author": "filip.dupanovic@gmail.com",
179
+ "package": "@langri-sha/projen-project",
180
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
181
+ "comment": "fix(workspace): Use correct GitHub directory"
182
+ },
183
+ {
184
+ "author": "filip.dupanovic@gmail.com",
185
+ "package": "@langri-sha/projen-project",
186
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
187
+ "comment": "fix(project): Correctly name Babel configuration for ESM packages"
188
+ },
189
+ {
190
+ "author": "email not defined",
191
+ "package": "@langri-sha/projen-project",
192
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
193
+ "comment": "chore(deps): chore(deps): update dependency @swc-node/register to v1.10.8"
194
+ },
195
+ {
196
+ "author": "filip.dupanovic@gmail.com",
197
+ "package": "@langri-sha/projen-project",
198
+ "commit": "c4b7573f367c165d7c67ed5f259ad53ec9ea5672",
199
+ "comment": "fix(project): Use actual Beachball filename"
200
+ }
201
+ ]
202
+ }
203
+ },
204
+ {
205
+ "date": "Mon, 08 Jul 2024 21:43:05 GMT",
6
206
  "version": "0.11.0",
7
207
  "tag": "@langri-sha/projen-project_v0.11.0",
8
208
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,57 @@
1
1
  # Change Log - @langri-sha/projen-project
2
2
 
3
- This log was last generated on Mon, 08 Jul 2024 21:40:45 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 26 Jul 2024 20:58:04 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.13.0
8
+
9
+ Fri, 26 Jul 2024 20:58:04 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - feat(project): Add `ReadmeFile` support (filip.dupanovic@gmail.com)
14
+ - feat(workspace): Harden Projen component types (filip.dupanovic@gmail.com)
15
+ - feat(project): Annotate generated files on root project (filip.dupanovic@gmail.com)
16
+ - feat(projectj): Add custom `GitAttributesFile` (filip.dupanovic@gmail.com)
17
+
18
+ ### Patches
19
+
20
+ - chore(deps): chore(deps): update dependency @swc/core to v1.7.0 (email not defined)
21
+ - chore(deps): chore(deps): update dependency projen to v0.84.7 (email not defined)
22
+ - chore(deps): chore(deps): update dependency husky to v9.1.0 (email not defined)
23
+ - chore(deps): chore(deps): update dependency @swc/core to v1.7.1 (email not defined)
24
+ - chore(deps): chore(deps): update dependency typescript to v5.5.4 (email not defined)
25
+ - chore(deps): chore(deps): update dependency @swc/core to v1.7.2 (email not defined)
26
+ - chore(deps): chore(deps): update dependency husky to v9.1.2 (email not defined)
27
+ - chore(deps): chore(deps): update dependency husky to v9.1.3 (email not defined)
28
+ - chore(deps): chore(deps): update dependency projen to v0.84.6 (email not defined)
29
+
30
+ ## 0.12.0
31
+
32
+ Wed, 17 Jul 2024 10:48:16 GMT
33
+
34
+ ### Minor changes
35
+
36
+ - feat(beachball): Add support for configuring filename (filip.dupanovic@gmail.com)
37
+ - feat(project): Change default Projen config filename (filip.dupanovic@gmail.com)
38
+ - feat(project): Reconfigure Lint Staged filename for ESM packages (filip.dupanovic@gmail.com)
39
+ - feat(project): Reconfigure Prettier filename for ESM packages (filip.dupanovic@gmail.com)
40
+ - feat(babel): Migrate to ESM configuration (filip.dupanovic@gmail.com)
41
+
42
+ ### Patches
43
+
44
+ - chore(deps): chore(deps): update dependency @swc-node/register to v1.10.9 (email not defined)
45
+ - chore(deps): chore(deps): update dependency @swc-node/register to v1.10.7 (email not defined)
46
+ - fix(project): Apply ESLint ignore patterns to subdirectories (filip.dupanovic@gmail.com)
47
+ - fix(workspace): Use correct GitHub directory (filip.dupanovic@gmail.com)
48
+ - fix(project): Correctly name Babel configuration for ESM packages (filip.dupanovic@gmail.com)
49
+ - chore(deps): chore(deps): update dependency @swc-node/register to v1.10.8 (email not defined)
50
+ - fix(project): Use actual Beachball filename (filip.dupanovic@gmail.com)
51
+
7
52
  ## 0.11.0
8
53
 
9
- Mon, 08 Jul 2024 21:40:45 GMT
54
+ Mon, 08 Jul 2024 21:43:05 GMT
10
55
 
11
56
  ### Minor changes
12
57
 
package/dist/index.d.ts CHANGED
@@ -1,20 +1,22 @@
1
- import { Project as BaseProject, type ProjectOptions as BaseProjectOptions, IgnoreFile, IgnoreFileOptions } from 'projen';
2
- import { type LintSynthesizedOptions } from '@langri-sha/projen-lint-synthesized';
3
- import { EditorConfig, type EditorConfigOptions } from '@langri-sha/projen-editorconfig';
1
+ import { Babel, BabelOptions } from '@langri-sha/projen-babel';
2
+ import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball';
4
3
  import { Codeowners, type CodeownersOptions } from '@langri-sha/projen-codeowners';
5
- import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate';
4
+ import { EditorConfig, type EditorConfigOptions } from '@langri-sha/projen-editorconfig';
5
+ import { ESLint, ESLintOptions } from '@langri-sha/projen-eslint';
6
6
  import { Husky, type HuskyOptions } from '@langri-sha/projen-husky';
7
- import { TypeScriptConfig, type TypeScriptConfigOptions } from '@langri-sha/projen-typescript-config';
8
- import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball';
9
- import { License } from '@langri-sha/projen-license';
10
- import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js';
11
7
  import { JestConfig, JestConfigOptions } from '@langri-sha/projen-jest-config';
12
- import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier';
13
- import { ESLint, ESLintOptions } from '@langri-sha/projen-eslint';
8
+ import { License } from '@langri-sha/projen-license';
14
9
  import { LintStaged, LintStagedOptions } from '@langri-sha/projen-lint-staged';
15
- import { Babel, BabelOptions } from '@langri-sha/projen-babel';
10
+ import { type LintSynthesizedOptions } from '@langri-sha/projen-lint-synthesized';
16
11
  import { PnpmWorkspace, PnpmWorkspaceOptions } from '@langri-sha/projen-pnpm-workspace';
12
+ import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier';
13
+ import { ReadmeFile, type ReadmeFileOptions } from '@langri-sha/projen-readme';
14
+ import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate';
17
15
  import { SWCConfig, type SWCConfigOptions } from '@langri-sha/projen-swcrc';
16
+ import { TypeScriptConfig, type TypeScriptConfigOptions } from '@langri-sha/projen-typescript-config';
17
+ import { Project as BaseProject, type ProjectOptions as BaseProjectOptions, IgnoreFile, IgnoreFileOptions } from 'projen';
18
+ import { GitAttributesFile } from './lib/gitattributes.js';
19
+ import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js';
18
20
  export * from '@langri-sha/projen-typescript-config';
19
21
  export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' | 'renovatebotOptions'> {
20
22
  babel?: BabelOptions;
@@ -61,6 +63,7 @@ export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' |
61
63
  * Pass in to configure NPM ignore options.
62
64
  */
63
65
  npmIgnore?: IgnoreFileOptions;
66
+ readme?: ReadmeFileOptions;
64
67
  renovate?: RenovateOptions;
65
68
  swcrc?: SWCConfigOptions;
66
69
  /**
@@ -81,14 +84,20 @@ export declare class Project extends BaseProject {
81
84
  license?: License;
82
85
  lintStaged?: LintStaged;
83
86
  npmIgnore?: IgnoreFile;
87
+ readonly gitattributes: GitAttributesFile;
84
88
  package?: NodePackage;
85
89
  pnpmWorkspace?: PnpmWorkspace;
86
90
  prettier?: Prettier;
87
91
  projenrc?: ProjenrcFile;
92
+ readme?: ReadmeFile;
88
93
  renovate?: Renovate;
89
94
  swcrc?: SWCConfig;
90
95
  typeScriptConfig?: TypeScriptConfig;
91
96
  constructor(options: ProjectOptions);
97
+ /**
98
+ * Annotate generated files on root projects.
99
+ */
100
+ annotateGenerated(glob: string): void;
92
101
  preSynthesize(): void;
93
102
  get allSubprojects(): BaseProject[];
94
103
  get allSubprojectsKind(): Project[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,KAAK,cAAc,IAAI,kBAAkB,EACzC,UAAU,EACV,iBAAiB,EAElB,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,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EACL,aAAa,EACb,oBAAoB,EACrB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3E,cAAc,sCAAsC,CAAA;AAEpD,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAItE,KAAK,CAAC,EAAE,YAAY,CAAA;IAKpB,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAK5B,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAE9B;;OAEG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAK9B,eAAe,CAAC,EAAE,sBAAsB,CAAA;IAExC;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,kBAAkB,CAAA;IAKtB,aAAa,CAAC,EAAE,oBAAoB,CAAA;IAEpC;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAK7B,QAAQ,CAAC,EAAE,eAAe,CAAA;IAK1B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IAExB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAK1C,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,OAAQ,SAAQ,WAAW;;IACtC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;gBAEvB,OAAO,EAAE,cAAc;IA2C1B,aAAa,IAAI,IAAI;IAM9B,IAAI,cAAc,IAAI,WAAW,EAAE,CAKlC;IAED,IAAI,kBAAkB,IAAI,OAAO,EAAE,CAIlC;IAED;;OAEG;IACH,aAAa,CACX,cAAc,EAAE,cAAc,EAC9B,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAC5C,OAAO;IAaV;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CA+alD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,aAAa,EACb,oBAAoB,EACrB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,KAAK,cAAc,IAAI,kBAAkB,EACzC,UAAU,EACV,iBAAiB,EAElB,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE9E,cAAc,sCAAsC,CAAA;AAEpD,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAItE,KAAK,CAAC,EAAE,YAAY,CAAA;IAKpB,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAK5B,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAE9B;;OAEG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAK9B,eAAe,CAAC,EAAE,sBAAsB,CAAA;IAExC;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,kBAAkB,CAAA;IAKtB,aAAa,CAAC,EAAE,oBAAoB,CAAA;IAEpC;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAK7B,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAK1B,QAAQ,CAAC,EAAE,eAAe,CAAA;IAK1B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IAExB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAK1C,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,OAAQ,SAAQ,WAAW;;IACtC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAkB,aAAa,EAAE,iBAAiB,CAAA;IAClD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;gBAEvB,OAAO,EAAE,cAAc;IAgDnC;;OAEG;IACM,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAerC,aAAa,IAAI,IAAI;IAM9B,IAAI,cAAc,IAAI,WAAW,EAAE,CAKlC;IAED,IAAI,kBAAkB,IAAI,OAAO,EAAE,CAIlC;IAED;;OAEG;IACH,aAAa,CACX,cAAc,EAAE,cAAc,EAC9B,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAC5C,OAAO;IAaV;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CAqclD"}
package/dist/index.js CHANGED
@@ -3,26 +3,28 @@ 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_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_configureSWC, _Project_configureTypeScript, _Project_populateTypeScriptProjectReferencesFromDependencies;
6
+ var _Project_instances, _Project_configureBabel, _Project_configureBeachball, _Project_configureCodeowners, _Project_configureEditorConfig, _Project_configureGitAttributes, _Project_configureESLint, _Project_configureHusky, _Project_configureJestConfig, _Project_configureLicense, _Project_configureLintStaged, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configurePnpmWorkspace, _Project_configurePrettier, _Project_configureProjenrc, _Project_configureReadme, _Project_configureRenovate, _Project_configureSWC, _Project_configureTypeScript, _Project_populateTypeScriptProjectReferencesFromDependencies;
7
7
  import * as path from 'node:path';
8
- import { Project as BaseProject, IgnoreFile, javascript, } from 'projen';
9
- import * as R from 'ramda';
10
- import { LintSynthesized, } from '@langri-sha/projen-lint-synthesized';
11
- import { EditorConfig, } from '@langri-sha/projen-editorconfig';
8
+ import { Babel } from '@langri-sha/projen-babel';
9
+ import { Beachball } from '@langri-sha/projen-beachball';
12
10
  import { Codeowners, } from '@langri-sha/projen-codeowners';
13
- import { Renovate } from '@langri-sha/projen-renovate';
11
+ import { EditorConfig, } from '@langri-sha/projen-editorconfig';
12
+ import { ESLint } from '@langri-sha/projen-eslint';
14
13
  import { Husky } from '@langri-sha/projen-husky';
15
- import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
16
- import { Beachball } from '@langri-sha/projen-beachball';
17
- import { License } from '@langri-sha/projen-license';
18
- import { NodePackage, ProjenrcFile } from './lib/index.js';
19
14
  import { JestConfig } from '@langri-sha/projen-jest-config';
20
- import { Prettier } from '@langri-sha/projen-prettier';
21
- import { ESLint } from '@langri-sha/projen-eslint';
15
+ import { License } from '@langri-sha/projen-license';
22
16
  import { LintStaged } from '@langri-sha/projen-lint-staged';
23
- import { Babel } from '@langri-sha/projen-babel';
17
+ import { LintSynthesized, } from '@langri-sha/projen-lint-synthesized';
24
18
  import { PnpmWorkspace, } from '@langri-sha/projen-pnpm-workspace';
19
+ import { Prettier } from '@langri-sha/projen-prettier';
20
+ import { ReadmeFile } from '@langri-sha/projen-readme';
21
+ import { Renovate } from '@langri-sha/projen-renovate';
25
22
  import { SWCConfig } from '@langri-sha/projen-swcrc';
23
+ import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
24
+ import { Project as BaseProject, IgnoreFile, javascript, } from 'projen';
25
+ import * as R from 'ramda';
26
+ import { GitAttributesFile } from './lib/gitattributes.js';
27
+ import { NodePackage, ProjenrcFile } from './lib/index.js';
26
28
  export * from '@langri-sha/projen-typescript-config';
27
29
  export class Project extends BaseProject {
28
30
  constructor(options) {
@@ -31,6 +33,8 @@ export class Project extends BaseProject {
31
33
  gitIgnoreOptions: getGitIgnoreOptions(options),
32
34
  });
33
35
  _Project_instances.add(this);
36
+ this.tryRemoveFile('.gitattributes');
37
+ this.gitattributes = new GitAttributesFile(this);
34
38
  // Clean up tasks not required at top-level.
35
39
  this.tasks.removeTask('build');
36
40
  this.tasks.removeTask('compile');
@@ -42,7 +46,7 @@ export class Project extends BaseProject {
42
46
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePackage).call(this, options);
43
47
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureTypeScript).call(this, options);
44
48
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureSWC).call(this, options);
45
- __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureProjenrc).call(this);
49
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureProjenrc).call(this, options);
46
50
  if (this.parent) {
47
51
  this.tasks.tryFind('default')?.reset();
48
52
  this.tasks.tryFind('install')?.reset();
@@ -54,6 +58,7 @@ export class Project extends BaseProject {
54
58
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureBeachball).call(this, options);
55
59
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureCodeowners).call(this, options);
56
60
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureEditorConfig).call(this, options);
61
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureGitAttributes).call(this);
57
62
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureHusky).call(this, options);
58
63
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureJestConfig).call(this, options);
59
64
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLicense).call(this, options);
@@ -61,8 +66,21 @@ export class Project extends BaseProject {
61
66
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureLintSynthesized).call(this, options);
62
67
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureNpmIgnore).call(this, options);
63
68
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePnpmWorkspace).call(this, options);
69
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureReadme).call(this, options);
64
70
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRenovate).call(this, options);
65
71
  }
72
+ /**
73
+ * Annotate generated files on root projects.
74
+ */
75
+ annotateGenerated(glob) {
76
+ if (this.parent) {
77
+ if (path.isAbsolute(glob)) {
78
+ this.root.gitattributes.addAttributes(`/${path.relative(this.root.outdir, path.join(this.outdir, glob))}`, 'linguist-generated');
79
+ }
80
+ return;
81
+ }
82
+ this.gitattributes.addAttributes(glob, 'linguist-generated');
83
+ }
66
84
  preSynthesize() {
67
85
  super.preSynthesize();
68
86
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_populateTypeScriptProjectReferencesFromDependencies).call(this);
@@ -96,36 +114,40 @@ export class Project extends BaseProject {
96
114
  return this.allSubprojectsKind.find((project) => project.name === name);
97
115
  }
98
116
  }
99
- _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_configureBabel({ babel }) {
117
+ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_configureBabel({ babel, package: pkg }) {
100
118
  if (!babel) {
101
119
  return;
102
120
  }
103
121
  const defaults = {
122
+ filename: pkg?.type === 'module' ? 'babel.config.js' : 'babel.config.mjs',
104
123
  options: {
105
124
  presets: ['@langri-sha/babel-preset'],
106
125
  },
107
126
  };
108
127
  this.babel = new Babel(this, deepMerge(defaults, babel));
109
128
  this.typeScriptConfig?.addFile(this.babel.path);
110
- }, _Project_configureBeachball = function _Project_configureBeachball({ beachball }) {
129
+ }, _Project_configureBeachball = function _Project_configureBeachball({ beachball, package: pkg }) {
111
130
  if (!beachball || this.parent) {
112
131
  return;
113
132
  }
114
- const options = deepMerge(beachball, {
115
- branch: 'origin/main',
116
- gitTags: false,
117
- ignorePatterns: [
118
- '*.test.*',
119
- '.*/**',
120
- '__snapshots__/',
121
- 'dist/',
122
- 'node_modules/',
123
- ],
124
- });
125
- this.beachball = new Beachball(this, options);
133
+ const defaults = {
134
+ filename: pkg?.type === 'module' ? 'beachball.config.cjs' : 'beachball.config.js',
135
+ config: {
136
+ branch: 'origin/main',
137
+ gitTags: false,
138
+ ignorePatterns: [
139
+ '*.test.*',
140
+ '.*/**',
141
+ '__snapshots__/',
142
+ 'dist/',
143
+ 'node_modules/',
144
+ ],
145
+ },
146
+ };
147
+ this.beachball = new Beachball(this, deepMerge(defaults, beachball));
126
148
  this.prettier?.ignore.addPatterns('CHANGELOG.md');
127
149
  this.package?.addDevDeps('beachball@2.43.1');
128
- this.typeScriptConfig?.addFile('beachball.config.js');
150
+ this.typeScriptConfig?.addFile(this.beachball.path);
129
151
  }, _Project_configureCodeowners = function _Project_configureCodeowners({ codeowners: codeownersOptions }) {
130
152
  if (!codeownersOptions) {
131
153
  return;
@@ -150,13 +172,17 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
150
172
  };
151
173
  this.editorConfig = new EditorConfig(this, deepMerge(editorConfigOptions ?? {}, defaults));
152
174
  this.prettier?.ignore.addPatterns('!.editorconfig');
175
+ }, _Project_configureGitAttributes = function _Project_configureGitAttributes() {
176
+ this.annotateGenerated('/.gitignore');
177
+ this.annotateGenerated('/.projen/**');
178
+ this.annotateGenerated(`/${this.gitattributes.path}`);
153
179
  }, _Project_configureESLint = function _Project_configureESLint({ eslint: eslintOptions }) {
154
180
  if (!eslintOptions) {
155
181
  return;
156
182
  }
157
183
  const defaults = {
158
184
  filename: 'eslint.config.mjs',
159
- ignorePatterns: ['.*', 'dist/'],
185
+ ignorePatterns: ['**/.*', '**/dist/'],
160
186
  extends: '@langri-sha/eslint-config',
161
187
  };
162
188
  this.eslint = new ESLint(this, deepMerge(defaults, eslintOptions));
@@ -169,7 +195,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
169
195
  return;
170
196
  }
171
197
  this.husky = new Husky(this, huskyOptions);
172
- this.package?.addDevDeps('husky@9.0.11');
198
+ this.package?.addDevDeps('husky@9.1.3');
173
199
  this.package?.setScript('prepare', 'husky');
174
200
  this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm');
175
201
  }, _Project_configureJestConfig = function _Project_configureJestConfig({ jestConfig: jestConfigOptions }) {
@@ -196,15 +222,17 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
196
222
  .join(' '),
197
223
  year: pkg.copyrightYear ?? new Date().getFullYear().toString(),
198
224
  });
199
- }, _Project_configureLintStaged = function _Project_configureLintStaged({ lintStaged: lintStagedOptions }) {
200
- if (!lintStagedOptions) {
225
+ }, _Project_configureLintStaged = function _Project_configureLintStaged({ lintStaged, package: pkg }) {
226
+ if (!lintStaged) {
201
227
  return;
202
228
  }
203
229
  const defaults = {
204
- filename: 'lint-staged.config.mjs',
230
+ filename: pkg?.type === 'module'
231
+ ? 'lint-staged.config.js'
232
+ : 'lint-staged.config.mjs',
205
233
  extends: '@langri-sha/lint-staged',
206
234
  };
207
- this.lintStaged = new LintStaged(this, deepMerge(defaults, lintStagedOptions));
235
+ this.lintStaged = new LintStaged(this, deepMerge(defaults, lintStaged));
208
236
  this.typeScriptConfig?.addFile(this.lintStaged.path);
209
237
  }, _Project_configureLintSynthesized = function _Project_configureLintSynthesized({ lintSynthesized }) {
210
238
  if (!lintSynthesized) {
@@ -239,7 +267,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
239
267
  this.package = new NodePackage(this, deepMerge(defaults, pkg));
240
268
  if (!this.parent) {
241
269
  this.package.addDevDeps('@langri-sha/projen-project@*');
242
- this.package.addDevDeps('projen@0.82.4');
270
+ this.package.addDevDeps('projen@0.84.8');
243
271
  }
244
272
  this.package.removeScript('start');
245
273
  this.package.removeScript('test');
@@ -251,16 +279,16 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
251
279
  return;
252
280
  }
253
281
  this.pnpmWorkspace = new PnpmWorkspace(this, pnpmWorkspace);
254
- }, _Project_configurePrettier = function _Project_configurePrettier({ prettier: prettierOptions }) {
255
- if (!prettierOptions || this.parent) {
282
+ }, _Project_configurePrettier = function _Project_configurePrettier({ prettier, package: pkg }) {
283
+ if (!prettier || this.parent) {
256
284
  return;
257
285
  }
258
286
  const defaults = {
259
- filename: 'prettier.config.mjs',
287
+ filename: pkg?.type === 'module' ? 'prettier.config.js' : 'prettier.config.mjs',
260
288
  extends: '@langri-sha/prettier',
261
289
  ignorePatterns: ['.*', 'dist/'],
262
290
  };
263
- this.prettier = new Prettier(this, deepMerge(defaults, prettierOptions));
291
+ this.prettier = new Prettier(this, deepMerge(defaults, prettier));
264
292
  if (this.projenrc?.filePath) {
265
293
  this.prettier.ignore.include(this.projenrc.filePath);
266
294
  }
@@ -268,11 +296,18 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
268
296
  this.prettier.ignore.addPatterns('pnpm-lock.yaml');
269
297
  }
270
298
  this.typeScriptConfig?.addFile(this.prettier.path);
271
- }, _Project_configureProjenrc = function _Project_configureProjenrc() {
272
- this.projenrc = new ProjenrcFile(this, {});
299
+ }, _Project_configureProjenrc = function _Project_configureProjenrc({ package: pkg }) {
300
+ this.projenrc = new ProjenrcFile(this, {
301
+ filename: pkg?.type === 'module' ? '.projenrc.ts' : '.projenrc.mts',
302
+ });
273
303
  if (!this.parent) {
274
304
  this.typeScriptConfig?.addFile(this.projenrc.filePath);
275
305
  }
306
+ }, _Project_configureReadme = function _Project_configureReadme({ readme }) {
307
+ if (!readme) {
308
+ return;
309
+ }
310
+ this.readme = new ReadmeFile(this, readme);
276
311
  }, _Project_configureRenovate = function _Project_configureRenovate({ renovate: renovateOptions }) {
277
312
  if (!renovateOptions || this.parent) {
278
313
  return;
@@ -337,8 +372,8 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
337
372
  return;
338
373
  }
339
374
  if (!this.parent) {
340
- this.package?.addDevDeps('@swc/core@1.6.13');
341
- this.package?.addDevDeps('@swc-node/register@1.10.2');
375
+ this.package?.addDevDeps('@swc/core@1.7.2');
376
+ this.package?.addDevDeps('@swc-node/register@1.10.9');
342
377
  }
343
378
  const defaults = {
344
379
  $schema: 'https://json.schemastore.org/swcrc',
@@ -375,7 +410,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
375
410
  };
376
411
  this.typeScriptConfig = new TypeScriptConfig(this, deepMerge(defaults, typeScriptConfig));
377
412
  if (!this.parent) {
378
- this.package?.addDevDeps('typescript@5.5.3');
413
+ this.package?.addDevDeps('typescript@5.5.4');
379
414
  if (!swcrc) {
380
415
  this.package?.addDevDeps('ts-node@10.9.2');
381
416
  }
package/dist/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":";;;;;;AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,KAAK,EAAgB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EACL,UAAU,GAEX,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,YAAY,GAEb,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,MAAM,EAAiB,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAqB,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAqB,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAqB,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EACL,eAAe,GAEhB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,aAAa,GAEd,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAmB,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,UAAU,EAA0B,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAwB,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAyB,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EACL,gBAAgB,GAEjB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,OAAO,IAAI,WAAW,EAEtB,UAAU,EAEV,UAAU,GACX,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,CAAC,MAAM,OAAO,CAAA;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE9E,cAAc,sCAAsC,CAAA;AAsGpD,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAqBtC,YAAY,OAAuB;QACjC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC;SAC/C,CAAC,CAAA;;QAEF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAEhD,4CAA4C;QAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAE9B,uBAAA,IAAI,qDAAkB,MAAtB,IAAI,EAAmB,OAAO,CAAC,CAAA;QAC/B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,iDAAc,MAAlB,IAAI,EAAe,OAAO,CAAC,CAAA;QAC3B,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;QAC3C,CAAC;QAED,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,OAAO,CAAC,CAAA;QAC9B,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAA;QAEhC,uBAAA,IAAI,mDAAgB,MAApB,IAAI,EAAiB,OAAO,CAAC,CAAA;QAC7B,uBAAA,IAAI,uDAAoB,MAAxB,IAAI,EAAqB,OAAO,CAAC,CAAA;QACjC,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,0DAAuB,MAA3B,IAAI,EAAwB,OAAO,CAAC,CAAA;QACpC,uBAAA,IAAI,2DAAwB,MAA5B,IAAI,CAA0B,CAAA;QAC9B,uBAAA,IAAI,mDAAgB,MAApB,IAAI,EAAiB,OAAO,CAAC,CAAA;QAC7B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,qDAAkB,MAAtB,IAAI,EAAmB,OAAO,CAAC,CAAA;QAC/B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,6DAA0B,MAA9B,IAAI,EAA2B,OAAO,CAAC,CAAA;QACvC,uBAAA,IAAI,uDAAoB,MAAxB,IAAI,EAAqB,OAAO,CAAC,CAAA;QACjC,uBAAA,IAAI,2DAAwB,MAA5B,IAAI,EAAyB,OAAO,CAAC,CAAA;QACrC,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,OAAO,CAAC,CAAA;QAC9B,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAA;IAClC,CAAC;IAED;;OAEG;IACM,iBAAiB,CAAC,IAAY;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,EACnE,oBAAoB,CACrB,CAAA;YACH,CAAC;YAED,OAAM;QACR,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;IAC9D,CAAC;IAEQ,aAAa;QACpB,KAAK,CAAC,aAAa,EAAE,CAAA;QAErB,uBAAA,IAAI,wFAAqD,MAAzD,IAAI,CAAuD,CAAA;IAC7D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;aAClB,OAAO,CAAC,CAAC,CAAC;aACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;aACpC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,OAAO,EAAsB,EAAE,CAAC,OAAO,YAAY,OAAO,CAC5D,CAAA;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CACX,cAA8B,EAC9B,GAAG,OAA0C;QAE7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,MAAM,EAAE,IAAI;YACZ,GAAG,cAAc;SAClB,CAAC,CAAA;QAEF,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACzE,CAAC;CAmcF;+FAjciB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAkB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAiB;QAC7B,QAAQ,EAAE,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB;QACzE,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,0BAA0B,CAAC;SACtC;KACF,CAAA;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAExD,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC,qEAEmB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAkB;IAC7D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAqB;QACjC,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB;QACzE,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,KAAK;YACd,cAAc,EAAE;gBACd,UAAU;gBACV,OAAO;gBACP,gBAAgB;gBAChB,OAAO;gBACP,eAAe;aAChB;SACF;KACF,CAAA;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEpE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAC5C,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,uEAEoB,EAAE,UAAU,EAAE,iBAAiB,EAAkB;IACpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AAC3D,CAAC,2EAEsB,EACrB,YAAY,EAAE,mBAAmB,GAClB;IACf,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAwB;QACpC,GAAG,EAAE;YACH,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,OAAO;YACrB,WAAW,EAAE,CAAC;YACd,oBAAoB,EAAE,IAAI;YAC1B,wBAAwB,EAAE,IAAI;SAC/B;QACD,UAAU,EAAE;YACV,YAAY,EAAE,KAAK;SACpB;KACF,CAAA;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAClC,IAAI,EACJ,SAAS,CAAC,mBAAmB,IAAI,EAAE,EAAE,QAAQ,CAAC,CAC/C,CAAA;IAED,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AACrD,CAAC;IAGC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACrC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC,+DAEgB,EAAE,MAAM,EAAE,aAAa,EAAkB;IACxD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,QAAQ,EAAE,mBAAmB;QAC7B,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QACrC,OAAO,EAAE,2BAA2B;KACrC,CAAA;IAED,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;IAElE,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAClD,CAAC,6DAEe,EAAE,KAAK,EAAE,YAAY,EAAkB;IACrD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAM;IACR,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAE1C,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IACvC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACrE,CAAC,uEAEoB,EAAE,UAAU,EAAE,iBAAiB,EAAkB;IACpE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,OAAM;IACR,CAAC;IAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAEzD,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,iEAEiB,EAAE,OAAO,EAAE,GAAG,EAAkB;IAChD,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAClB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;QAC/B,IAAI,EAAE,GAAG,CAAC,OAAO;QACjB,eAAe,EAAE;YACf,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS;YACpD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS;SACjD;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KAC/D,CAAC,CAAA;AACJ,CAAC,uEAEoB,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAkB;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAsB;QAClC,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ;YACpB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,wBAAwB;QAC9B,OAAO,EAAE,yBAAyB;KACnC,CAAA;IAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAEvE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC,iFAEyB,EAAE,eAAe,EAAkB;IAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAA2B;QACvC,cAAc,EAAE,wBAAwB;QACxC,mCAAmC,EAAE,mBAAmB;QACxD,GAAG,EAAE,wCAAwC;KAC9C,CAAA;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;AACjE,CAAC,qEAEmB,EAClB,gBAAgB,EAChB,UAAU,EACV,SAAS,GACM;IACf,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAsB;QAClC,cAAc,EAAE;YACd,IAAI;YACJ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;KACF,CAAA;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAC7B,IAAI,EACJ,YAAY,EACZ,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC/B,CAAA;AACH,CAAC,iEAEiB,EAAE,OAAO,EAAE,GAAG,EAAkB;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAuB;QACnC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE,UAAU,CAAC,kBAAkB,CAAC,IAAI;KACnD,CAAA;IAED,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAE9D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAEjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;AACH,CAAC,6EAEuB,EAAE,aAAa,EAAkB;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;AAC7D,CAAC,mEAEkB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAkB;IAC3D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB;QACvE,OAAO,EAAE,sBAAsB;QAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;KAChC,CAAA;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjE,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,CAAA;AACrD,CAAC,mEAEkB,EAAE,OAAO,EAAE,GAAG,EAAkB;IACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE;QACrC,QAAQ,EAAE,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;KACpE,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACxD,CAAC;AACH,CAAC,+DAEgB,EAAE,MAAM,EAAkB;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC,mEAEkB,EAAE,QAAQ,EAAE,eAAe,EAAkB;IAC9D,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,uBAAuB,EAAE,IAAI;QAC7B,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;SACd;QACD,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,MAAM;gBAC1B,eAAe,EAAE,MAAM;gBACvB,kBAAkB,EAAE,MAAM;gBAC1B,oBAAoB,EAAE,qBAAqB;gBAC3C,SAAS,EAAE,CAAC,uCAAuC,CAAC;gBACpD,YAAY,EAAE,CAAC,6CAA6C,CAAC;aAC9D;YACD;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,CAAC,uCAAuC,CAAC;gBACpD,oBAAoB,EAAE,WAAW;gBACjC,YAAY,EAAE;oBACZ,0DAA0D;oBAC1D,mDAAmD;iBACpD;gBACD,eAAe,EACb,uIAAuI;aAC1I;YACD;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,CAAC,uCAAuC,CAAC;gBACpD,oBAAoB,EAAE,WAAW;gBACjC,YAAY,EAAE;oBACZ,qDAAqD;oBACrD,mDAAmD;iBACpD;gBACD,eAAe,EACb,iIAAiI;aACpI;YACD;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,CAAC,uCAAuC,CAAC;gBACpD,YAAY,EAAE,CAAC,6BAA6B,CAAC;gBAC7C,eAAe,EAAE,MAAM;gBACvB,eAAe,EAAE,cAAc;aAChC;SACF;KACF,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QACvB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,wEAAwE;KAC/E,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;AAC1E,CAAC,yDAEa,EAAE,KAAK,EAAE,gBAAgB,EAAkB;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,QAAQ,GAAqB;QACjC,OAAO,EAAE,oCAAoC;QAC7C,GAAG,CAAC,gBAAgB;YAClB,CAAC,CAAC;gBACE,GAAG,EAAE;oBACH,MAAM,EAAE;wBACN,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;aAChB;SACF;KACF,CAAA;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;AAC9D,CAAC,uEAEoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAkB;IACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAA4B,MAAM;QAC9C,CAAC,CAAC;YACE,MAAM,EAAE;gBACN,OAAO,EAAE,8BAA8B;aACxC;SACF;QACH,CAAC,CAAC;YACE,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACF,CAAA;IAEL,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,EACJ,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CACtC,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;QAE5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAA;IACpD,CAAC;AACH,CAAC;IAGC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3D,OAAM;IACR,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAChD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,CACzD,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAE1D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE7D,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QAChE,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;YAEnE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAQ;YACV,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAE7D,OAAO,CAAC,gBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAGH,MAAM,mBAAmB,GAAG,CAAC,EAC3B,gBAAgB,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EACN,gBAAgB,EAAE,uBAAuB,EACzC,aAAa,GACE,EAAsC,EAAE,CACvD,MAAM;IACJ,CAAC,CAAC,gBAAgB;IAClB,CAAC,CAAC;QACE,cAAc,EAAE;YACd,GAAG;;;;;;;;;;;MAWP,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;;;MAG3C,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;MAG9C,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;KAI/B;iBACQ,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,gBAAgB,EAAE,cAAc,IAAI,EAAE,CAAC;SAC5C;KACF,CAAA;AAEP,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAC/B,CAAC,CAAC,IAAI,CAAC;IACL,yDAAyD;IACzD,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,0BAA0B;IAC1B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;CAChB,CAAC,CACH,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { GitAttributesFile as BaseGitAttributesFile, type IResolver } from 'projen';
2
+ export declare class GitAttributesFile extends BaseGitAttributesFile {
3
+ protected synthesizeContent(resolver: IResolver): string | undefined;
4
+ }
5
+ //# sourceMappingURL=gitattributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitattributes.d.ts","sourceRoot":"","sources":["../../src/lib/gitattributes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,KAAK,SAAS,EACf,MAAM,QAAQ,CAAA;AAEf,qBAAa,iBAAkB,SAAQ,qBAAqB;cACvC,iBAAiB,CAClC,QAAQ,EAAE,SAAS,GAClB,MAAM,GAAG,SAAS;CAYtB"}
@@ -0,0 +1,13 @@
1
+ import { GitAttributesFile as BaseGitAttributesFile, } from 'projen';
2
+ export class GitAttributesFile extends BaseGitAttributesFile {
3
+ synthesizeContent(resolver) {
4
+ const content = super.synthesizeContent(resolver)?.split('\n');
5
+ if (!content) {
6
+ return;
7
+ }
8
+ const [marker, blank, ...rest] = content;
9
+ rest.sort((a, b) => a.localeCompare(b));
10
+ return [marker, blank, ...rest, ''].join('\n');
11
+ }
12
+ }
13
+ //# sourceMappingURL=gitattributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitattributes.js","sourceRoot":"","sources":["../../src/lib/gitattributes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,qBAAqB,GAE3C,MAAM,QAAQ,CAAA;AAEf,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IACvC,iBAAiB,CAClC,QAAmB;QAEnB,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAA;QACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QAEvC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;CACF"}
@@ -3,10 +3,10 @@ import { Project, javascript } from 'projen';
3
3
  * Options for configuring Node.js packages.
4
4
  */
5
5
  export interface NodePackageOptions extends javascript.NodePackageOptions {
6
- peerDependenciesMeta?: Record<string, {
6
+ readonly peerDependenciesMeta?: Record<string, {
7
7
  optional?: boolean;
8
8
  }>;
9
- type?: 'commonjs' | 'module';
9
+ readonly type?: 'commonjs' | 'module';
10
10
  }
11
11
  /**
12
12
  * Custom Node.js package manager that preserves package.
@@ -1 +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"}
1
+ {"version":3,"file":"node-package.d.ts","sourceRoot":"","sources":["../../src/lib/node-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU,CAAC,kBAAkB;IACvE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CACtC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU,CAAC,WAAW;;gBACzC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB;IA2BjD,cAAc,IAAI,IAAI;CAOhC"}
@@ -1 +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
+ {"version":3,"file":"node-package.js","sourceRoot":"","sources":["../../src/lib/node-package.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,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;CAyBlD"}
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,QAAyB,EAAE,EAAE,eAAe;CAyBjD"}
@@ -1,6 +1,6 @@
1
1
  import { ProjenrcFile as BaseProjenrcFile, SampleFile } from 'projen';
2
2
  export class ProjenrcFile extends BaseProjenrcFile {
3
- constructor(project, { filename = '.projenrc.mts' }) {
3
+ constructor(project, { filename = '.projenrc.ts' }) {
4
4
  super(project);
5
5
  if (project.parent) {
6
6
  this.filePath = ProjenrcFile.of(project.parent)?.filePath ?? filename;
@@ -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,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"}
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,cAAc,EAAmB;QAE9C,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,12 +1,13 @@
1
1
  {
2
2
  "name": "@langri-sha/projen-project",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "bugs": {
5
5
  "url": "https://github.com/langri-sha/langri-sha.com/issues"
6
6
  },
7
7
  "repository": {
8
+ "type": "git",
8
9
  "url": "git+https://github.com/langri-sha/langri-sha.com.git",
9
- "path": "/packages/projen-project"
10
+ "directory": "packages/projen-project"
10
11
  },
11
12
  "license": "MIT",
12
13
  "author": {
@@ -21,26 +22,27 @@
21
22
  "prepublishOnly": "rm -rf dist; tsc --project tsconfig.build.json"
22
23
  },
23
24
  "dependencies": {
24
- "@langri-sha/projen-babel": "0.2.0",
25
- "@langri-sha/projen-beachball": "0.3.0",
26
- "@langri-sha/projen-codeowners": "0.4.0",
27
- "@langri-sha/projen-editorconfig": "0.5.0",
28
- "@langri-sha/projen-eslint": "0.2.0",
29
- "@langri-sha/projen-husky": "0.3.0",
30
- "@langri-sha/projen-jest-config": "0.3.0",
31
- "@langri-sha/projen-license": "0.3.0",
32
- "@langri-sha/projen-lint-staged": "0.2.0",
33
- "@langri-sha/projen-lint-synthesized": "0.4.0",
34
- "@langri-sha/projen-pnpm-workspace": "0.2.0",
35
- "@langri-sha/projen-prettier": "0.3.0",
36
- "@langri-sha/projen-renovate": "0.4.0",
37
- "@langri-sha/projen-swcrc": "0.1.0",
38
- "@langri-sha/projen-typescript-config": "0.4.0",
25
+ "@langri-sha/projen-babel": "0.4.0",
26
+ "@langri-sha/projen-beachball": "0.5.0",
27
+ "@langri-sha/projen-codeowners": "0.5.0",
28
+ "@langri-sha/projen-editorconfig": "0.6.0",
29
+ "@langri-sha/projen-eslint": "0.3.0",
30
+ "@langri-sha/projen-husky": "0.3.2",
31
+ "@langri-sha/projen-jest-config": "0.4.0",
32
+ "@langri-sha/projen-license": "0.3.2",
33
+ "@langri-sha/projen-lint-staged": "0.3.0",
34
+ "@langri-sha/projen-lint-synthesized": "0.5.0",
35
+ "@langri-sha/projen-pnpm-workspace": "0.3.0",
36
+ "@langri-sha/projen-prettier": "0.4.0",
37
+ "@langri-sha/projen-readme": "0.1.0",
38
+ "@langri-sha/projen-renovate": "0.4.2",
39
+ "@langri-sha/projen-swcrc": "0.1.2",
40
+ "@langri-sha/projen-typescript-config": "0.5.0",
39
41
  "ramda": "0.30.1"
40
42
  },
41
43
  "devDependencies": {
42
- "@langri-sha/tsconfig": "0.10.0",
43
- "@langri-sha/vitest": "0.1.0",
44
+ "@langri-sha/tsconfig": "0.10.1",
45
+ "@langri-sha/vitest": "0.1.1",
44
46
  "@types/ramda": "0.30.1"
45
47
  },
46
48
  "peerDependencies": {
@@ -54,7 +56,7 @@
54
56
  "jest": "^28.0.0 || ^29.0.0",
55
57
  "lint-staged": "^15.0.0",
56
58
  "prettier": "^3.0.0",
57
- "projen": "^0.82.0",
59
+ "projen": "^0.84.0",
58
60
  "ts-node": "^10.0.0",
59
61
  "typescript": "^5.5.0"
60
62
  },
@@ -96,6 +98,6 @@
96
98
  "publishConfig": {
97
99
  "access": "public"
98
100
  },
99
- "//": "~~ Generated by projen. To modify, edit .projenrc.mts and run \"npx projen\".",
101
+ "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\".",
100
102
  "types": "dist/index.d.ts"
101
103
  }
package/src/index.ts CHANGED
@@ -1,47 +1,47 @@
1
1
  import * as path from 'node:path'
2
2
 
3
+ import { Babel, BabelOptions } from '@langri-sha/projen-babel'
4
+ import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball'
3
5
  import {
4
- Project as BaseProject,
5
- type ProjectOptions as BaseProjectOptions,
6
- IgnoreFile,
7
- IgnoreFileOptions,
8
- javascript,
9
- } from 'projen'
10
-
11
- import * as R from 'ramda'
12
-
13
- import {
14
- LintSynthesized,
15
- type LintSynthesizedOptions,
16
- } from '@langri-sha/projen-lint-synthesized'
6
+ Codeowners,
7
+ type CodeownersOptions,
8
+ } from '@langri-sha/projen-codeowners'
17
9
  import {
18
10
  EditorConfig,
19
11
  type EditorConfigOptions,
20
12
  } from '@langri-sha/projen-editorconfig'
21
- import {
22
- Codeowners,
23
- type CodeownersOptions,
24
- } from '@langri-sha/projen-codeowners'
25
- import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate'
13
+ import { ESLint, ESLintOptions } from '@langri-sha/projen-eslint'
26
14
  import { Husky, type HuskyOptions } from '@langri-sha/projen-husky'
27
- import {
28
- TypeScriptConfig,
29
- type TypeScriptConfigOptions,
30
- } from '@langri-sha/projen-typescript-config'
31
- import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball'
32
- import { License } from '@langri-sha/projen-license'
33
-
34
- import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js'
35
15
  import { JestConfig, JestConfigOptions } from '@langri-sha/projen-jest-config'
36
- import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier'
37
- import { ESLint, ESLintOptions } from '@langri-sha/projen-eslint'
16
+ import { License } from '@langri-sha/projen-license'
38
17
  import { LintStaged, LintStagedOptions } from '@langri-sha/projen-lint-staged'
39
- import { Babel, BabelOptions } from '@langri-sha/projen-babel'
18
+ import {
19
+ LintSynthesized,
20
+ type LintSynthesizedOptions,
21
+ } from '@langri-sha/projen-lint-synthesized'
40
22
  import {
41
23
  PnpmWorkspace,
42
24
  PnpmWorkspaceOptions,
43
25
  } from '@langri-sha/projen-pnpm-workspace'
26
+ import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier'
27
+ import { ReadmeFile, type ReadmeFileOptions } from '@langri-sha/projen-readme'
28
+ import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate'
44
29
  import { SWCConfig, type SWCConfigOptions } from '@langri-sha/projen-swcrc'
30
+ import {
31
+ TypeScriptConfig,
32
+ type TypeScriptConfigOptions,
33
+ } from '@langri-sha/projen-typescript-config'
34
+ import {
35
+ Project as BaseProject,
36
+ type ProjectOptions as BaseProjectOptions,
37
+ IgnoreFile,
38
+ IgnoreFileOptions,
39
+ javascript,
40
+ } from 'projen'
41
+ import * as R from 'ramda'
42
+
43
+ import { GitAttributesFile } from './lib/gitattributes.js'
44
+ import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js'
45
45
 
46
46
  export * from '@langri-sha/projen-typescript-config'
47
47
 
@@ -119,6 +119,11 @@ export interface ProjectOptions
119
119
  */
120
120
  npmIgnore?: IgnoreFileOptions
121
121
 
122
+ /*
123
+ * Add a sample `README`.
124
+ */
125
+ readme?: ReadmeFileOptions
126
+
122
127
  /*
123
128
  * Pass in to configure Renovate.
124
129
  */
@@ -151,10 +156,12 @@ export class Project extends BaseProject {
151
156
  license?: License
152
157
  lintStaged?: LintStaged
153
158
  npmIgnore?: IgnoreFile
159
+ override readonly gitattributes: GitAttributesFile
154
160
  package?: NodePackage
155
161
  pnpmWorkspace?: PnpmWorkspace
156
162
  prettier?: Prettier
157
163
  projenrc?: ProjenrcFile
164
+ readme?: ReadmeFile
158
165
  renovate?: Renovate
159
166
  swcrc?: SWCConfig
160
167
  typeScriptConfig?: TypeScriptConfig
@@ -165,6 +172,9 @@ export class Project extends BaseProject {
165
172
  gitIgnoreOptions: getGitIgnoreOptions(options),
166
173
  })
167
174
 
175
+ this.tryRemoveFile('.gitattributes')
176
+ this.gitattributes = new GitAttributesFile(this)
177
+
168
178
  // Clean up tasks not required at top-level.
169
179
  this.tasks.removeTask('build')
170
180
  this.tasks.removeTask('compile')
@@ -177,7 +187,7 @@ export class Project extends BaseProject {
177
187
  this.#configurePackage(options)
178
188
  this.#configureTypeScript(options)
179
189
  this.#configureSWC(options)
180
- this.#configureProjenrc()
190
+ this.#configureProjenrc(options)
181
191
 
182
192
  if (this.parent) {
183
193
  this.tasks.tryFind('default')?.reset()
@@ -192,6 +202,7 @@ export class Project extends BaseProject {
192
202
  this.#configureBeachball(options)
193
203
  this.#configureCodeowners(options)
194
204
  this.#configureEditorConfig(options)
205
+ this.#configureGitAttributes()
195
206
  this.#configureHusky(options)
196
207
  this.#configureJestConfig(options)
197
208
  this.#configureLicense(options)
@@ -199,9 +210,28 @@ export class Project extends BaseProject {
199
210
  this.#configureLintSynthesized(options)
200
211
  this.#configureNpmIgnore(options)
201
212
  this.#configurePnpmWorkspace(options)
213
+ this.#configureReadme(options)
202
214
  this.#configureRenovate(options)
203
215
  }
204
216
 
217
+ /**
218
+ * Annotate generated files on root projects.
219
+ */
220
+ override annotateGenerated(glob: string): void {
221
+ if (this.parent) {
222
+ if (path.isAbsolute(glob)) {
223
+ this.root.gitattributes.addAttributes(
224
+ `/${path.relative(this.root.outdir, path.join(this.outdir, glob))}`,
225
+ 'linguist-generated',
226
+ )
227
+ }
228
+
229
+ return
230
+ }
231
+
232
+ this.gitattributes.addAttributes(glob, 'linguist-generated')
233
+ }
234
+
205
235
  override preSynthesize(): void {
206
236
  super.preSynthesize()
207
237
 
@@ -247,12 +277,13 @@ export class Project extends BaseProject {
247
277
  return this.allSubprojectsKind.find((project) => project.name === name)
248
278
  }
249
279
 
250
- #configureBabel({ babel }: ProjectOptions) {
280
+ #configureBabel({ babel, package: pkg }: ProjectOptions) {
251
281
  if (!babel) {
252
282
  return
253
283
  }
254
284
 
255
285
  const defaults: BabelOptions = {
286
+ filename: pkg?.type === 'module' ? 'babel.config.js' : 'babel.config.mjs',
256
287
  options: {
257
288
  presets: ['@langri-sha/babel-preset'],
258
289
  },
@@ -263,28 +294,32 @@ export class Project extends BaseProject {
263
294
  this.typeScriptConfig?.addFile(this.babel.path)
264
295
  }
265
296
 
266
- #configureBeachball({ beachball }: ProjectOptions) {
297
+ #configureBeachball({ beachball, package: pkg }: ProjectOptions) {
267
298
  if (!beachball || this.parent) {
268
299
  return
269
300
  }
270
301
 
271
- const options = deepMerge(beachball, {
272
- branch: 'origin/main',
273
- gitTags: false,
274
- ignorePatterns: [
275
- '*.test.*',
276
- '.*/**',
277
- '__snapshots__/',
278
- 'dist/',
279
- 'node_modules/',
280
- ],
281
- })
302
+ const defaults: BeachballOptions = {
303
+ filename:
304
+ pkg?.type === 'module' ? 'beachball.config.cjs' : 'beachball.config.js',
305
+ config: {
306
+ branch: 'origin/main',
307
+ gitTags: false,
308
+ ignorePatterns: [
309
+ '*.test.*',
310
+ '.*/**',
311
+ '__snapshots__/',
312
+ 'dist/',
313
+ 'node_modules/',
314
+ ],
315
+ },
316
+ }
282
317
 
283
- this.beachball = new Beachball(this, options)
318
+ this.beachball = new Beachball(this, deepMerge(defaults, beachball))
284
319
 
285
320
  this.prettier?.ignore.addPatterns('CHANGELOG.md')
286
321
  this.package?.addDevDeps('beachball@2.43.1')
287
- this.typeScriptConfig?.addFile('beachball.config.js')
322
+ this.typeScriptConfig?.addFile(this.beachball!.path)
288
323
  }
289
324
 
290
325
  #configureCodeowners({ codeowners: codeownersOptions }: ProjectOptions) {
@@ -324,6 +359,12 @@ export class Project extends BaseProject {
324
359
  this.prettier?.ignore.addPatterns('!.editorconfig')
325
360
  }
326
361
 
362
+ #configureGitAttributes() {
363
+ this.annotateGenerated('/.gitignore')
364
+ this.annotateGenerated('/.projen/**')
365
+ this.annotateGenerated(`/${this.gitattributes.path}`)
366
+ }
367
+
327
368
  #configureESLint({ eslint: eslintOptions }: ProjectOptions) {
328
369
  if (!eslintOptions) {
329
370
  return
@@ -331,7 +372,7 @@ export class Project extends BaseProject {
331
372
 
332
373
  const defaults: ESLintOptions = {
333
374
  filename: 'eslint.config.mjs',
334
- ignorePatterns: ['.*', 'dist/'],
375
+ ignorePatterns: ['**/.*', '**/dist/'],
335
376
  extends: '@langri-sha/eslint-config',
336
377
  }
337
378
 
@@ -351,7 +392,7 @@ export class Project extends BaseProject {
351
392
 
352
393
  this.husky = new Husky(this, huskyOptions)
353
394
 
354
- this.package?.addDevDeps('husky@9.0.11')
395
+ this.package?.addDevDeps('husky@9.1.3')
355
396
  this.package?.setScript('prepare', 'husky')
356
397
  this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm')
357
398
  }
@@ -390,20 +431,20 @@ export class Project extends BaseProject {
390
431
  })
391
432
  }
392
433
 
393
- #configureLintStaged({ lintStaged: lintStagedOptions }: ProjectOptions) {
394
- if (!lintStagedOptions) {
434
+ #configureLintStaged({ lintStaged, package: pkg }: ProjectOptions) {
435
+ if (!lintStaged) {
395
436
  return
396
437
  }
397
438
 
398
439
  const defaults: LintStagedOptions = {
399
- filename: 'lint-staged.config.mjs',
440
+ filename:
441
+ pkg?.type === 'module'
442
+ ? 'lint-staged.config.js'
443
+ : 'lint-staged.config.mjs',
400
444
  extends: '@langri-sha/lint-staged',
401
445
  }
402
446
 
403
- this.lintStaged = new LintStaged(
404
- this,
405
- deepMerge(defaults, lintStagedOptions),
406
- )
447
+ this.lintStaged = new LintStaged(this, deepMerge(defaults, lintStaged))
407
448
 
408
449
  this.typeScriptConfig?.addFile(this.lintStaged!.path)
409
450
  }
@@ -460,7 +501,7 @@ export class Project extends BaseProject {
460
501
 
461
502
  if (!this.parent) {
462
503
  this.package.addDevDeps('@langri-sha/projen-project@*')
463
- this.package.addDevDeps('projen@0.82.4')
504
+ this.package.addDevDeps('projen@0.84.8')
464
505
  }
465
506
 
466
507
  this.package.removeScript('start')
@@ -479,18 +520,19 @@ export class Project extends BaseProject {
479
520
  this.pnpmWorkspace = new PnpmWorkspace(this, pnpmWorkspace)
480
521
  }
481
522
 
482
- #configurePrettier({ prettier: prettierOptions }: ProjectOptions) {
483
- if (!prettierOptions || this.parent) {
523
+ #configurePrettier({ prettier, package: pkg }: ProjectOptions) {
524
+ if (!prettier || this.parent) {
484
525
  return
485
526
  }
486
527
 
487
528
  const defaults: PrettierOptions = {
488
- filename: 'prettier.config.mjs',
529
+ filename:
530
+ pkg?.type === 'module' ? 'prettier.config.js' : 'prettier.config.mjs',
489
531
  extends: '@langri-sha/prettier',
490
532
  ignorePatterns: ['.*', 'dist/'],
491
533
  }
492
534
 
493
- this.prettier = new Prettier(this, deepMerge(defaults, prettierOptions))
535
+ this.prettier = new Prettier(this, deepMerge(defaults, prettier))
494
536
 
495
537
  if (this.projenrc?.filePath) {
496
538
  this.prettier.ignore.include(this.projenrc.filePath)
@@ -503,14 +545,24 @@ export class Project extends BaseProject {
503
545
  this.typeScriptConfig?.addFile(this.prettier!.path)
504
546
  }
505
547
 
506
- #configureProjenrc() {
507
- this.projenrc = new ProjenrcFile(this, {})
548
+ #configureProjenrc({ package: pkg }: ProjectOptions) {
549
+ this.projenrc = new ProjenrcFile(this, {
550
+ filename: pkg?.type === 'module' ? '.projenrc.ts' : '.projenrc.mts',
551
+ })
508
552
 
509
553
  if (!this.parent) {
510
554
  this.typeScriptConfig?.addFile(this.projenrc.filePath)
511
555
  }
512
556
  }
513
557
 
558
+ #configureReadme({ readme }: ProjectOptions) {
559
+ if (!readme) {
560
+ return
561
+ }
562
+
563
+ this.readme = new ReadmeFile(this, readme)
564
+ }
565
+
514
566
  #configureRenovate({ renovate: renovateOptions }: ProjectOptions) {
515
567
  if (!renovateOptions || this.parent) {
516
568
  return
@@ -583,8 +635,8 @@ export class Project extends BaseProject {
583
635
  }
584
636
 
585
637
  if (!this.parent) {
586
- this.package?.addDevDeps('@swc/core@1.6.13')
587
- this.package?.addDevDeps('@swc-node/register@1.10.2')
638
+ this.package?.addDevDeps('@swc/core@1.7.2')
639
+ this.package?.addDevDeps('@swc-node/register@1.10.9')
588
640
  }
589
641
 
590
642
  const defaults: SWCConfigOptions = {
@@ -631,7 +683,7 @@ export class Project extends BaseProject {
631
683
  )
632
684
 
633
685
  if (!this.parent) {
634
- this.package?.addDevDeps('typescript@5.5.3')
686
+ this.package?.addDevDeps('typescript@5.5.4')
635
687
 
636
688
  if (!swcrc) {
637
689
  this.package?.addDevDeps('ts-node@10.9.2')
@@ -0,0 +1,21 @@
1
+ import {
2
+ GitAttributesFile as BaseGitAttributesFile,
3
+ type IResolver,
4
+ } from 'projen'
5
+
6
+ export class GitAttributesFile extends BaseGitAttributesFile {
7
+ protected override synthesizeContent(
8
+ resolver: IResolver,
9
+ ): string | undefined {
10
+ const content = super.synthesizeContent(resolver)?.split('\n')
11
+
12
+ if (!content) {
13
+ return
14
+ }
15
+
16
+ const [marker, blank, ...rest] = content
17
+ rest.sort((a, b) => a.localeCompare(b))
18
+
19
+ return [marker, blank, ...rest, ''].join('\n')
20
+ }
21
+ }
@@ -1,12 +1,13 @@
1
1
  import * as fs from 'node:fs'
2
+
2
3
  import { Project, javascript } from 'projen'
3
4
 
4
5
  /**
5
6
  * Options for configuring Node.js packages.
6
7
  */
7
8
  export interface NodePackageOptions extends javascript.NodePackageOptions {
8
- peerDependenciesMeta?: Record<string, { optional?: boolean }>
9
- type?: 'commonjs' | 'module'
9
+ readonly peerDependenciesMeta?: Record<string, { optional?: boolean }>
10
+ readonly type?: 'commonjs' | 'module'
10
11
  }
11
12
 
12
13
  /**
@@ -13,7 +13,7 @@ export class ProjenrcFile extends BaseProjenrcFile {
13
13
 
14
14
  constructor(
15
15
  project: Project,
16
- { filename = '.projenrc.mts' }: ProjenrcOptions,
16
+ { filename = '.projenrc.ts' }: ProjenrcOptions,
17
17
  ) {
18
18
  super(project)
19
19
 
File without changes