@doikayt/typescript-build-config 0.1.10 → 0.1.12

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
@@ -23,8 +23,8 @@ Shared build configuration presets for TypeScript-based projects.
23
23
 
24
24
  ## Purpose
25
25
 
26
- This package centralises common build tooling configuration and release policy across all
27
- TypeScript projects maintained under the `@doikayt` scope. The goal is a
26
+ This package centralises common build tooling configuration, release policy, and content assets
27
+ across all TypeScript projects maintained under the `@doikayt` scope. The goal is a
28
28
  single source of truth for such settings that should be held constant across
29
29
  projects, avoiding drift between repos over time.
30
30
  The plugin encapsulates common build **policy** and release **workflow logic**
@@ -62,6 +62,28 @@ versions of these tools may produce peer dependency conflicts.
62
62
  - Auto-changeset script (`scripts/auto-changeset.sh`)
63
63
  - NPM token diagnostic workflow (`.github/workflows/verify-npm-token.yml`) — see
64
64
  [Troubleshooting Publish Auth](docs/RELEASE-PROCESS.md#troubleshooting-publish-auth)
65
+ - Playwright config helper (`@doikayt/typescript-build-config/playwright`) — `nixChromiumLaunchOptions()`
66
+ discovers the system Chromium on quirky NixOS; `definePlaywrightConfig()` wraps `defineConfig` and
67
+ merges the result in. Transparent no-op on platforms where Playwright's bundled browser works.
68
+ `@playwright/test` is an **optional peer dependency** — it is not installed automatically.
69
+ Any project that imports from `@doikayt/typescript-build-config/playwright` must declare it
70
+ explicitly in its own `devDependencies`:
71
+
72
+ ```bash
73
+ npm install --save-dev @playwright/test
74
+ ```
75
+
76
+ ```ts
77
+ import { definePlaywrightConfig } from "@doikayt/typescript-build-config/playwright";
78
+ export default definePlaywrightConfig({
79
+ testDir: "code/tests/e2e",
80
+ testMatch: "**/*.spec.ts",
81
+ use: { baseURL: "http://localhost:8080" },
82
+ });
83
+ ```
84
+
85
+ - Brand assets (`assets/doikayt-logo.png`, `assets/doikayt-logo.svg`) — shared logos for use
86
+ across all `@doikayt` project READMEs and documentation
65
87
 
66
88
  ## Delivery Model
67
89
 
@@ -73,9 +95,10 @@ _states_ it:
73
95
  ┌─────────────────────────────────────────────────┐
74
96
  │ @doikayt/typescript-build-config │
75
97
  │ │
76
- │ presets src/eslint.js prettier tsconfig │
98
+ │ presets eslint prettier tsconfig playwright│
77
99
  │ stubs src/top-level/* │
78
100
  │ pipeline src/pipeline/* │
101
+ │ assets assets/* │
79
102
  │ policy docs/RELEASE-PROCESS.md │
80
103
  └─────────┬───────────────┬───────────────┬───────┘
81
104
  │ │ │
@@ -83,10 +106,11 @@ _states_ it:
83
106
  IN PLACE │ ON INSTALL │ NEVER COPIED │
84
107
  │ │ │
85
108
  presets stay in │ postinstall │ cited by URL │
86
- node_modules — │ seeds stubs + │ only; one │
87
- updates flow │ pipeline once;│ canonical │
88
- with npm update │ consumer owns │ copy — drift │
89
- │ them; drift ⇒ │ is impossible │
109
+ node_modules — │ seeds stubs, │ only; one │
110
+ updates flow │ pipeline, and │ canonical │
111
+ with npm update │ assets once; │ copy — drift │
112
+ │ consumer owns │ is impossible │
113
+ │ them; drift ⇒ │ │
90
114
  │ diff warning │ │
91
115
  ▼ ▼ ▼
92
116
  ┌─────────────────────────────────────────────────┐
@@ -98,6 +122,7 @@ _states_ it:
98
122
  │ node_modules (chan. 1) │
99
123
  │ owned pipeline: .github/workflows/release.yml │
100
124
  │ scripts/auto-changeset.sh │
125
+ │ owned assets: docs/assets/doikayt-logo.* │
101
126
  │ CONTRIBUTING.md ─cites URL─► RELEASE-PROCESS.md│
102
127
  └─────────────────────────────────────────────────┘
103
128
  ```
@@ -116,6 +141,10 @@ _states_ it:
116
141
  - **Owned pipeline** — the release workflow and scripts, copied on install. "Owned" by
117
142
  the **consumer repo**: it may edit its copies, upstream never overwrites them, and
118
143
  postinstall prints a diff warning when a copy drifts from the canonical template.
144
+ - **Assets** — brand logos seeded once into `docs/assets/` by the postinstall script.
145
+ Same channel-2 treatment as the pipeline: copied if absent, skipped if identical,
146
+ warning (without a text diff) if diverged. Consumer owns the copy; it will not be
147
+ silently overwritten.
119
148
  - **Policy** — the release process itself, stated once in
120
149
  [docs/RELEASE-PROCESS.md](docs/RELEASE-PROCESS.md). Consumers reference it by URL from
121
150
  their own contributor docs (as the consumer box shows) — never copied, so it cannot
@@ -278,3 +307,4 @@ npm run update-all-format && npm run ci
278
307
  ## License
279
308
 
280
309
  MIT
310
+
Binary file