@prauga/flexdoc-backend 2.1.0 → 2.2.0

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.
@@ -1,5 +1,6 @@
1
1
  export interface RendererAssets {
2
2
  javascript: string;
3
3
  css: string;
4
+ version: string;
4
5
  }
5
6
  export declare function getRendererAssets(): RendererAssets;
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.getRendererAssets = getRendererAssets;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const crypto_1 = require("crypto");
39
40
  function findAsset(relativePath) {
40
41
  const candidates = [
41
42
  path.join(__dirname, 'renderer', relativePath),
@@ -51,9 +52,12 @@ let cachedAssets = null;
51
52
  function getRendererAssets() {
52
53
  if (cachedAssets)
53
54
  return cachedAssets;
55
+ const javascript = fs.readFileSync(findAsset('flexdoc.standalone.js'), 'utf8');
56
+ const css = fs.readFileSync(findAsset('flexdoc.standalone.css'), 'utf8');
54
57
  cachedAssets = {
55
- javascript: fs.readFileSync(findAsset('flexdoc.standalone.js'), 'utf8'),
56
- css: fs.readFileSync(findAsset('flexdoc.standalone.css'), 'utf8'),
58
+ javascript,
59
+ css,
60
+ version: (0, crypto_1.createHash)('sha256').update(javascript).update('\0').update(css).digest('hex').slice(0, 16),
57
61
  };
58
62
  return cachedAssets;
59
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-assets.js","sourceRoot":"","sources":["../src/renderer-assets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,8CASC;AAlCD,uCAAyB;AACzB,2CAA6B;AAO7B,SAAS,SAAS,CAAC,YAAoB;IACrC,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,EAAE,YAAY,CAAC;KACtE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qCAAqC,YAAY,gEAAgE,CAClH,CAAC;AACJ,CAAC;AAED,IAAI,YAAY,GAA0B,IAAI,CAAC;AAE/C,SAAgB,iBAAiB;IAC/B,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,YAAY,GAAG;QACb,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACvE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;KAClE,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"renderer-assets.js","sourceRoot":"","sources":["../src/renderer-assets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,8CAYC;AAvCD,uCAAyB;AACzB,2CAA6B;AAC7B,mCAAoC;AAQpC,SAAS,SAAS,CAAC,YAAoB;IACrC,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,EAAE,YAAY,CAAC;KACtE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qCAAqC,YAAY,gEAAgE,CAClH,CAAC;AACJ,CAAC;AAED,IAAI,YAAY,GAA0B,IAAI,CAAC;AAE/C,SAAgB,iBAAiB;IAC/B,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,YAAY,GAAG;QACb,UAAU;QACV,GAAG;QACH,OAAO,EAAE,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACrG,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC"}
package/dist/setup.js CHANGED
@@ -203,11 +203,14 @@ function setupFlexDoc(app, path, options) {
203
203
  app.use(normalizedPath, async (_req, res) => {
204
204
  try {
205
205
  const resolvedSpec = await getSpec();
206
+ const rendererAssets = (0, renderer_assets_1.getRendererAssets)();
206
207
  const html = (0, template_1.generateFlexDocHTML)(resolvedSpec, {
207
208
  ...(flexDocOptions || {}),
208
209
  rendererBasePath,
210
+ rendererVersion: rendererAssets.version,
209
211
  });
210
212
  res.setHeader('Content-Type', 'text/html; charset=utf-8');
213
+ res.setHeader('Cache-Control', 'no-cache');
211
214
  res.send(html);
212
215
  }
213
216
  catch (error) {
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ jest.mock('./renderer-assets', () => ({
10
10
  getRendererAssets: jest.fn().mockReturnValue({
11
11
  javascript: 'window.renderer = true;',
12
12
  css: '.renderer { display: block; }',
13
+ version: 'test-renderer-version',
13
14
  }),
14
15
  }));
15
16
  describe('setupFlexDoc', () => {
@@ -57,7 +58,10 @@ describe('setupFlexDoc', () => {
57
58
  };
58
59
  (0, setup_1.setupFlexDoc)(mockApp, '/docs', { spec });
59
60
  await handlers.get('/docs')(mockReq, mockRes);
60
- expect(template_1.generateFlexDocHTML).toHaveBeenCalledWith(spec, expect.objectContaining({ rendererBasePath: '/docs/__flexdoc' }));
61
+ expect(template_1.generateFlexDocHTML).toHaveBeenCalledWith(spec, expect.objectContaining({
62
+ rendererBasePath: '/docs/__flexdoc',
63
+ rendererVersion: 'test-renderer-version',
64
+ }));
61
65
  expect(mockRes.setHeader).toHaveBeenCalledWith('Content-Type', 'text/html; charset=utf-8');
62
66
  expect(mockRes.send).toHaveBeenCalledWith('<html>Mocked HTML</html>');
63
67
  });
@@ -83,6 +87,7 @@ describe('setupFlexDoc', () => {
83
87
  expect(template_1.generateFlexDocHTML).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({
84
88
  ...flexDocOptions,
85
89
  rendererBasePath: '/docs/__flexdoc',
90
+ rendererVersion: 'test-renderer-version',
86
91
  }));
87
92
  });
88
93
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../src/setup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../src/setup.test.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ interface OpenAPISpec {
10
10
  interface RenderOptions extends FlexDocOptions {
11
11
  specUrl?: string;
12
12
  rendererBasePath?: string;
13
+ rendererVersion?: string;
13
14
  }
14
15
  export declare function generateFlexDocHTML(spec: OpenAPISpec | null, options?: RenderOptions): string;
15
16
  export {};
package/dist/template.js CHANGED
@@ -8,7 +8,8 @@ function serializeForScript(value) {
8
8
  return JSON.stringify(value).replace(/</g, '\\u003c').replace(/>/g, '\\u003e').replace(/&/g, '\\u0026').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
9
9
  }
10
10
  function generateFlexDocHTML(spec, options = {}) {
11
- const { title, description, version, customCss = '', customJs = '', favicon = '', specUrl, rendererBasePath = './__flexdoc', auth: _serverOnlyAuth, ...rendererOptions } = options;
11
+ const { title, description, version, customCss = '', customJs = '', favicon = '', specUrl, rendererBasePath = './__flexdoc', rendererVersion, auth: _serverOnlyAuth, ...rendererOptions } = options;
12
+ const assetVersion = rendererVersion ? `?v=${encodeURIComponent(rendererVersion)}` : '';
12
13
  const documentTitle = title || spec?.info?.title || 'API Documentation';
13
14
  const publicOptions = {
14
15
  contractVersion: '1',
@@ -17,48 +18,48 @@ function generateFlexDocHTML(spec, options = {}) {
17
18
  ...(description ? { description } : {}),
18
19
  ...(version ? { version } : {}),
19
20
  };
20
- return `<!DOCTYPE html>
21
- <html lang="en">
22
- <head>
23
- <meta charset="UTF-8" />
24
- <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
25
- <meta name="color-scheme" content="light dark" />
26
- <title>${escapeHtml(documentTitle)}</title>
27
- ${favicon ? `<link rel="icon" href="${escapeHtml(favicon)}" />` : ''}
28
- <link rel="stylesheet" href="${escapeHtml(rendererBasePath)}/renderer.css" />
29
- ${customCss ? `<style>${customCss}</style>` : ''}
30
- </head>
31
- <body>
32
- <div id="flexdoc-root"></div>
33
- <script>
34
- window.__FLEXDOC_SPEC__ = ${serializeForScript(spec)};
35
- window.__FLEXDOC_SPEC_URL__ = ${serializeForScript(specUrl || null)};
36
- window.__FLEXDOC_OPTIONS__ = ${serializeForScript(publicOptions)};
37
- </script>
38
- <script src="${escapeHtml(rendererBasePath)}/renderer.js"></script>
39
- <script>
40
- (async function bootstrapFlexDoc() {
41
- const root = document.getElementById('flexdoc-root');
42
- try {
43
- let spec = window.__FLEXDOC_SPEC__;
44
- if (!spec && window.__FLEXDOC_SPEC_URL__) {
45
- const response = await fetch(window.__FLEXDOC_SPEC_URL__);
46
- if (!response.ok) throw new Error('Unable to load OpenAPI specification: HTTP ' + response.status);
47
- spec = await response.json();
48
- }
49
- if (!spec) throw new Error('No OpenAPI specification was provided');
50
- if (!window.FlexDocStandalone?.mount) throw new Error('FlexDoc renderer failed to load');
51
- const config = { spec, options: window.__FLEXDOC_OPTIONS__ || {}, baseUri: window.__FLEXDOC_SPEC_URL__ || undefined };
52
- if (window.FlexDocStandalone.mountAsync && config.baseUri) await window.FlexDocStandalone.mountAsync(root, config);
53
- else window.FlexDocStandalone.mount(root, config);
54
- } catch (error) {
55
- root.innerHTML = '<pre style="padding:24px;color:#b91c1c;white-space:pre-wrap"></pre>';
56
- root.firstChild.textContent = error instanceof Error ? error.message : String(error);
57
- }
58
- })();
59
- </script>
60
- ${customJs ? `<script>${customJs}</script>` : ''}
61
- </body>
21
+ return `<!DOCTYPE html>
22
+ <html lang="en">
23
+ <head>
24
+ <meta charset="UTF-8" />
25
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
26
+ <meta name="color-scheme" content="light dark" />
27
+ <title>${escapeHtml(documentTitle)}</title>
28
+ ${favicon ? `<link rel="icon" href="${escapeHtml(favicon)}" />` : ''}
29
+ <link rel="stylesheet" href="${escapeHtml(rendererBasePath)}/renderer.css${assetVersion}" />
30
+ ${customCss ? `<style>${customCss}</style>` : ''}
31
+ </head>
32
+ <body>
33
+ <div id="flexdoc-root"></div>
34
+ <script>
35
+ window.__FLEXDOC_SPEC__ = ${serializeForScript(spec)};
36
+ window.__FLEXDOC_SPEC_URL__ = ${serializeForScript(specUrl || null)};
37
+ window.__FLEXDOC_OPTIONS__ = ${serializeForScript(publicOptions)};
38
+ </script>
39
+ <script src="${escapeHtml(rendererBasePath)}/renderer.js${assetVersion}"></script>
40
+ <script>
41
+ (async function bootstrapFlexDoc() {
42
+ const root = document.getElementById('flexdoc-root');
43
+ try {
44
+ let spec = window.__FLEXDOC_SPEC__;
45
+ if (!spec && window.__FLEXDOC_SPEC_URL__) {
46
+ const response = await fetch(window.__FLEXDOC_SPEC_URL__);
47
+ if (!response.ok) throw new Error('Unable to load OpenAPI specification: HTTP ' + response.status);
48
+ spec = await response.json();
49
+ }
50
+ if (!spec) throw new Error('No OpenAPI specification was provided');
51
+ if (!window.FlexDocStandalone?.mount) throw new Error('FlexDoc renderer failed to load');
52
+ const config = { spec, options: window.__FLEXDOC_OPTIONS__ || {}, baseUri: window.__FLEXDOC_SPEC_URL__ || undefined };
53
+ if (window.FlexDocStandalone.mountAsync && config.baseUri) await window.FlexDocStandalone.mountAsync(root, config);
54
+ else window.FlexDocStandalone.mount(root, config);
55
+ } catch (error) {
56
+ root.innerHTML = '<pre style="padding:24px;color:#b91c1c;white-space:pre-wrap"></pre>';
57
+ root.firstChild.textContent = error instanceof Error ? error.message : String(error);
58
+ }
59
+ })();
60
+ </script>
61
+ ${customJs ? `<script>${customJs}</script>` : ''}
62
+ </body>
62
63
  </html>`;
63
64
  }
64
65
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":";;AAkBA,kDAkEC;AA3ED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClI,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACtK,CAAC;AAGD,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,UAAyB,EAAE;IACvF,MAAM,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,EAAE,EACZ,OAAO,EACP,gBAAgB,GAAG,aAAa,EAChC,IAAI,EAAE,eAAe,EACrB,GAAG,eAAe,EACnB,GAAG,OAAO,CAAC;IAEZ,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,mBAAmB,CAAC;IACxE,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,GAAG;QACpB,GAAG,eAAe;QAClB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;IAEF,OAAO;;;;;;WAME,UAAU,CAAC,aAAa,CAAC;IAChC,OAAO,CAAC,CAAC,CAAC,0BAA0B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;iCACrC,UAAU,CAAC,gBAAgB,CAAC;IACzD,SAAS,CAAC,CAAC,CAAC,UAAU,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE;;;;;gCAKlB,kBAAkB,CAAC,IAAI,CAAC;oCACpB,kBAAkB,CAAC,OAAO,IAAI,IAAI,CAAC;mCACpC,kBAAkB,CAAC,aAAa,CAAC;;iBAEnD,UAAU,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;IAsBzC,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE;;QAE1C,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":";;AAsBA,kDAoEC;AA7ED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClI,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACtK,CAAC;AAGD,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,UAAyB,EAAE;IACvF,MAAM,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,EAAE,EACZ,OAAO,EACP,gBAAgB,GAAG,aAAa,EAChC,eAAe,EACf,IAAI,EAAE,eAAe,EACrB,GAAG,eAAe,EACnB,GAAG,OAAO,CAAC;IACZ,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExF,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,mBAAmB,CAAC;IACxE,MAAM,aAAa,GAAG;QACpB,eAAe,EAAE,GAAG;QACpB,GAAG,eAAe;QAClB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;IAEF,OAAO;;;;;;WAME,UAAU,CAAC,aAAa,CAAC;IAChC,OAAO,CAAC,CAAC,CAAC,0BAA0B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;iCACrC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,YAAY;IACrF,SAAS,CAAC,CAAC,CAAC,UAAU,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE;;;;;gCAKlB,kBAAkB,CAAC,IAAI,CAAC;oCACpB,kBAAkB,CAAC,OAAO,IAAI,IAAI,CAAC;mCACpC,kBAAkB,CAAC,aAAa,CAAC;;iBAEnD,UAAU,CAAC,gBAAgB,CAAC,eAAe,YAAY;;;;;;;;;;;;;;;;;;;;;;IAsBpE,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE;;QAE1C,CAAC;AACT,CAAC"}
@@ -24,6 +24,14 @@ describe('generateFlexDocHTML', () => {
24
24
  expect(html).toContain('"theme":"dark"');
25
25
  expect(html).toContain('"tryIt":{"enabled":true}');
26
26
  });
27
+ it('cache-busts immutable renderer assets when their version changes', () => {
28
+ const html = (0, template_1.generateFlexDocHTML)(null, {
29
+ rendererBasePath: '/docs/__flexdoc',
30
+ rendererVersion: 'abc123',
31
+ });
32
+ expect(html).toContain('/docs/__flexdoc/renderer.css?v=abc123');
33
+ expect(html).toContain('/docs/__flexdoc/renderer.js?v=abc123');
34
+ });
27
35
  it('never exposes route authentication secrets to the browser', () => {
28
36
  const html = (0, template_1.generateFlexDocHTML)(null, { auth: { type: 'basic', secretKey: 'super-secret-do-not-ship' } });
29
37
  expect(html).not.toContain('super-secret-do-not-ship');
@@ -1 +1 @@
1
- {"version":3,"file":"template.test.js","sourceRoot":"","sources":["../src/template.test.ts"],"names":[],"mappings":";;AACA,yCAAiD;AAEjD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,kCAAkC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACxH,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3G,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"template.test.js","sourceRoot":"","sources":["../src/template.test.ts"],"names":[],"mappings":";;AACA,yCAAiD;AAEjD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,kCAAkC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACxH,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE;YACrC,gBAAgB,EAAE,iBAAiB;YACnC,eAAe,EAAE,QAAQ;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3G,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}