aronrepo 1.5.2 → 2.0.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/README.md CHANGED
@@ -1,569 +1,51 @@
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 package for the Aronrepo monorepo toolchain.
52
6
 
53
- </div>
7
+ Use this package when you want a small programmatic entrypoint that names the Aronrepo packages available in the toolchain. The package has no runtime side effects and does not configure commitlint, changelog generation, or semantic-release by itself.
54
8
 
55
- ## Features
9
+ ## Install
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.
62
-
63
- ![turbo-your-monorepo-excalidraw](https://user-images.githubusercontent.com/33840671/204612389-1dc6ac11-ee16-46a4-9d24-fcfa7aa1085c.jpeg)
64
-
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...]
11
+ ```sh
12
+ pnpm add -D aronrepo
112
13
  ```
113
14
 
114
- [Check out the available options here for now](https://github.com/1aron/aronrepo/blob/beta/packages/aronrepo/src/commands/pack.ts#L17-L25)
15
+ This package is ESM-only.
115
16
 
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
- }
162
- ```
163
- If you only want to pack specific javascript modules, remove the corresponding entry point from `package.json`.
164
-
165
- Run with the above configuration:
166
-
167
- ```bash
168
- npm run build
169
- ```
170
-
171
- <img width="628" alt="cjs-esm-iife-type-pack" src="https://user-images.githubusercontent.com/33840671/204300928-23e2d2f9-b0ed-4feb-b7cf-1b9ba6cf8127.png">
172
-
173
- Now import the above package `a` in your project or publish it.
17
+ ## Usage
174
18
 
175
19
  ```ts
176
- import 'a'
177
- ```
178
-
179
- ### CSS packages
20
+ import { packages } from 'aronrepo'
180
21
 
181
- ```diff
182
- .
183
- ├── package.json
184
- └── packages
185
- └─── b
186
- ├─── src
187
- │ └─── index.css
188
- + ├─── dist
189
- + │ └─── index.css
190
- └─── package.json
22
+ console.log(packages)
191
23
  ```
192
24
 
193
- Packaging CSS is more straightforward, configuring `style` and `main` entry points in `package.json`.
25
+ `packages` is a readonly list of the Aronrepo toolchain package names:
194
26
 
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
- }
208
- ```
209
-
210
- Run with the above configuration:
211
-
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
27
  ```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
312
- ```
313
-
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`.
323
-
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
28
+ [
29
+ '@aronrepo/commitlint-config',
30
+ '@aronrepo/conventional-commits',
31
+ '@aronrepo/conventional-changelog-config',
32
+ '@aronrepo/semantic-release-config',
33
+ '@aronrepo/semantic-release-pnpm'
34
+ ]
380
35
  ```
381
36
 
382
- This command scans all workspaces for dependencies with unspecified versions `""` considered a project package, then replaces them with the next version.
37
+ ## Toolchain Packages
383
38
 
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`.
39
+ - `@aronrepo/conventional-commits`: commit types, release impact rules, changelog groups, and AI agent policy.
40
+ - `@aronrepo/commitlint-config`: commitlint rules for Aronrepo commit and PR title validation.
41
+ - `@aronrepo/conventional-changelog-config`: parser, writer, and recommended bump options for conventional changelog tooling.
42
+ - `@aronrepo/semantic-release-config`: semantic-release defaults and workspace package discovery.
43
+ - `@aronrepo/semantic-release-pnpm`: semantic-release plugin for publishing pnpm workspace packages.
556
44
 
557
- While the `build` command will work with `deploy` and `release`, aronrepo builds a complete package release workflow and the tools needed during it.
45
+ ## AI Coding Adoption
558
46
 
559
- Next, check out the [Aron's semantic release](https://github.com/1aron/aronrepo/tree/main/packages/semantic-release-config)
47
+ For a complete adoption prompt that an AI coding agent can use in another repository, see the root guide:
560
48
 
561
- <br>
49
+ - [AI Coding Integration](https://github.com/1aron/aronrepo/blob/main/docs/ai-coding.md)
562
50
 
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>
51
+ The prompt tells the agent to inspect the target repository first, install the relevant Aronrepo packages, 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,44 @@
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.5.2","commander":"^9.4.1","commitlint-config-aron":"^1.5.2","conventional-changelog-aron":"^1.5.2","esbuild":"^0.17.11","eslint-config-aron":"^1.5.2","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.5.2","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.5.2"}
1
+ {
2
+ "name": "aronrepo",
3
+ "version": "2.0.0",
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
+ "typescript": "*"
30
+ },
31
+ "dependencies": {
32
+ "@aronrepo/commitlint-config": "^2.0.0",
33
+ "@aronrepo/conventional-commits": "^2.0.0",
34
+ "@aronrepo/semantic-release-config": "^2.0.0",
35
+ "@aronrepo/conventional-changelog-config": "^2.0.0"
36
+ },
37
+ "scripts": {
38
+ "build": "tsdown",
39
+ "dev": "tsdown --watch",
40
+ "test": "vitest",
41
+ "type-check": "tsc --noEmit",
42
+ "lint": "eslint"
43
+ }
44
+ }