js-message works with bundlers and without a bundler.
Bundlers resolve the bare js-message import normally. Native browser ESM resolves it through a standard import map, with no build or transpilation step.
Message primitives
| ID | Focused check |
|---|---|
UNIT-01 | A new message starts with an empty type. |
UNIT-02 | Default data objects are independent. |
UNIT-03 | Type and data are the enumerable instance fields. |
UNIT-04 | The JSON getter emits the exact envelope. |
UNIT-05 | The JSON getter excludes local properties. |
UNIT-06 | toJSON() returns only type and data. |
UNIT-07 | JSON.stringify() uses the normalized envelope. |
UNIT-08 | Direct fields retain JSON-safe native values. |
Playground source helpers
| ID | Focused check |
|---|---|
UNIT-09 | The default playground source shows a complete round trip. |
UNIT-10 | Playground root imports resolve to the canonical module. |
UNIT-11 | Playground deep imports resolve to Message.js. |
UNIT-12 | Playground import text outside static declarations is unchanged. |
UNIT-13 | Playground source must be text. |
UNIT-14 | Playground source has a fixed size limit. |
UNIT-15 | Package imports after executable code remain unchanged. |
UNIT-16 | Comments and blank lines may precede package imports. |
UNIT-17 | Other absolute static imports may precede package imports. |
UNIT-18 | Block comments may precede package imports. |
UNIT-19 | Leading package imports may carry trailing line comments. |
UNIT-20 | Compact leading package imports resolve without added whitespace. |
UNIT-21 | Inline block comments may separate the import keyword. |
UNIT-22 | Comment-heavy import preambles remain responsive. |
UNIT-23 | Unicode import-prefix identifiers remain unchanged. |
UNIT-24 | Escaped import-prefix identifiers remain unchanged. |
Playground output helpers
| ID | Focused check |
|---|---|
UNIT-25 | Playground output serializes BigInt. |
UNIT-26 | Playground output serializes undefined. |
UNIT-27 | Playground output serializes errors. |
UNIT-28 | Playground output labels maps. |
UNIT-29 | Playground output labels sets. |
UNIT-30 | Playground output marks circular references. |
UNIT-31 | Playground output truncates primitive strings before transfer. |
One concern per row.
Round-trip behavior belongs to the Functional suite; cross-entry agreement belongs to Integration. These Unit checks stay narrow.