diff --git a/.github/workflows/release-preview.yml b/.github/workflows/release-preview.yml new file mode 100644 index 000000000..283c316fb --- /dev/null +++ b/.github/workflows/release-preview.yml @@ -0,0 +1,42 @@ +name: Preview release + +on: + pull_request: + branches: [develop] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number }} + cancel-in-progress: true + +permissions: + contents: read + actions: write + +jobs: + preview: + if: ${{ github.repository_owner == 'mermaid-js' }} + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + issues: write + pull-requests: write + name: Publish preview release + timeout-minutes: 5 + steps: + - name: Checkout Repo + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 + + - name: Setup Node.js + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + with: + cache: pnpm + node-version-file: '.node-version' + + - name: Install Packages + run: pnpm install --frozen-lockfile + + - name: Publish packages + run: pnpx pkg-pr-new publish --pnpm './packages/*' diff --git a/Dockerfile b/Dockerfile index fa933f999..7be53d24e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,9 @@ USER 0:0 RUN corepack enable \ && corepack enable pnpm +RUN apk add --no-cache git~=2.43.4 \ + && git config --add --system safe.directory /mermaid + ENV NODE_OPTIONS="--max_old_space_size=8192" EXPOSE 9000 3333 diff --git a/cypress/integration/rendering/flowchart-v2.spec.js b/cypress/integration/rendering/flowchart-v2.spec.js index 452cdb5a0..66452f4b2 100644 --- a/cypress/integration/rendering/flowchart-v2.spec.js +++ b/cypress/integration/rendering/flowchart-v2.spec.js @@ -786,7 +786,7 @@ A ~~~ B `--- title: Subgraph nodeSpacing and rankSpacing example config: - flowchart: + flowchart: nodeSpacing: 250 rankSpacing: 250 --- @@ -1052,5 +1052,28 @@ end } ); }); + it('Should render self-loops', () => { + imgSnapshotTest( + `flowchart + A --> A + subgraph B + B1 --> B1 + end + subgraph C + subgraph C1 + C2 --> C2 + subgraph D + D1 --> D1 + end + D --> D + end + C1 --> C1 + end + `, + { + flowchart: { subGraphTitleMargin: { top: 10, bottom: 5 } }, + } + ); + }); }); }); diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index a3cbf60bf..80406b939 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -83,8 +83,7 @@
-+--- title: hello2 config: @@ -243,115 +242,7 @@ stateDiagram-v2 ------ - title: hello2 - config: - look: handDrawn - layout: dagre - elk: - nodePlacementStrategy: BRANDES_KOEPF ---- -stateDiagram-v2 - A --> A - state A { - B --> D - state B { - C - } - state D { - E - } - } - - ------ - title: hello2 - config: - look: handDrawn - layout: dagre - elk: - nodePlacementStrategy: BRANDES_KOEPF ---- -flowchart - A --> A - subgraph A - B --> B - subgraph B - C - end - end - - ------ -config: - look: handdrawn - flowchart: - htmlLabels: true ---- -flowchart - A[I am a long text, where do I go??? handdrawn - true] --
---- -config: - flowchart: - htmlLabels: false ---- -flowchart - A[I am a long text, where do I go??? classic - false] --
---- -config: - flowchart: - htmlLabels: true ---- -flowchart - A[I am a long text, where do I go??? classic - true] --
-flowchart LR - id1(Start)-->id2(Stop) - style id1 fill:#f9f,stroke:#333,stroke-width:4px - style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5 - - -- -
- flowchart LR - A:::foo & B:::bar --> C:::foobar - classDef foo stroke:#f00 - classDef bar stroke:#0f0 - classDef ash color:red - class C ash - style C stroke:#00f, fill:black - -- -
- stateDiagram - A:::foo - B:::bar --> C:::foobar - classDef foo stroke:#f00 - classDef bar stroke:#0f0 - style C stroke:#00f, fill:black, color:white - -+