Add IGNORABLE_PREFIXES and IGNORABLE_SUFFIXES to the e2e scope detection
script so that PRs touching only documentation, changesets, AI config, or
other non-rendering files skip e2e entirely instead of triggering the full
5-container Cypress suite.
Changes:
- Add SKIP sentinel return value to detectScope() for ignorable-only PRs
- Add ignorable file detection (docs, changesets, .claude/, assistant/, etc.)
- Update e2e.yml workflow to skip the e2e job when SKIP is returned
- Update local runner (run-e2e-scoped.ts) to handle SKIP
- Upgrade @argos-ci/cypress to ^6.3.3 for ARGOS_SUBSET support
- Add 9 new test cases covering docs-only, mixed, and skip scenarios
Use `@microsoft/api-extractor` to bundle the TypeScript `.d.ts` types
for `@mermaid-js/parser`.
In a future commit, we want to bundle `langium`, which would need us to
bundle `langium`'s types as well.
Bundling reduces the size of our `dist/` folder, and makes it more
obvious which of our types are external.
I've made this as a `prepack` step, so that it doesn't affect the
majority of mermaid developers when they run `pnpm install`. It's only
when we publish the package that we'd bundle the code.
This also means it will be tested by the `pnpm run test:check:tsc` test
that we have.
Any spec file at the root of cypress/integration/rendering/ is treated
as cross-cutting (full suite). Any spec in a subfolder is scoped to that
subfolder. No explicit list to maintain — the directory position is the
convention.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move all diagram-specific Cypress specs from the flat
cypress/integration/rendering/ directory into per-diagram subfolders
(e.g. cypress/integration/rendering/flowchart/).
The detection script now uses filesystem discovery instead of a
hardcoded DIAGRAM_SPEC_MAP: it checks whether
cypress/integration/rendering/<diagram-name>/ exists and returns
a glob pattern (cypress/integration/rendering/<name>/**) as the
--spec argument. Adding a new spec to a subfolder requires zero
config changes.
Cross-cutting specs (theme, conf-and-directives, shapes, etc.) remain
at the root of cypress/integration/rendering/ and continue to trigger
the full suite.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add eslint-disable no-console (CLI tool, console output is intentional)
- Add curly braces to all if-return statements
- Use RegExp#exec() instead of String#match()
- Add cspell:ignore for Playwright's networkidle API term
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add scripts/verify-diagram/verify.mjs for visual spot-checking of
rendered diagrams during development. Uses Playwright to render a .mmd
file via the dev server and save a cropped screenshot. Auto-detects
the dev server port from .env, MERMAID_PORT env var, or defaults to
9000. Includes error handling for missing server, render failures, and
timeouts.
Add playwright as a dev dependency to support the verify script.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Right now, the netlify build seems to be failing since we're ignoring
the `mermaid-live-editor` lockfile.
This is causing errors with broken dependencies.
Switching to `pnpm`, which the `mermaid-live-editor` uses, fixes these
issues!
* develop: (99 commits)
Fix spelling
Fix community integrations
Fix docs
docs: Fix config
Update all minor dependencies
Amend docs to document gitgraph parallel commits
Fix lint
Use Yarn Add COREPACK_ENABLE_STRICT
Added link to Blazorade Mermaid to the community integrations page.
Bump node version
Add lcov to cspell
Correcting path to docker-entrypoint.sh
Update recommended Vitest extension
Replace mermaid-js.github.io links
Replace links to docs with links to webhelp
Link to contributing page on webhelp
Changes to timeline.md 1. Added colons to all 'NOTES' for consistency.
Changes to timeline.md 1. Updates the Wikipedia citation to include a link. 2. Removed periods from documentation sections to be consistent (some had periods, some didn't) 3. Added a space to a coding example for spacing consistency.
Replace version number placeholder
Fix link to Contributors section in README
...