55 lines
1.0 KiB
Markdown
55 lines
1.0 KiB
Markdown
# Packaging sk-az-tools
|
|
|
|
## Build model
|
|
|
|
- Source lives in `src/` as TypeScript (`.ts`).
|
|
- Runtime package is compiled to `dist/` using `npm run build`.
|
|
- Public package entrypoints (`exports` and `bin`) point to `dist/**`.
|
|
|
|
## Package surface
|
|
|
|
- `exports` defines what consumers can import.
|
|
- `files` controls what is shipped to npm.
|
|
- Current shipping content is `dist`, `README.md`, and `LICENSE`.
|
|
|
|
## Development workflow
|
|
|
|
Build once:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
Build in watch mode:
|
|
|
|
```bash
|
|
npm run build:watch
|
|
```
|
|
|
|
Smoke check CLI output:
|
|
|
|
```bash
|
|
node dist/cli.js --help
|
|
```
|
|
|
|
## Publish checklist
|
|
|
|
1. Run `npm run build` and ensure TypeScript compiles without errors.
|
|
2. Verify package content with `npm pack --dry-run`.
|
|
3. Create artifact: `npm pack --pack-destination ./artifacts`.
|
|
4. Optionally install the artifact locally and validate CLI/imports.
|
|
|
|
## Tarball usage
|
|
|
|
Create package tarball:
|
|
|
|
```bash
|
|
npm pack --pack-destination ./artifacts
|
|
```
|
|
|
|
Install from tarball:
|
|
|
|
```bash
|
|
npm install ./artifacts/@slawek/sk-az-tools-<version>.tgz
|
|
```
|