node-ansi-logger 3.3.2-dev-20260913-3c6325b → 3.3.2-dev-20260929-e6adf07

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.md CHANGED
@@ -23,6 +23,25 @@ If you like this project and find it useful, please consider giving it a star on
23
23
 
24
24
  ## [3.3.2] - Dev branch
25
25
 
26
+ ### Added
27
+
28
+ - [devcontainer]: Add [`Dev Container`](.devcontainer/README.md) v.2.2.0 with dual Node and Bun runtime support.
29
+ - [agents]: Add a [`shared setup`](.agents/README.md) for all agents: OpenAI Codex, Claude Code, GitHub Copilot and Google Gemini / Antigravity.
30
+ - [agents]: Add [`commit message instructions`](.github/commit-message-instructions.md) v.1.0.0 for the VS Code Copilot "Generate Commit Message" button (Conventional Commits).
31
+
32
+ ### Changed
33
+
34
+ - [vscode]: Update `.vscode/settings.json` to v.1.0.13: point the Copilot "Generate Commit Message" button to `.github/commit-message-instructions.md`.
35
+ - [styleguide]: Update [`STYLEGUIDE.md`](STYLEGUIDE.md) to v.1.1.0: align it with the lint and format config and add the Commit Messages and Changelog sections.
36
+ - [scripts]: Update `scripts/clean.mjs` and `scripts/deep-clean.mjs` to v.1.3.0: log every removed path, add `--help` and `--version` and reject unknown arguments.
37
+ - [package]: Upgrade package.
38
+ - [package]: Bump `oxfmt` to v.0.71.0.
39
+ - [package]: Bump `oxlint` to v.1.86.0.
40
+ - [package]: Bump `oxlint-tsgolint` to v.7.0.2003.
41
+ - [package]: Bump `vitest` to v.5.0.2.
42
+ - [package]: Bump `@vitest/coverage-v8` to v.5.0.2.
43
+ - [package]: Bump `@types/node` to v.26.6.3.
44
+
26
45
  <a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="80"></a>
27
46
 
28
47
  ## [3.3.1] - 2026-08-29
package/README.md CHANGED
@@ -175,17 +175,73 @@ log.debug(`State changed: ${green`on`} → ${red`off`}`);
175
175
 
176
176
  ![Example Image](https://github.com/Luligu/node-ansi-logger/blob/main/screenshots/Screenshot.png)
177
177
 
178
- # Repository setup
178
+ ## Repository toolchain
179
179
 
180
- > **Note:** This repository uses a new toolchain. It replaces the traditional TypeScript / ESLint / Prettier / Jest stack with a faster, lighter setup.
180
+ > **Note:** This repository uses a new toolchain. It replaces the traditional TypeScript / ESLint / Prettier / Jest stack with a faster and lighter setup.
181
181
 
182
- - **No `typescript` package** — replaced by [TypeScript Native](https://github.com/microsoft/typescript-go). The `typescript` package is kept only as a publish-time dependency while tsgo is still in preview.
182
+ - **No `typescript 6.x` package** — replaced by [TypeScript Native 7.x](https://github.com/microsoft/typescript-go).
183
183
  - **No ESLint, no Prettier** — replaced by the [oxc](https://oxc.rs) stack: [oxlint](https://oxc.rs/docs/guide/usage/linter.html) for linting and [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) for formatting.
184
184
  - **No Jest** — replaced by [Vitest](https://vitest.dev), which is much faster and natively supports ESM without extra configuration.
185
185
  - **Far fewer development dependencies** — the number of installed packages drops from **~600** to **~75**. A clean install is much faster.
186
186
  - **Much faster linting and formatting** — oxlint and oxfmt run in a fraction of the time required by the ESLint / Prettier pipeline.
187
187
  - **Much faster builds** — tsgo compiles the project in a fraction of the time required by the standard `tsc` build.
188
- - **Editor support** — uses the VS Code extensions for tsgo and oxc to get the same experience in the editor.
188
+ - **Editor support** — use the VS Code extensions for tsgo and oxc to get the same experience in the editor.
189
+
190
+ ## Shared agent instructions
191
+
192
+ All coding agents read the same guidance. [AGENTS.md](./AGENTS.md) and [.agents/](./.agents/) are the **single source of truth**; everything under `.github/`, `.claude/`, `.codex/` and `.antigravity/` are pointers and mirrors. Edit `.agents/` (or `AGENTS.md`), never the copies. See [.agents/README.md](./.agents/README.md) for the full layout.
193
+
194
+ | File | Notes |
195
+ | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
196
+ | `AGENTS.md` | Main project instructions — shared by every agent |
197
+ | `.agents/README.md` | Layout and versioning of the shared instructions |
198
+ | `.agents/rules/testing.instructions.md` | Testing standards for unit tests |
199
+ | `.agents/skills/verify-agent-context/SKILL.md` | Verify the agent loaded this context — `$verify-agent-context` (Codex), `/verify-agent-context` (all others) |
200
+
201
+ Content lives only in `.agents/`. The per-agent folders exist because each tool discovers rules and skills from its own hardcoded location, so they hold stubs that point back here — except where the tool reads `.agents/` natively.
202
+
203
+ | Tool | Instructions | Rules | Skills |
204
+ | ---------------------------------- | ----------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------- |
205
+ | Codex | `AGENTS.md` — read natively | `.agents/rules/` — linked from `AGENTS.md`, on demand | `.agents/skills/` — native, `$verify-agent-context` |
206
+ | Copilot (VS Code and coding agent) | `.github/copilot-instructions.md` → `AGENTS.md` | stubs in `.github/instructions/` — `applyTo` globs | stub in `.github/skills/` — `/verify-agent-context` |
207
+ | Claude Code | `CLAUDE.md` imports `AGENTS.md` | stubs in `.claude/rules/` — `paths` globs | stub in `.claude/skills/` — `/verify-agent-context` |
208
+ | Gemini / Antigravity | `GEMINI.md` imports `AGENTS.md` | `.agents/rules/` — on demand | `.agents/skills/` — native, `/verify-agent-context` |
209
+
210
+ ### Copilot instructions
211
+
212
+ | File | Notes |
213
+ | ------------------------------------------------------ | -------------------------------------------- |
214
+ | `.github/copilot-instructions.md` | Pointer to AGENTS.md — always loaded |
215
+ | `.github/instructions/testing/testing.instructions.md` | Testing standards — scoped to `**/*.test.ts` |
216
+ | `.github/skills/verify-agent-context/SKILL.md` | Skill invocable as `/verify-agent-context` |
217
+
218
+ ### Claude instructions
219
+
220
+ | File | Notes |
221
+ | ----------------------------------------------- | --------------------------------------------- |
222
+ | `CLAUDE.md` | Pointer to AGENTS.md — always loaded |
223
+ | `.claude/settings.json` | Claude permissions: allow, ask and deny rules |
224
+ | `.claude/rules/testing/testing.instructions.md` | Testing standards — scoped to `**/*.test.ts` |
225
+ | `.claude/skills/verify-agent-context/SKILL.md` | Skill invocable as `/verify-agent-context` |
226
+
227
+ ### Codex instructions
228
+
229
+ | File | Notes |
230
+ | ---------------------------- | ----------------------------------------------------------------- |
231
+ | `AGENTS.md` | Main project instructions — read directly, no pointer file needed |
232
+ | `.codex/config.toml` | Codex project permissions, approvals, and profile |
233
+ | `.codex/rules/default.rules` | Codex command allow, prompt, and deny rules |
234
+
235
+ Codex reads the shared rules and skills from `.agents/` directly; the skill is invoked as `$verify-agent-context`.
236
+
237
+ ### Gemini / Antigravity instructions
238
+
239
+ | File | Notes |
240
+ | ---------------------------- | ----------------------------------------------------- |
241
+ | `GEMINI.md` | Pointer to AGENTS.md — always loaded |
242
+ | `.antigravity/settings.json` | Sandboxing and permissions: allow, ask and deny rules |
243
+
244
+ The shared rules under `.agents/rules/` apply on demand for the relevant tasks, and `.agents/skills/` is discovered automatically as `/verify-agent-context`.
189
245
 
190
246
  # Contributing
191
247
 
package/dist/ansi.js CHANGED
@@ -196,9 +196,9 @@ function isStyleName(prop) {
196
196
  * @returns {AnsiTag} Chainable ANSI tag.
197
197
  */
198
198
  function createTag(styles = []) {
199
- // oxlint-disable-next-line typescript/no-unsafe-type-assertion
200
199
  const tag = ((strings, ...values) => {
201
200
  return applyStyles(joinTemplate(strings, values), styles);
201
+ // oxlint-disable-next-line typescript/no-unsafe-type-assertion
202
202
  });
203
203
  return new Proxy(tag, {
204
204
  get(target, prop) {
package/dist/logger.js CHANGED
@@ -743,7 +743,7 @@ export class AnsiLogger {
743
743
  const size = this.logToFile(this.logFilePath, level, message, ...parameters);
744
744
  this.#logFileSize += size;
745
745
  if (this.#logFileSize >= this.#maxFileSize) {
746
- // istanbul ignore next
746
+ /* v8 ignore next */
747
747
  appendFileSync(this.logFilePath, `Logging on file has been stoppped because the file size is greater then ${this.#maxFileSize}B.\n`);
748
748
  }
749
749
  }
@@ -761,7 +761,7 @@ export class AnsiLogger {
761
761
  const size = this.logToFile(__AnsiLoggerFilePath__, level, message, ...parameters);
762
762
  __AnsiLoggerFileLogSize__ += size;
763
763
  if (__AnsiLoggerFileLogSize__ >= this.#maxFileSize) {
764
- // istanbul ignore next
764
+ /* v8 ignore next */
765
765
  appendFileSync(__AnsiLoggerFilePath__, `Logging on file has been stoppped because the file size is greater then ${this.#maxFileSize}B.\n`);
766
766
  }
767
767
  }
package/dist/stringify.js CHANGED
@@ -123,7 +123,7 @@ export function stringify(payload, enableColors = false, colorPayload = 252, col
123
123
  return `${clr(colorUndefined)}(function)${reset()}`;
124
124
  // No Default
125
125
  }
126
- /* istanbul ignore next */
126
+ /* v8 ignore next */
127
127
  return `${clr(colorUndefined)}${String(value)}${reset()}`;
128
128
  };
129
129
  const isTrackable = typeof payload === 'object' && payload !== null;
@@ -156,7 +156,7 @@ export function stringify(payload, enableColors = false, colorPayload = 252, col
156
156
  // @ts-expect-error -- The type of value is unknown, but we will handle it in the code below
157
157
  newValue = value;
158
158
  // console.log(typeof newValue, key, value);
159
- // istanbul ignore next cause is unreachable code for typeof, but included for completeness
159
+ /* v8 ignore next cause is unreachable code for typeof, but included for completeness */
160
160
  if (value === null) {
161
161
  newValue = `${clr(colorUndefined)}null${reset()}`;
162
162
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "node-ansi-logger",
3
- "version": "3.3.2-dev-20260913-3c6325b",
3
+ "version": "3.3.2-dev-20260929-e6adf07",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "node-ansi-logger",
9
- "version": "3.3.2-dev-20260913-3c6325b",
9
+ "version": "3.3.2-dev-20260929-e6adf07",
10
10
  "license": "Apache-2.0",
11
11
  "engines": {
12
12
  "node": ">=20.19.0 <21.0.0 || >=22.13.0 <23.0.0 || >=24.0.0 <25.0.0 || >=26.0.0 <27.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-ansi-logger",
3
- "version": "3.3.2-dev-20260913-3c6325b",
3
+ "version": "3.3.2-dev-20260929-e6adf07",
4
4
  "description": "Enhanced Ansi Color Logging and Stringify for Node.js in type script",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",