aronrepo 1.6.0 → 2.0.1

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/README.md CHANGED
@@ -1,569 +1,61 @@
1
- <br>
2
- <div align="center">
1
+ ![Aronrepo cover](https://raw.githubusercontent.com/1aron/aronrepo/main/docs/assets/aronrepo-cover.png)
3
2
 
4
- <p align="center">
5
- <a href="https://repo.master.co">
6
- <picture>
7
- <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/33840671/204220749-4536401e-20c4-49b7-bf37-b07fce15f1c2.svg">
8
- <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/33840671/204220755-744f6b4f-a90e-442f-bd30-53ce7995a8f8.svg">
9
- <img alt="aronrepo" src="https://user-images.githubusercontent.com/33840671/204220755-744f6b4f-a90e-442f-bd30-53ce7995a8f8.svg" width="100%">
10
- </picture>
11
- </a>
12
- </p>
13
- <p align="center">A monorepo ecosystem integrating first-class packages and build systems</p>
3
+ # aronrepo
14
4
 
15
- <p align="center">
16
- <a aria-label="overview" href="https://github.com/1aron/aronrepo">
17
- <picture>
18
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/%E2%AC%85%20back-%20?color=212022&style=for-the-badge">
19
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/badge/%E2%AC%85%20back-%20?color=f6f7f8&style=for-the-badge">
20
- <img alt="NPM Version" src="https://img.shields.io/badge/%E2%AC%85%20back-%20?color=f6f7f8&style=for-the-badge">
21
- </picture>
22
- </a>
23
- <a aria-label="GitHub release (latest by date including pre-releases)" href="https://github.com/1aron/aronrepo/releases">
24
- <picture>
25
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/v/release/1aron/aronrepo?include_prereleases&color=212022&label=&style=for-the-badge&logo=github&logoColor=fff">
26
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/v/release/1aron/aronrepo?include_prereleases&color=f6f7f8&label=&style=for-the-badge&logo=github&logoColor=%23000">
27
- <img alt="NPM Version" src="https://img.shields.io/github/v/release/1aron/aronrepo?include_prereleases&color=f6f7f8&label=&style=for-the-badge&logo=github">
28
- </picture>
29
- </a>
30
- <a aria-label="NPM Package" href="https://www.npmjs.com/package/aronrepo">
31
- <picture>
32
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/dm/aronrepo?color=212022&label=%20&logo=npm&style=for-the-badge">
33
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/dm/aronrepo?color=f6f7f8&label=%20&logo=npm&style=for-the-badge">
34
- <img alt="NPM package ( download / month )" src="https://img.shields.io/npm/dm/aronrepo?color=f6f7f8&label=%20&logo=npm&style=for-the-badge">
35
- </picture>
36
- </a>
37
- <a aria-label="Follow @aron1tw" href="https://twitter.com/aron1tw">
38
- <picture>
39
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/static/v1?label=%20&message=twitter&color=212022&logo=twitter&style=for-the-badge">
40
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/static/v1?label=%20&message=twitter&color=f6f7f8&logo=twitter&style=for-the-badge">
41
- <img alt="Follow @mastercorg" src="https://img.shields.io/static/v1?label=%20&message=twitter&color=f6f7f8&logo=twitter&style=for-the-badge">
42
- </picture>
43
- </a>
44
- <a aria-label="Github Actions" href="https://github.com/1aron/aronrepo/actions/workflows/release.yml">
45
- <picture>
46
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/actions/workflow/status/1aron/aronrepo/release.yml?branch=beta&label=%20&message=twitter&color=212022&logo=githubactions&style=for-the-badge">
47
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/actions/workflow/status/1aron/aronrepo/release.yml?branch=beta&label=%20&message=twitter&color=f6f7f8&logo=githubactions&style=for-the-badge&logoColor=%23000">
48
- <img alt="Github release actions" src="https://img.shields.io/github/actions/workflow/status/1aron/aronrepo/release.yml?branch=beta&label=%20&message=twitter&color=f6f7f8&logo=githubactions&style=for-the-badge&logoColor=%23000">
49
- </picture>
50
- </a>
51
- </p>
5
+ Facade install target for the Aronrepo monorepo toolchain.
52
6
 
53
- </div>
7
+ Use this package when you want one dependency that brings the published Aronrepo toolchain packages for conventional commits, commitlint configuration, changelog generation, semantic-release configuration, and pnpm workspace publishing. The package also provides a small programmatic entrypoint that names those packages.
54
8
 
55
- ## Features
9
+ The package has no runtime side effects and does not configure commitlint, changelog generation, or semantic-release by itself.
56
10
 
57
- **Monorepo**
58
- - Using a high-performance build system —— [Turborepo](https://turbo.build/repo)
59
- - Run the `build`, `dev`, `test`, `lint` commands across all workspaces
60
- - Remember what you've built and skip the stuff that's already been computed
61
- - Multiple workspaces work simultaneously, just like one workspace used to.
11
+ ## Install
62
12
 
63
- ![turbo-your-monorepo-excalidraw](https://user-images.githubusercontent.com/33840671/204612389-1dc6ac11-ee16-46a4-9d24-fcfa7aa1085c.jpeg)
13
+ For complete adoption, install the facade package plus the external peer tools used by your repository commands:
64
14
 
65
- **Packing**
66
- - An extremely fast bundler built on top of [esbuild](https://esbuild.github.io/)
67
- - Output or watch multiple formats in one-linear command
68
- - Support **ESM**, **CJS**, and **IIFE** JavaScript modules
69
- - Support **CSS** bundle
70
- - Generate `.d.ts` type declarations
71
- - Extract options from `package.json`
72
- - Prevent bundling `dependencies` and `peerDependencies` by `package.json`
73
-
74
- **Versioning**
75
- - Synchronize versions of packages in all workspaces
76
- - Bump packages to a specific version by the `.workspaces` of `package.json`
77
- - Bump versions by analyzing `dependencies` and `peerDependencies` of the workspace
78
- - Prevent bumping versions for `private: true` packages
79
-
80
- ## Getting Started
81
-
82
- Add `packages/**` to `.workspaces` of the root `./package.json`
83
- ```json
84
- {
85
- "workspaces": [
86
- "packages/**"
87
- ]
88
- }
89
- ```
90
- Install CLI and core packages by `aronrepo`:
91
- ```bash
92
- npm i aronrepo -D
93
- ```
94
- - Requires `npm@>=7` when using `npm`
95
- - Set [`auto-install-peers`](https://pnpm.io/next/npmrc#auto-install-peers) when using `pnpm`
96
- - You can also manually install [`peerDependencies`](https://github.com/1aron/aronrepo/blob/beta/packages/aronrepo/package.json#L32-L41) for fixed versions
97
-
98
- To create your first package, you may automate the required steps to define a new workspace using `npm init`.
99
-
100
- ```bash
101
- npm init -w ./packages/a
102
- ```
103
-
104
- When the package is ready, including the dependencies setup, run `npm i` in the project root directory to install all dependencies, including the workspaces.
105
-
106
- ## Pack
107
-
108
- Bundling your TypeScript and CSS packages with zero configuration.
109
-
110
- ```bash
111
- aron pack [entryPaths...]
112
- ```
113
-
114
- [Check out the available options here for now](https://github.com/1aron/aronrepo/blob/beta/packages/aronrepo/src/commands/pack.ts#L17-L25)
115
-
116
- `aron pack` analyzes the `package.json` entry point relative to input sources in the `src` directory for builds.
117
-
118
- ### JavaScript packages
119
-
120
- ```diff
121
- .
122
- ├── package.json
123
- └── packages
124
- └─── a
125
- ├─── src
126
- │ ├─── index.ts
127
- │ └─── index.browser.ts
128
- + ├─── dist
129
- + │ ├─── index.cjs
130
- + │ ├─── index.mjs
131
- + │ ├─── index.d.ts
132
- + │ └─── index.browser.ts
133
- └─── package.json
134
- ```
135
-
136
- Simultaneously output `cjs`, `esm`, `iife`, `type declarations` respectively according to `main`, `module`, `browser`, `types` of `package.json`
137
-
138
- ```json
139
- {
140
- "name": "a",
141
- "scripts": {
142
- "build": "aron pack",
143
- "dev": "npm run build -- --watch"
144
- },
145
- "main": "dist/cjs/index.js",
146
- "browser": "dist/index.browser.js",
147
- "module": "dist/esm/index.js",
148
- "types": "dist/index.d.ts",
149
- "jsnext:main": "dist/esm/index.js",
150
- "esnext": "dist/esm/index.js",
151
- "exports": {
152
- ".": {
153
- "require": "./dist/cjs/index.js",
154
- "import": "./dist/esm/index.js",
155
- "types": "./dist/index.d.ts"
156
- }
157
- },
158
- "files": [
159
- "dist"
160
- ]
161
- }
15
+ ```sh
16
+ pnpm add -D aronrepo @commitlint/cli semantic-release
162
17
  ```
163
- If you only want to pack specific javascript modules, remove the corresponding entry point from `package.json`.
164
18
 
165
- Run with the above configuration:
19
+ For programmatic package-list usage only:
166
20
 
167
- ```bash
168
- npm run build
21
+ ```sh
22
+ pnpm add -D aronrepo
169
23
  ```
170
24
 
171
- <img width="628" alt="cjs-esm-iife-type-pack" src="https://user-images.githubusercontent.com/33840671/204300928-23e2d2f9-b0ed-4feb-b7cf-1b9ba6cf8127.png">
25
+ This package is ESM-only.
172
26
 
173
- Now import the above package `a` in your project or publish it.
27
+ ## Usage
174
28
 
175
29
  ```ts
176
- import 'a'
177
- ```
178
-
179
- ### CSS packages
180
-
181
- ```diff
182
- .
183
- ├── package.json
184
- └── packages
185
- └─── b
186
- ├─── src
187
- │ └─── index.css
188
- + ├─── dist
189
- + │ └─── index.css
190
- └─── package.json
191
- ```
192
-
193
- Packaging CSS is more straightforward, configuring `style` and `main` entry points in `package.json`.
30
+ import { packages } from 'aronrepo'
194
31
 
195
- ```json
196
- {
197
- "name": "b",
198
- "scripts": {
199
- "build": "aron pack",
200
- "dev": "npm run build -- --watch"
201
- },
202
- "main": "./dist/index.css",
203
- "style": "./dist/index.css",
204
- "files": [
205
- "dist"
206
- ]
207
- }
32
+ console.log(packages)
208
33
  ```
209
34
 
210
- Run with the above configuration:
35
+ `packages` is a readonly list of the Aronrepo toolchain package names:
211
36
 
212
- ```bash
213
- npm run build
214
- ```
215
-
216
- <img width="523" alt="css-pack" src="https://user-images.githubusercontent.com/33840671/204450194-7831c448-2e21-4ce8-8c45-5139febc10e6.png">
217
-
218
- Now import the above package `b` in your project or publish it.
219
-
220
- ```css
221
- @import 'b'
222
- ```
223
-
224
- ### Multiple entry points
225
-
226
- `aron pack <entryPaths...>` supports glob patterns that let you specify multiple entry points at once, including the output of nested directories.
227
-
228
- Specifying an entry point will cause the JavaScript output `format` to be preset to `cjs,esm`.
229
-
230
- ```
231
- aron src/**/*.ts
232
- ```
233
- ```diff
234
- .
235
- ├── package.json
236
- └── packages
237
- └─── a
238
- ├─── src
239
- │ ├─── index.ts
240
- │ └─── utils
241
- │ └─── exec.ts
242
- + ├─── dist
243
- + │ ├─── index.cjs
244
- + │ ├─── index.mjs
245
- + │ └─── utils
246
- + │ ├─── exec.cjs
247
- + │ └─── exec.mjs
248
- └─── package.json
249
- ```
250
- The same goes for multiple CSS entries:
251
- ```
252
- aron src/**/*.css
253
- ```
254
- ```diff
255
- .
256
- ├── package.json
257
- └── packages
258
- └─── a
259
- ├─── src
260
- │ ├─── index.css
261
- │ └─── components
262
- │ ├─── card.css
263
- │ └─── button.css
264
- + ├─── dist
265
- + │ ├─── index.css
266
- + │ └─── components
267
- + │ ├─── card.css
268
- + │ └─── button.css
269
- └─── package.json
270
- ```
271
- Usually, it would be best to bundle CSS packages through a main `index.css` and output other CSS files so developers can import on demand instead of the whole package. For example [@master/keyframes.css](https://www.npmjs.com/package/@master/keyframes.css)
272
-
273
- ### Exclude external dependencies
274
- `aron pack` automatically excludes external dependencies to be bundled by the `.dependencies` and `peerDependencies` of `package.json`
275
-
276
- `src/index.ts`
277
37
  ```ts
278
- import '@master/css'
279
- import '@master/css.webpack'
280
- import '@master/style-element.react'
281
- ```
282
-
283
- `package.json`
284
- ```json
285
- {
286
- "name": "externals",
287
- "main": "dist/cjs/index.js",
288
- "exports": {
289
- ".": {
290
- "require": "./dist/cjs/index.js"
291
- }
292
- },
293
- "files": [
294
- "dist"
295
- ],
296
- "dependencies": {
297
- "@master/css": "^2.0.0-beta.55"
298
- },
299
- "peerDependencies": {
300
- "@master/style-element.react": "^1.1.6"
301
- },
302
- "devDependencies": {
303
- "@master/css.webpack": "^2.0.0-beta.55"
304
- }
305
- }
306
- ```
307
-
308
- Run with the above setup:
309
-
310
- ```bash
311
- aron pack --platform node
38
+ [
39
+ '@aronrepo/commitlint-config',
40
+ '@aronrepo/conventional-commits',
41
+ '@aronrepo/conventional-changelog-config',
42
+ '@aronrepo/semantic-release-config',
43
+ '@aronrepo/semantic-release-pnpm'
44
+ ]
312
45
  ```
313
46
 
314
- <img width="568" alt="exclude-externals-pack" src="https://user-images.githubusercontent.com/33840671/204489494-10854837-be15-49fd-a1c8-0e02fb3e174a.png">
315
-
316
- `@master/css.webpack` is bundled into `dist/cjs/index.js`, except for `@master/css` and `@master/style-element.react`.
317
-
318
- So if there is an external package that needs to be bundled, you just install it to `devDependencies` via `npm i <some-package> --save-dev`, then `aron pack` will not exclude it.
319
-
320
- ### Multiple outputs
321
-
322
- `aron pack` defaults to pack multiple outputs with different formats and platforms according to `exports` `bin` in `package.json`.
47
+ ## Toolchain Packages
323
48
 
324
- ```diff
325
- .
326
- ├── package.json
327
- └── packages
328
- └─── a
329
- ├─── src
330
- │ ├─── index.ts
331
- │ └─── utils
332
- │ └─── exec.ts
333
- + ├─── dist
334
- + │ ├─── index.cjs
335
- + │ ├─── index.mjs
336
- + │ └─── utils
337
- + │ ├─── exec.cjs
338
- + │ └─── exec.mjs
339
- └─── package.json
340
- ```
341
- `package.json`
342
- ```json
343
- {
344
- "name": "externals",
345
- "exports": {
346
- ".": {
347
- "require": "./dist/cjs/index.js",
348
- "import": "./dist/esm/index.js"
349
- },
350
- "./utils/exec": {
351
- "require": "./dist/utils/exec.cjs",
352
- "import": "./dist/utils/exec.mjs"
353
- }
354
- }
355
- }
356
- ```
357
- Any nested conditions in `exports` like `node`, `browser`, `default`, `require`, and `import` will be mapped to ESBuild’s `format` and `platform` options.
358
-
359
- ## Version
360
- Smartly bump all workspace-dependent packages to specific versions.
361
-
362
- ```bash
363
- aron version <version>
364
- ```
365
-
366
- [Check out the available options here for now](https://github.com/1aron/aronrepo/blob/beta/packages/aronrepo/src/commands/version.ts#L16-L18)
367
-
368
- The command automatically bumps the version of all packages by scanning all workspaces and analyzing `dependencies` and `peerDependencies` of `package.json`
369
-
370
- ```diff
371
- .
372
- ├── package.json
373
- └── packages
374
- ├─── a
375
- | └─── package.json
376
- ├─── b
377
- | └─── package.json
378
- └─── c
379
- └─── package.json
380
- ```
381
-
382
- This command scans all workspaces for dependencies with unspecified versions `""` considered a project package, then replaces them with the next version.
383
-
384
- Now bump all dependent and workspace packages to a specified version:
385
-
386
- ```
387
- aron version 1.2.0
388
- ```
389
-
390
- <img width="628" alt="version" src="https://user-images.githubusercontent.com/33840671/204528593-a7a982f1-2e62-4a8e-95c3-122963f2254c.png">
391
-
392
- `packages/a/package.json`
393
-
394
- ```diff
395
- {
396
- "name": "a",
397
- + "version": "^1.2.0",
398
- "dependencies": {
399
- - "b": "",
400
- + "b": "^1.2.0"
401
- }
402
- }
403
- ```
404
-
405
- `packages/b/package.json`
406
-
407
- ```diff
408
- {
409
- "name": "b",
410
- + "version": "^1.2.0"
411
- }
412
- ```
413
-
414
- `packages/c/package.json`
415
-
416
- ```diff
417
- {
418
- "name": "c",
419
- + "version": "^1.2.0",
420
- "peerDependencies": {
421
- - "a": "",
422
- + "b": "^1.2.0"
423
- }
424
- }
425
- ```
426
-
427
- For version range, check out the [semver](https://github.com/npm/node-semver#versions)
428
-
429
- Typically, you would use [Aron's semantic release](https://github.com/1aron/aronrepo/tree/main/packages/semantic-release-config) with CI to automate the version and release commands.
430
-
431
- ## Build system for monorepo
432
-
433
- Most workspace packages will pre-set script commands, such as `build`, `test`, and `lint`. Since features depend on each other, builds will be executed sequentially.
434
-
435
- You can now use [Turborepo](https://turbo.build/repo) to easily build complex systems and run commands in one-linear.
436
-
437
- ![turborepo-excalidraw](https://user-images.githubusercontent.com/33840671/204613029-cc4eaef9-ed82-400f-aa65-a1f1ec5864c7.jpeg)
438
-
439
- Set up the `/turbo.json`:
440
-
441
- ```json
442
- {
443
- "$schema": "https://turbo.build/schema.json",
444
- "pipeline": {
445
- "dev": {
446
- "cache": false,
447
- "dependsOn": ["^build"]
448
- },
449
- "build": {
450
- "dependsOn": ["^build"],
451
- "outputs": ["dist/**"]
452
- },
453
- "test": {
454
- "outputs": [],
455
- "inputs": [
456
- "src/**/*.tsx",
457
- "src/**/*.ts",
458
- "tests/**/*.ts"
459
- ]
460
- },
461
- "lint": {
462
- "outputs": []
463
- },
464
- "type-check": {
465
- "outputs": ["dist/**"]
466
- }
467
- }
468
- }
469
- ```
470
-
471
- Set up the scripts of `/package.json`:
472
- ```json
473
- {
474
- "scripts": {
475
- "dev": "turbo run dev",
476
- "build": "turbo run build",
477
- "test": "turbo run test --parallel",
478
- "lint": "turbo run lint --parallel",
479
- "type-check": "turbo run type-check --parallel"
480
- }
481
- }
482
- ```
483
- In most cases, `dev` and `build` cannot add the `--parallel` flag, which breaks their dependencies.
484
-
485
- Typical workspace scripts for authoring a package:
486
-
487
- ```json
488
- {
489
- "scripts": {
490
- "build": "aron pack",
491
- "dev": "npm run build -- --watch",
492
- "test": "jest",
493
- "type-check": "tsc --noEmit",
494
- "lint": "eslint src"
495
- }
496
- }
497
- ```
498
-
499
- From now on, you only need to **run the command in the project root** after opening the project.
500
-
501
- ```bash
502
- npm run dev
503
- ```
504
- Build your application or package:
505
- ```bash
506
- npm run build
507
- ```
508
- Test your business logic or UI by running scripts:
509
- ```bash
510
- npm run test
511
- ```
512
- Find and fix problems in JavaScript code before building:
513
- ```bash
514
- npm run lint
515
- ```
516
- Improve reliability with TypeScript's type checking:
517
- ```bash
518
- npm run type-check
519
- ```
520
-
521
- ### Continuous Integration
522
-
523
- With the well-configured build system, almost all commands can be automated through CI, taking GitHub Actions as an example:
524
-
525
- Build automated tests on the `beta`, the `main`, and the pull request stream:
526
- ```yml
527
- name: Test
528
- on:
529
- push:
530
- branches:
531
- - main
532
- - beta
533
- pull_request_target:
534
- types:
535
- - opened
536
- - synchronize
537
-
538
- jobs:
539
- version:
540
- timeout-minutes: 15
541
- runs-on: ubuntu-20.04
542
- strategy:
543
- matrix:
544
- node-version: [18.12.1]
545
- steps:
546
- - uses: actions/checkout@v3
547
- - uses: actions/setup-node@v3
548
- with:
549
- node-version: ${{ matrix.node-version }}
550
- cache: 'npm'
551
- - run: npm ci
552
- - run: npm run build
553
- - run: npm run test
554
- ```
555
- The same goes for `lint` and `type-check`.
49
+ - `@aronrepo/conventional-commits`: commit types, release impact rules, changelog groups, and AI agent policy.
50
+ - `@aronrepo/commitlint-config`: commitlint rules for Aronrepo commit and PR title validation.
51
+ - `@aronrepo/conventional-changelog-config`: parser, writer, and recommended bump options for conventional changelog tooling.
52
+ - `@aronrepo/semantic-release-config`: semantic-release defaults and workspace package discovery.
53
+ - `@aronrepo/semantic-release-pnpm`: semantic-release plugin for publishing pnpm workspace packages.
556
54
 
557
- While the `build` command will work with `deploy` and `release`, aronrepo builds a complete package release workflow and the tools needed during it.
55
+ ## AI Coding Adoption
558
56
 
559
- Next, check out the [Aron's semantic release](https://github.com/1aron/aronrepo/tree/main/packages/semantic-release-config)
57
+ For a complete adoption prompt that an AI coding agent can use in another repository, see the root guide:
560
58
 
561
- <br>
59
+ - [AI Coding Integration](https://github.com/1aron/aronrepo/blob/main/docs/ai-coding.md)
562
60
 
563
- <a aria-label="overview" href="https://github.com/1aron/aronrepo#ecosystem">
564
- <picture>
565
- <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/%E2%AC%85%20back%20to%20contents-%20?color=212022&style=for-the-badge">
566
- <source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/badge/%E2%AC%85%20back%20to%20contents-%20?color=f6f7f8&style=for-the-badge">
567
- <img alt="NPM Version" src="https://img.shields.io/badge/%E2%AC%85%20back%20to%20contents-%20?color=f6f7f8&style=for-the-badge">
568
- </picture>
569
- </a>
61
+ The prompt tells the agent to inspect the target repository first, install the `aronrepo` facade and required peer tools, configure commitlint and semantic-release, document release behavior, and add agent guidance without unrelated refactors.
@@ -0,0 +1,5 @@
1
+ //#region src/index.d.ts
2
+ declare const packages: readonly ["@aronrepo/commitlint-config", "@aronrepo/conventional-commits", "@aronrepo/conventional-changelog-config", "@aronrepo/semantic-release-config", "@aronrepo/semantic-release-pnpm"];
3
+ //#endregion
4
+ export { packages };
5
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ //#region src/index.ts
2
+ const packages = [
3
+ "@aronrepo/commitlint-config",
4
+ "@aronrepo/conventional-commits",
5
+ "@aronrepo/conventional-changelog-config",
6
+ "@aronrepo/semantic-release-config",
7
+ "@aronrepo/semantic-release-pnpm"
8
+ ];
9
+ //#endregion
10
+ export { packages };
11
+
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export const packages = [\n '@aronrepo/commitlint-config',\n '@aronrepo/conventional-commits',\n '@aronrepo/conventional-changelog-config',\n '@aronrepo/semantic-release-config',\n '@aronrepo/semantic-release-pnpm'\n] as const\n"],"mappings":";AAAA,MAAa,WAAW;CACpB;CACA;CACA;CACA;CACA;AACJ"}
package/package.json CHANGED
@@ -1 +1,46 @@
1
- {"name":"aronrepo","license":"MIT","scripts":{"build":"esbuild src/bin/index.ts --bundle --outfile=dist/bin/index --format=cjs --minify --sourcemap --platform=node --external:esbuild --external:to-line --external:@techor/log --external:commitlint-config-aron --external:conventional-changelog-aron --external:eslint-config-aron --external:fs-extra --external:semantic-release-config-aron --external:commander --external:fast-glob","dev":"conc 'npm:build -- --watch'","type-check":"tsc --noEmit","test":"jest","lint":"eslint src"},"description":"A monorepo ecosystem integrating first-class packages and build systems 📦","author":{"name":"Aron","email":"aron@master.co","url":"http://aron.tw"},"homepage":"https://aron.tw","bugs":{"url":"https://github.com/1aron/aronrepo/issues"},"repository":{"type":"git","url":"https://github.com/1aron/aronrepo.git","directory":"packages/aronrepo"},"bin":{"aron":"./dist/bin/index"},"files":["dist","scripts",".github"],"peerDependencies":{"@types/node":"","turbo":"","typescript":""},"dependencies":{"@techor/log":"^1.1.3","aron-jest":"^1.6.0","commander":"^9.4.1","commitlint-config-aron":"^1.6.0","conventional-changelog-aron":"^1.6.0","esbuild":"^0.17.11","eslint-config-aron":"^1.6.0","execa":"^6.1.0","fast-glob":"^3.2.12","fs-extra":"^10.1.0","lodash.camelcase":"^4.3.0","lodash.isequal":"^4.5.0","normalize-path":"^3.0.0","p-all":"^4.0.0","pretty-bytes":"^6.0.0","semantic-release-config-aron":"^1.6.0","shelljs":"^0.8.5","shx":"^0.3.4","techor":"^1.1.7","to-extend":"^1.5.2","to-line":"^1.5.0","upath":"^2.0.1"},"devDependencies":{"dedent":"^0.7.0","pkg-types":"^1.0.1"},"version":"1.6.0"}
1
+ {
2
+ "name": "aronrepo",
3
+ "version": "2.0.1",
4
+ "type": "module",
5
+ "license": "MIT",
6
+ "description": "Facade package for the Aronrepo monorepo toolchain.",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/1aron/aronrepo.git",
10
+ "directory": "packages/aronrepo"
11
+ },
12
+ "sideEffects": false,
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js",
17
+ "default": "./dist/index.js"
18
+ }
19
+ },
20
+ "types": "./dist/index.d.ts",
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "publishConfig": {
25
+ "access": "public",
26
+ "provenance": true
27
+ },
28
+ "peerDependencies": {
29
+ "@commitlint/cli": "*",
30
+ "semantic-release": "*"
31
+ },
32
+ "dependencies": {
33
+ "@aronrepo/commitlint-config": "^2.0.1",
34
+ "@aronrepo/conventional-changelog-config": "^2.0.1",
35
+ "@aronrepo/semantic-release-config": "^2.0.1",
36
+ "@aronrepo/semantic-release-pnpm": "^2.0.1",
37
+ "@aronrepo/conventional-commits": "^2.0.1"
38
+ },
39
+ "scripts": {
40
+ "build": "tsdown",
41
+ "dev": "tsdown --watch",
42
+ "test": "vitest",
43
+ "type-check": "tsc --noEmit",
44
+ "lint": "eslint"
45
+ }
46
+ }