Skip to content

Build/test broken #4693

@handrews

Description

@handrews

After the last updates (which I merged b/c @ralfhandl did the very helpful thing of posting test PRs to show it would work), I now can't get tests to pass or the spec to build.

Test output

Here is the test output, starting from a new check-out. AFAICT it's complaining about newlines at the end? But no matter how much I try to paste the "expected" into the files and fiddle with ending newlines (the only detectable difference) it keeps failing.

handrews@ixat src % mkdir new-oas
handrews@ixat src % git clone https://github.com/OAI/OpenAPI-Specification.git new-oas
Cloning into 'new-oas'...
remote: Enumerating objects: 16954, done.
remote: Counting objects: 100% (783/783), done.
remote: Compressing objects: 100% (327/327), done.
remote: Total 16954 (delta 691), reused 467 (delta 456), pack-reused 16171 (from 4)
Receiving objects: 100% (16954/16954), 7.66 MiB | 25.88 MiB/s, done.
Resolving deltas: 100% (10109/10109), done.
handrews@ixat src % cd new-oas 
handrews@ixat new-oas % npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=20.18.1' },
npm WARN EBADENGINE   current: { node: 'v20.12.1', npm: '10.5.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
npm WARN EBADENGINE   current: { node: 'v20.12.1', npm: '10.5.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
npm WARN EBADENGINE   current: { node: 'v20.12.1', npm: '10.5.0' }
npm WARN EBADENGINE }

added 359 packages, and audited 360 packages in 2s

112 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (5 low, 1 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
handrews@ixat new-oas % gc v3.2-dev
branch 'v3.2-dev' set up to track 'origin/v3.2-dev'.
Switched to a new branch 'v3.2-dev'
handrews@ixat new-oas % npm test

> [email protected] test
> c8 --100 vitest --watch=false && bash scripts/schema-test-coverage.sh


 RUN  v3.2.3 /Users/handrews/src/new-oas

 ✓ _archive_/schemas/v3.0/schema.test.mjs (6 tests) 30ms
 ✓ tests/schema/schema.test.mjs (36 tests) 170ms
 ❯ tests/md2html/md2html.test.mjs (2 tests | 2 failed) 621ms
   × md2html > basic-new.md 366ms
     → expected '' to equal '<!DOCTYPE html><html lang="en"><head>…'
   × md2html > basic-old.md 254ms
     → expected '' to equal '<!DOCTYPE html><html lang="en"><head>…'

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  tests/md2html/md2html.test.mjs > md2html > basic-new.md
 FAIL  tests/md2html/md2html.test.mjs > md2html > basic-old.md
AssertionError: expected '' to equal '<!DOCTYPE html><html lang="en"><head>…'

- Expected
+ Received

- <!DOCTYPE html><html lang="en"><head>
- <!-- Global site tag (gtag.js) - Google Analytics -->
- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-831873-42"></script>
- <script>
-  window.dataLayer = window.dataLayer || [];
-  function gtag(){dataLayer.push(arguments);}
-  gtag('js', new Date());
-  gtag('config', 'UA-831873-42');
- </script>
- <meta charset="UTF-8">
- <title>OpenAPI Specification v30.0.1 | Introduction, Definitions, &amp; More</title><meta name="description" content="The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs.">
- <meta name="color-scheme" content="light dark"><script src="../js/respec-w3c.js" class="remove"></script><script class="remove">var respecConfig = {"specStatus":"base","latestVersion":"https://spec.openapis.org/oas/latest.html","thisVersion":"https://spec.openapis.org/oas/v30.0.1.html","canonicalURI":"https://spec.openapis.org/oas/v30.0.1.html","editors":[{"name":"John Doe "},{"name":"Jane Doe "}],"formerEditors":[{"name":"Foo Bar "}],"publishDate":"3001-04-01T00:00:00.000Z","subtitle":"Version 30.0.1","edDraftURI":"https://github.com/OAI/OpenAPI-Specification/","shortName":"OAS","historyURI":null,"lint":false,"logos":[{"src":"https://raw.githubusercontent.com/OAI/OpenAPI-Style-Guide/master/graphics/bitmap/OpenAPI_Logo_Pantone.png","alt":"OpenAPI Initiative","height":48,"url":"https://openapis.org/"}],"otherLinks":[{"key":"Other versions:","data":[{"href":"https://spec.openapis.org/oas/v31.0.0.html"},{"href":"https://spec.openapis.org/oas/v30.0.0.html"}]},{"key":"Participate","data":[{"value":"GitHub OAI/OpenAPI-Specification","href":"https://github.com/OAI/OpenAPI-Specification/"},{"value":"File a bug","href":"https://github.com/OAI/OpenAPI-Specification/issues"},{"value":"Commit history","href":"https://github.com/OAI/OpenAPI-Specification/commits/main/versions/30.0.1.md"},{"value":"Pull requests","href":"https://github.com/OAI/OpenAPI-Specification/pulls"}]}]};</script>
- </head>
- <body><style>#respec-ui {     visibility: hidden; }  #title {     color: #578000; }  #subtitle {     color: #578000; }  .dt-published {     color: #578000; }  .dt-published::before {     content: "Published "; }  h1, h2, h3, h4, h5, h6 {     color: #578000;     font-weight: normal;     font-style: normal; }  a[href] {     color: #45512c; }  body:not(.toc-inline) #toc h2 {     color: #45512c; }  table {     display: block;     width: 100%;     overflow: auto; }  table th {     font-weight: 600; }  table th, table td {     padding: 6px 13px;     border: 1px solid #dfe2e5; }  table tr {     background-color: #fff;     border-top: 1px solid #c6cbd1; }  table tr:nth-child(2n) {     background-color: #f6f8fa; }  pre {     background-color: #f6f8fa !important; }  code {     color: #c83500 }  th code {     color: inherit }  a.bibref {     text-decoration: underline; }  body.darkmode {     --toclink-underline: #6a9000;     --toclink-visited-underline: #fff; }  body.darkmode a, body.darkmode .tocxref, body.darkmode .u-url {     color: #6a9000; }  body.darkmode code {     color: #e66c33; }  body.darkmode:not(.toc-inline) #toc h2, body.darkmode h1, body.darkmode h2, body.darkmode h3, body.darkmode h4, body.darkmode h5, body.darkmode h6, body.darkmode #title, body.darkmode #subtitle, body.darkmode .toc-inline, body.darkmode .dt-published {     color: #7bb01c; }  body.darkmode pre, body.darkmode table tr:nth-child(2n), body.darkmode table tr {     background-color: #1e1e1e !important;     color: #dcdcdc; }  body.darkmode img {     background: transparent; }  body.darkmode .logo img {     display: none; }  body.darkmode .logo::before {     content: "";     display: inline-block;     height: 48px;     width: 175px;     background: url("https://raw.githubusercontent.com/OAI/OpenAPI-Style-Guide/refs/heads/main/graphics/bitmap/OpenAPI_Logo_Pantone.png") no-repeat center / contain;     vertical-align: middle; }  /** This contains the content of the https://www.w3.org/StyleSheets/TR/2021/dark.css file */ body.darkmode {     --text: #ddd;     --bg: black;      /* Absolute URLs due to https://bugs.webkit.org/show_bug.cgi?id=230243 */     --unofficial-watermark: url(https://www.w3.org/StyleSheets/TR/2021/logos/UD-watermark-dark-unofficial);     --draft-watermark: url(https://www.w3.org/StyleSheets/TR/2021/logos/UD-watermark-dark-draft);      --logo-bg: #1a5e9a;     --logo-active-bg: #c00;     --logo-text: white;      --tocnav-normal-text: #999;     --tocnav-normal-bg: var(--bg);     --tocnav-hover-text: var(--tocnav-normal-text);     --tocnav-hover-bg: #080808;     --tocnav-active-text: #f44;     --tocnav-active-bg: var(--tocnav-normal-bg);      --tocsidebar-text: var(--text);     --tocsidebar-bg: #080808;     --tocsidebar-shadow: rgba(255,255,255,.1);     --tocsidebar-heading-text: hsla(203,20%,40%,.7);      --toclink-text: var(--text);     --toclink-underline: #6af;     --toclink-visited-text: var(--toclink-text);     --toclink-visited-underline: #054572;      --heading-text: #8af;      --hr-text: var(--text);      --algo-border: #456;      --del-text: #f44;     --del-bg: transparent;     --ins-text: #4a4;     --ins-bg: transparent;      --a-normal-text: #6af;     --a-normal-underline: #555;     --a-visited-text: var(--a-normal-text);     --a-visited-underline: var(--a-normal-underline);     --a-hover-bg: rgba(25%, 25%, 25%, .2);     --a-active-text: #f44;     --a-active-underline: var(--a-active-text);      --borderedblock-bg: rgba(255, 255, 255, .05);      --blockquote-border: silver;     --blockquote-bg: var(--borderedblock-bg);     --blockquote-text: currentcolor;      --issue-border: #e05252;     --issue-bg: var(--borderedblock-bg);     --issue-text: var(--text);     --issueheading-text: hsl(0deg, 70%, 70%);      --example-border: hsl(50deg, 90%, 60%);     --example-bg: var(--borderedblock-bg);     --example-text: var(--text);     --exampleheading-text: hsl(50deg, 70%, 70%);      --note-border: hsl(120deg, 100%, 35%);     --note-bg: var(--borderedblock-bg);     --note-text: var(--text);     --noteheading-text: hsl(120, 70%, 70%);     --notesummary-underline: silver;      --advisement-border: orange;     --advisement-bg: #222218;     --advisement-text: var(--text);     --advisementheading-text: #f84;      --amendment-border: #330099;     --amendment-bg: var(--borderedblock-bg);     --amendment-text: var(--text);     --amendmentheading-text: #a086ff;      --amendment-border: #330099;     --amendment-bg: #080010;     --amendment-text: var(--text);     --amendmentheading-text: #cc00ff;      --warning-border: red;     --warning-bg: hsla(40,100%,20%,0.95);     --warning-text: var(--text);      --def-border: #8ccbf2;     --def-bg: #080818;     --def-text: var(--text);     --defrow-border: #136;      --datacell-border: silver;      --indexinfo-text: #aaa;      --indextable-hover-text: var(--text);     --indextable-hover-bg: #181818;      --outdatedspec-bg: rgba(255, 255, 255, .5);     --outdatedspec-text: black;     --outdated-bg: maroon;     --outdated-text: white;     --outdated-shadow: red;      --editedrec-bg: darkorange; }/**  * GitHub Gist Theme  * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro  */  .hljs {   display: block;   background: white;   padding: 0.5em;   color: #333333;   overflow-x: auto; }  .hljs-comment, .hljs-meta {   color: #727070; }  .hljs-string, .hljs-variable, .hljs-template-variable, .hljs-strong, .hljs-emphasis, .hljs-quote {   color: #c74700; }  .hljs-number {   color: #005e5e; }  .hljs-keyword, .hljs-selector-tag, .hljs-type {   color: #a71d5d; }  .hljs-literal, .hljs-symbol, .hljs-bullet, .hljs-attribute {   color: #007aa2; }  .hljs-section, .hljs-name {   color: #4b7c46; }  .hljs-tag {   color: #333333; }  .hljs-title, .hljs-attr, .hljs-selector-id, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo {   color: #795da3; }  .hljs-addition {   color: #55a532;   background-color: #eaffea; }  .hljs-deletion {   color: #bd2c00;   background-color: #ffecec; }  .hljs-link {   text-decoration: underline; } </style><h1 id="title">OpenAPI Specification v30.0.1 </h1><p class="copyright">Copyright © 3001 the Linux Foundation</p><section class="notoc" id="abstract"><h2>What is the OpenAPI Specification?</h2>The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.</section><section class="override" id="sotd" data-max-toc="0"><h2>Status of This Document</h2>The source-of-truth for this specification is the HTML file referenced above as <em>This version</em>.</section>
- <section><h1>Heading 1</h1>
- <p>Text for first chapter</p>
- <section class="override" id="conformance"><h2>Version 30.0.1</h2>
- <p>This is the conformance section</p>
- </section></section><section><h1>Heading 2</h1>
- <p>Text for <span id="first-anchor"></span>first section</p>
- </section><section><h1><dfn>Definitions</dfn></h1>
- <section><h2><dfn>Foo</dfn></h2>
- <p>Definition of Foo.</p>
- </section></section><section><h1>Another Heading 2</h1>
- <p>Text for second section</p>
- <p><a href="https://learn.openapis.org/examples/foo.html">Relative link to example</a></p>
- <p><a href="https://github.com/OAI/OpenAPI-Specification/tree/main/something/else">Relative link to something else</a></p>
- <section><h2>Heading 3</h2>
- <p>Text for first subsection</p>
- <p>[[RFC3986]]</p>
- <p>[[RFC9110]] <a href="https://datatracker.ietf.org/doc/html/rfc9110#section-4">Section 4</a></p>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-punctuation">{</span>
-   <span class="hljs-attr">&quot;foo&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span>
- <span class="hljs-punctuation">}</span>
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-attr">foo:</span> <span class="hljs-literal">true</span>
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code>text/plain
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code>no language
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code>unknown language
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code>https://<span class="hljs-attr">foo.com</span>/<span class="hljs-attr">bar</span>?<span class="hljs-attr">baz</span>=<span class="hljs-literal">qux</span>&amp;<span class="hljs-attr">fred</span>=<span class="hljs-literal">waldo</span>#<span class="hljs-attr">fragment</span>
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code>https://foo.com/bar{<span class="hljs-attr">?baz*</span>,<span class="hljs-attr">qux</span>}
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-meta">--boundary-example</span>
- <span class="hljs-literal">Content-Type:<span class="hljs-attr"> application/openapi+yaml</span></span>
- <span class="hljs-literal">Content-Location:<span class="hljs-attr"> https://inaccessible-domain.com/api/openapi.yaml</span></span>
-
- openapi: 3.2.0
- info:
-   title: Example API
-   version: 1.0
-   externalDocs:
-     url: docs.html
-
- <span class="hljs-meta">--boundary-example</span>
- <span class="hljs-literal">Content-Type:<span class="hljs-attr"> text/html</span></span>
- <span class="hljs-literal">Content-Location:<span class="hljs-attr"> https://example.com/api/docs.html</span></span>
-
- &lt;html&gt;
-   &lt;head&gt;
-     &lt;title&gt;API Documentation&lt;/title&gt;
-   &lt;/head&gt;
-   &lt;body&gt;
-     &lt;p&gt;Awesome documentation goes here&lt;/p&gt;
-   &lt;/body&gt;
- &lt;/html&gt;
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-attr">event</span>: addString
- <span class="hljs-attr">data</span>: This data is formatted
- <span class="hljs-attr">data</span>: across two lines
- <span class="hljs-attr">retry</span>: 5
- <span class="hljs-attr">
- event</span>: addNumber
- <span class="hljs-attr">data</span>: 1234.5678
- <span class="hljs-attr">unknownField</span>: this is ignored
- <span class="hljs-attr">
- </span><span class="hljs-comment">: This is a comment</span>
- <span class="hljs-attr">event</span>: addJSON
- <span class="hljs-attr">data</span>: {&quot;foo&quot;: 42}
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;event&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;addString&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;data&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;This data is formatted\nacross two lines&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;retry&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-number">5</span><span class="hljs-punctuation">}</span>
- <span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;event&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;addNumber&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;data&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;1234.5678&quot;</span><span class="hljs-punctuation">}</span>
- <span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;event&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;addJSON&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;data&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;{\&quot;foo\&quot;: 42}&quot;</span><span class="hljs-punctuation">}</span>
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;event&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;addString&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;data&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;This data is formatted\nacross two lines&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;retry&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-number">5</span><span class="hljs-punctuation">}</span>
- <span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;event&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;addNumber&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;data&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;1234.5678&quot;</span><span class="hljs-punctuation">}</span>
- <span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;event&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;addJSON&quot;</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">&quot;data&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;{\&quot;foo\&quot;: 42}&quot;</span><span class="hljs-punctuation">}</span>
- </code></pre>
- <pre class="nohighlight" tabindex="0"><code><span class="hljs-meta">0x1E</span><span class="hljs-punctuation">{</span>
-   <span class="hljs-attr">&quot;timestamp&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;1985-04-12T23:20:50.52Z&quot;</span><span class="hljs-punctuation">,</span>
-   <span class="hljs-attr">&quot;level&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-number">1</span><span class="hljs-punctuation">,</span>
-   <span class="hljs-attr">&quot;message&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Hi!&quot;</span>
- <span class="hljs-punctuation">}</span>
- <span class="hljs-meta">0x1E</span><span class="hljs-punctuation">{</span>
-   <span class="hljs-attr">&quot;timestamp&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;1985-04-12T23:20:51.37Z&quot;</span><span class="hljs-punctuation">,</span>
-   <span class="hljs-attr">&quot;level&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-number">1</span><span class="hljs-punctuation">,</span>
-   <span class="hljs-attr">&quot;message&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Bye!&quot;</span>
- <span class="hljs-punctuation">}</span>
- </code></pre>
- </section></section><section class="appendix"><h1>Appendix A: Revision History</h1>
- <table>
- <thead>
- <tr>
- <th>Version</th>
- <th>Date</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>30.0.1</td>
- <td>3001-04-01</td>
- </tr>
- </tbody>
- </table>
-
-

 ❯ tests/md2html/md2html.test.mjs:26:34
     24|           folder,
     25|         );
     26|         expect(output.stdout).to.equal(expected);
       |                                  ^
     27|       });
     28|     });

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯


 Test Files  1 failed | 2 passed (3)
      Tests  2 failed | 42 passed (44)
   Start at  12:37:21
   Duration  836ms (transform 39ms, setup 0ms, collect 434ms, tests 821ms, environment 0ms, prepare 137ms)

------------|---------|----------|---------|---------|----------------------------------------
File        | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                      
------------|---------|----------|---------|---------|----------------------------------------
All files   |   33.87 |     87.5 |       0 |   33.87 |                                        
 md2html.js |   33.87 |     87.5 |       0 |   33.87 | ...169,172-255,257-272,274-293,296-490 
------------|---------|----------|---------|---------|----------------------------------------
ERROR: Coverage for lines (33.87%) does not meet global threshold (100%)
ERROR: Coverage for functions (0%) does not meet global threshold (100%)
ERROR: Coverage for branches (87.5%) does not meet global threshold (100%)
ERROR: Coverage for statements (33.87%) does not meet global threshold (100%)
handrews@ixat new-oas % 

build-src output

This was run at the last prompt of the previous session, I just split it for readability:

handrews@ixat new-oas % npm run build-src

> [email protected] build-src
> npm run validate-markdown && bash ./scripts/md2html/build.sh src && bash ./scripts/schema-publish.sh src


> [email protected] validate-markdown
> npx markdownlint-cli2 --config spec.markdownlint.yaml src/oas.md && npx markdownlint-cli2 *.md

markdownlint-cli2 v0.18.1 (markdownlint v0.38.0)
Finding: src/oas.md
Linting: 1 file(s)
Summary: 0 error(s)
markdownlint-cli2 v0.18.1 (markdownlint v0.38.0)
Finding: CONTRIBUTING.md EDITORS.md GOVERNANCE.md IMPLEMENTATIONS.md MAINTAINERS.md README.md SECURITY_CONSIDERATIONS.md SPECIAL_INTEREST_GROUPS.md TOB.md style-guide.md
Linting: 10 file(s)
Summary: 0 error(s)
=== Building oas to deploy-preview/oas.html
node:internal/modules/cjs/loader:1203
    throw new ERR_REQUIRE_ESM(filename, true);
    ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/handrews/src/new-oas/node_modules/yargs/index.mjs not supported.
Instead change the require of /Users/handrews/src/new-oas/node_modules/yargs/index.mjs to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/Users/handrews/src/new-oas/scripts/md2html/md2html.js:146:12) {
  code: 'ERR_REQUIRE_ESM'
}

Node.js v20.12.1
[FATAL] Error: 🕵️‍♀️  That doesn't seem to be a ReSpec document. Please check manually: file:///Users/handrews/src/new-oas/deploy-preview/temp/oas.html
    at checkIfReSpec (file:///Users/handrews/src/new-oas/node_modules/respec/tools/respecDocWriter.js:196:11)
    at async toHTML (file:///Users/handrews/src/new-oas/node_modules/respec/tools/respecDocWriter.js:95:5)
    at async run (file:///Users/handrews/src/new-oas/node_modules/respec/tools/respec2html.js:271:38)
    at async file:///Users/handrews/src/new-oas/node_modules/respec/tools/respec2html.js:232:5
sed: deploy-preview/temp/oas-2.html: No such file or directory
=== Built deploy-preview/oas.html
=== Building schemas into ./deploy-preview
 * 2025-05-14: meta.yaml
 * 2025-02-17: dialect.yaml
 * 2025-05-29: schema.yaml
 * 2025-02-17: schema-base.yaml
=== Built
handrews@ixat new-oas % 

Metadata

Metadata

Assignees

Labels

scriptPull requests that update Bash or JavaScript code

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions