diff --git a/subprojects/docs/docusaurus.config.ts b/subprojects/docs/docusaurus.config.ts
index ed5e450eb..62d963a19 100644
--- a/subprojects/docs/docusaurus.config.ts
+++ b/subprojects/docs/docusaurus.config.ts
@@ -52,6 +52,7 @@ export default {
markdownOptions satisfies PagesOptions,
],
'@docusaurus/plugin-sitemap',
+ './src/plugins/loadersPlugin.ts',
'./src/plugins/swcMinifyPlugin.ts',
],
themes: [
diff --git a/subprojects/docs/src/css/custom.css b/subprojects/docs/src/css/custom.css
index f9c14bc4a..51d9e6981 100644
--- a/subprojects/docs/src/css/custom.css
+++ b/subprojects/docs/src/css/custom.css
@@ -125,3 +125,7 @@ code {
.hero__title {
font-weight: 800;
}
+
+.markdown svg {
+ max-width: 100%;
+}
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig1.png b/subprojects/docs/src/learn/tutorials/file-system/fig1.png
deleted file mode 100644
index da30af3c0..000000000
Binary files a/subprojects/docs/src/learn/tutorials/file-system/fig1.png and /dev/null differ
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig1.svg b/subprojects/docs/src/learn/tutorials/file-system/fig1.svg
new file mode 100644
index 000000000..f39a43fe6
--- /dev/null
+++ b/subprojects/docs/src/learn/tutorials/file-system/fig1.svg
@@ -0,0 +1,72 @@
+
+
\ No newline at end of file
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig1.png.license b/subprojects/docs/src/learn/tutorials/file-system/fig1.svg.license
similarity index 100%
rename from subprojects/docs/src/learn/tutorials/file-system/fig1.png.license
rename to subprojects/docs/src/learn/tutorials/file-system/fig1.svg.license
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig2.png b/subprojects/docs/src/learn/tutorials/file-system/fig2.png
deleted file mode 100644
index f42e3d3e0..000000000
Binary files a/subprojects/docs/src/learn/tutorials/file-system/fig2.png and /dev/null differ
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig2.svg b/subprojects/docs/src/learn/tutorials/file-system/fig2.svg
new file mode 100644
index 000000000..f7e85fd52
--- /dev/null
+++ b/subprojects/docs/src/learn/tutorials/file-system/fig2.svg
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+FileSystem::new
+
+FileSystem
+
+
+
+
+
+
+
+
+
+File::new
+
+File
+
+
+
+
+
+
+
+
+
+root
+
+
+
+
+
+
+Dir::new
+
+File
+
+
+Dir
+
+
+
+
+
+
+
+
+
+root
+
+
+
+
+
+
+
+element
+
+
+
+
+resources
+
+File
+
+
+Dir
+
+
+
+
+
+
+
+
+
+
+
+element
+
+
+
+
+root
+
+
+
+
+
+
+
+
+element
+
+
+
+
+
+
+element
+
+
+
+
+
+
+img
+
+File
+
+
+Dir
+
+
+
+
+
+
+
+
+
+element
+
+
+
+
+
+
+element
+
+
+
+
+
+
+element
+
+
+
\ No newline at end of file
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig2.png.license b/subprojects/docs/src/learn/tutorials/file-system/fig2.svg.license
similarity index 100%
rename from subprojects/docs/src/learn/tutorials/file-system/fig2.png.license
rename to subprojects/docs/src/learn/tutorials/file-system/fig2.svg.license
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig3.png b/subprojects/docs/src/learn/tutorials/file-system/fig3.png
deleted file mode 100644
index 9506417a3..000000000
Binary files a/subprojects/docs/src/learn/tutorials/file-system/fig3.png and /dev/null differ
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig3.svg b/subprojects/docs/src/learn/tutorials/file-system/fig3.svg
new file mode 100644
index 000000000..4137e0350
--- /dev/null
+++ b/subprojects/docs/src/learn/tutorials/file-system/fig3.svg
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+FileSystem::new
+
+FileSystem
+exists
+
+
+
+
+
+
+
+
+
+
+
+File::new
+
+File
+exists
+
+
+
+
+
+
+
+
+
+equals
+
+
+
+
+
+
+Dir::new
+
+File
+exists
+
+
+
+
+Dir
+
+
+
+
+
+
+
+
+
+
+equals
+
+
+
+
+
+
+resources
+
+File
+exists
+
+
+
+
+Dir
+
+
+
+
+
+
+
+equals
+
+
+
+
+
+
+
+
+equals
+
+
+
+
+
+
+img
+
+File
+exists
+
+
+
+
+Dir
+
+
+
+
+
+
+
+
+
+
+equals
+
+
+
\ No newline at end of file
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig3.png.license b/subprojects/docs/src/learn/tutorials/file-system/fig3.svg.license
similarity index 100%
rename from subprojects/docs/src/learn/tutorials/file-system/fig3.png.license
rename to subprojects/docs/src/learn/tutorials/file-system/fig3.svg.license
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig4.png b/subprojects/docs/src/learn/tutorials/file-system/fig4.png
deleted file mode 100644
index cc012f240..000000000
Binary files a/subprojects/docs/src/learn/tutorials/file-system/fig4.png and /dev/null differ
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig4.svg b/subprojects/docs/src/learn/tutorials/file-system/fig4.svg
new file mode 100644
index 000000000..704f94049
--- /dev/null
+++ b/subprojects/docs/src/learn/tutorials/file-system/fig4.svg
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+FileSystem::new
+
+FileSystem
+
+
+
+
+
+
+
+
+
+File::new
+
+File
+
+
+
+
+
+
+
+
+
+Dir::new
+
+File
+
+
+
+Dir
+
+
+
+
+
+
+root
+
+
+
+
+
+
+
+
+
+resources
+
+File
+
+
+
+Dir
+
+
+
+
+
+
+
+
+root
+
+
+
+
+
+
+element
+
+
+
+
+
+
+
+element
+
+
+
+
+
+
+img
+
+File
+invalidContainer
+
+
+
+
+
+
+
+
+
+root
+
+
+
+
+
+element
+
+
+
+
+
+
+
+element
+
+
+
+
+
+
+
+element
+
+
+
\ No newline at end of file
diff --git a/subprojects/docs/src/learn/tutorials/file-system/fig4.png.license b/subprojects/docs/src/learn/tutorials/file-system/fig4.svg.license
similarity index 100%
rename from subprojects/docs/src/learn/tutorials/file-system/fig4.png.license
rename to subprojects/docs/src/learn/tutorials/file-system/fig4.svg.license
diff --git a/subprojects/docs/src/learn/tutorials/file-system/index.md b/subprojects/docs/src/learn/tutorials/file-system/index.md
index 1d15512fc..365d0fba2 100644
--- a/subprojects/docs/src/learn/tutorials/file-system/index.md
+++ b/subprojects/docs/src/learn/tutorials/file-system/index.md
@@ -42,7 +42,9 @@ import Link from '@docusaurus/Link';
- Notice that the syntax is essentially identical to [Xcore](https://wiki.eclipse.org/Xcore).
- Review the partial model visualization. You should get something like this:
-![Initial model](fig1.png)
+import Fig1 from './fig1.svg';
+
+
- Add some statements about a partial model:
@@ -64,7 +66,9 @@ File(img).
scope node = 10.
```
-![Partial model extended with new facts](fig2.png)
+import Fig2 from './fig2.svg';
+
+
### Partial models
@@ -72,7 +76,9 @@ scope node = 10.
- Check the disabled `equals` and `exist` predicates. check the visual annotation of those predicates in the visualization (dashed line, shadow).
-![Object existence and equality](fig3.png)
+import Fig3 from './fig3.svg';
+
+
### Information merging
@@ -95,7 +101,9 @@ element(resources, img).
- Inconsistent models parts in a partial model typically make the problem trivially unsatisfiable.
-![Inconsistent partial model](fig4.png)
+import Fig4 from './fig4.svg';
+
+
- However, the model can be saved if the inconsistent part may not exist...
diff --git a/subprojects/docs/src/plugins/loadersPlugin.ts b/subprojects/docs/src/plugins/loadersPlugin.ts
new file mode 100644
index 000000000..284745118
--- /dev/null
+++ b/subprojects/docs/src/plugins/loadersPlugin.ts
@@ -0,0 +1,72 @@
+/*
+ * SPDX-FileCopyrightText: 2024 The Refinery Authors
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+import type { Plugin } from '@docusaurus/types';
+
+export default function loadersPlugin(): Plugin {
+ return {
+ name: 'refinery-loaders-plugin',
+ configureWebpack(config) {
+ let svgoDisabled = false;
+ const rules = [...(config.module?.rules ?? [])];
+ rules.forEach((rule) => {
+ // Compare with
+ // https://github.com/facebook/docusaurus/blob/73016d4936164ba38d4b86ec2aa8c168b5904a21/packages/docusaurus-utils/src/webpackUtils.ts#L128-L166
+ if (
+ typeof rule !== 'object' ||
+ rule === null ||
+ !('test' in rule) ||
+ !(rule.test instanceof RegExp) ||
+ !rule.test.test('.svg') ||
+ !('oneOf' in rule)
+ ) {
+ return;
+ }
+ const {
+ oneOf: [svgLoader],
+ } = rule;
+ if (
+ typeof svgLoader !== 'object' ||
+ svgLoader === null ||
+ !('use' in svgLoader) ||
+ typeof svgLoader.use !== 'object' ||
+ svgLoader.use === null ||
+ !(0 in svgLoader.use)
+ ) {
+ return;
+ }
+ const {
+ use: [loader],
+ } = svgLoader;
+ if (
+ typeof loader !== 'object' ||
+ loader === null ||
+ !('options' in loader)
+ ) {
+ return;
+ }
+ loader.options = {
+ ...(typeof loader.options === 'object' ? loader.options : {}),
+ // Disable SVGO, because it interferes styling figures exported from Refinery with CSS.
+ svgo: false,
+ svgoConfig: undefined,
+ };
+ svgoDisabled = true;
+ });
+ if (!svgoDisabled) {
+ throw new Error('Failed to disable SVGO.');
+ }
+ return {
+ mergeStrategy: {
+ 'module.rules': 'replace',
+ },
+ module: {
+ rules,
+ },
+ };
+ },
+ };
+}
diff --git a/subprojects/frontend/src/graph/export/ExportPanel.tsx b/subprojects/frontend/src/graph/export/ExportPanel.tsx
index c93fa8377..8d82b95c7 100644
--- a/subprojects/frontend/src/graph/export/ExportPanel.tsx
+++ b/subprojects/frontend/src/graph/export/ExportPanel.tsx
@@ -6,6 +6,7 @@
import ChevronRightIcon from '@mui/icons-material/ChevronRight';
import ContentCopyIcon from '@mui/icons-material/ContentCopy';
+import ContrastIcon from '@mui/icons-material/Contrast';
import DarkModeIcon from '@mui/icons-material/DarkMode';
import ImageIcon from '@mui/icons-material/Image';
import InsertDriveFileOutlinedIcon from '@mui/icons-material/InsertDriveFileOutlined';
@@ -50,6 +51,13 @@ const SwitchButtonGroup = styled(ToggleButtonGroup, {
},
}));
+const AutoThemeMessage = styled(Typography, {
+ name: 'ExportPanel-AutoThemeMessage',
+})(({ theme }) => ({
+ width: '260px',
+ marginInline: theme.spacing(2),
+}));
+
function getLabel(value: number): string {
return `${value}%`;
}
@@ -155,29 +163,40 @@ function ExportPanel({
exportSettingsStore.setTheme('light')}
>
Light
exportSettingsStore.setTheme('dark')}
>
Dark
+ {exportSettingsStore.canSetDynamicTheme && (
+ exportSettingsStore.setTheme('dynamic')}
+ >
+ Auto
+
+ )}
- exportSettingsStore.toggleTransparent()}
- />
- }
- label="Transparent background"
- />
+ {exportSettingsStore.canChangeTransparency && (
+ exportSettingsStore.toggleTransparent()}
+ />
+ }
+ label="Transparent background"
+ />
+ )}
{exportSettingsStore.canEmbedFonts && (
)}
+ {exportSettingsStore.theme === 'dynamic' && (
+ <>
+
+ For embedding into HTML directly
+
+
+ Set data-theme="dark"
on a containing element
+ to use a dark theme
+
+ >
+ )}
{exportSettingsStore.canScale && (
();
+ let i = 0;
+ svgDocument.querySelectorAll('[id]').forEach((node) => {
+ const oldId = node.getAttribute('id');
+ if (oldId === null) {
+ return;
+ }
+ if (oldId.endsWith(',clip')) {
+ const newId = `refinery-${id}-clip-${i}`;
+ i += 1;
+ idMap.set(`url(#${oldId})`, `url(#${newId})`);
+ node.setAttribute('id', newId);
+ } else {
+ node.setAttribute('id', '');
+ }
+ });
+ svgDocument.querySelectorAll('[clip-path]').forEach((node) => {
+ const oldPath = node.getAttribute('clip-path');
+ if (oldPath === null) {
+ return;
+ }
+ const newPath = idMap.get(oldPath);
+ if (newPath === undefined) {
+ return;
+ }
+ node.setAttribute('clip-path', newPath);
+ });
+}
+
function addBackground(
svgDocument: XMLDocument,
svg: SVGSVGElement,
@@ -142,40 +173,54 @@ async function fetchVariableFontCSS(): Promise {
return variableFontCSS;
}
+interface ThemeVariant {
+ selector: string;
+ theme: Theme;
+}
+
function appendStyles(
+ id: string,
svgDocument: XMLDocument,
svg: SVGSVGElement,
- theme: Theme,
+ themes: ThemeVariant[],
colorNodes: boolean,
hexTypeHashes: string[],
fontsCSS: string,
): void {
- const cache = createCache({
- key: 'refinery',
- container: svg,
- prepend: true,
- });
- // @ts-expect-error `CSSObject` types don't match up between `@mui/material` and
- // `@emotion/serialize`, but they are compatible in practice.
- const styles = serializeStyles([createGraphTheme], cache.registered, {
- theme,
- colorNodes,
- hexTypeHashes,
- noEmbedIcons: true,
- });
+ const className = `refinery-${id}`;
+ svg.classList.add(className);
const rules: string[] = [fontsCSS];
- const sheet = {
- insert(rule) {
- rules.push(rule);
- },
- } as StyleSheet;
- cache.insert('', styles, sheet, false);
+ themes.forEach(({ selector, theme }) => {
+ const cache = createCache({
+ key: 'refinery',
+ container: svg,
+ prepend: true,
+ });
+ // @ts-expect-error `CSSObject` types don't match up between `@mui/material` and
+ // `@emotion/serialize`, but they are compatible in practice.
+ const styles = serializeStyles([createGraphTheme], cache.registered, {
+ theme,
+ colorNodes,
+ hexTypeHashes,
+ noEmbedIcons: true,
+ });
+ const sheet = {
+ insert(rule) {
+ rules.push(rule);
+ },
+ } as StyleSheet;
+ cache.insert(`${selector} .${className}`, styles, sheet, false);
+ });
const styleElement = svgDocument.createElementNS(SVG_NS, 'style');
svg.prepend(styleElement);
styleElement.innerHTML = rules.join('');
}
-function fixForeignObjects(svgDocument: XMLDocument, svg: SVGSVGElement): void {
+function fixForeignObjects(
+ id: string,
+ svgDocument: XMLDocument,
+ svg: SVGSVGElement,
+): void {
const foreignObjects: SVGForeignObjectElement[] = [];
svg
.querySelectorAll('foreignObject')
@@ -197,7 +242,7 @@ function fixForeignObjects(svgDocument: XMLDocument, svg: SVGSVGElement): void {
object.children[0]?.classList?.forEach((className) => {
useElement.classList.add(className);
if (ICONS.has(className)) {
- useElement.setAttribute('href', `#${className}`);
+ useElement.setAttribute('href', `#refinery-${id}-${className}`);
}
});
object.replaceWith(useElement);
@@ -206,6 +251,7 @@ function fixForeignObjects(svgDocument: XMLDocument, svg: SVGSVGElement): void {
svg.prepend(defs);
ICONS.forEach((value) => {
const importedValue = svgDocument.importNode(value, true);
+ importedValue.id = `refinery-${id}-${importedValue.id}`;
defs.appendChild(importedValue);
});
}
@@ -322,12 +368,37 @@ export default async function exportDiagram(
svgDocument.replaceChild(copyOfSVG, originalRoot);
}
- const theme = settings.theme === 'light' ? lightTheme : darkTheme;
+ const id = nanoid();
+ fixIDs(id, svgDocument);
+
+ let theme: Theme;
+ let themes: ThemeVariant[];
+ if (settings.theme === 'dynamic') {
+ theme = lightTheme;
+ themes = [
+ {
+ selector: '',
+ theme: lightTheme,
+ },
+ {
+ selector: '[data-theme="dark"]',
+ theme: darkTheme,
+ },
+ ];
+ } else {
+ theme = settings.theme === 'light' ? lightTheme : darkTheme;
+ themes = [
+ {
+ selector: '',
+ theme,
+ },
+ ];
+ }
if (!settings.transparent) {
addBackground(svgDocument, copyOfSVG, theme);
}
- fixForeignObjects(svgDocument, copyOfSVG);
+ fixForeignObjects(id, svgDocument, copyOfSVG);
const { colorNodes } = graph;
let fontsCSS = '';
@@ -339,9 +410,10 @@ export default async function exportDiagram(
fontsCSS = await fetchFontCSS();
}
appendStyles(
+ id,
svgDocument,
copyOfSVG,
- theme,
+ themes,
colorNodes,
graph.hexTypeHashes,
fontsCSS,
diff --git a/yarn.lock b/yarn.lock
index 25d0919d5..0dd63986e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3141,93 +3141,107 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-android-arm-eabi@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-android-arm-eabi@npm:4.13.0"
+"@rollup/rollup-android-arm-eabi@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.1"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
-"@rollup/rollup-android-arm64@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-android-arm64@npm:4.13.0"
+"@rollup/rollup-android-arm64@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-android-arm64@npm:4.14.1"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-darwin-arm64@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-darwin-arm64@npm:4.13.0"
+"@rollup/rollup-darwin-arm64@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-darwin-arm64@npm:4.14.1"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-darwin-x64@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-darwin-x64@npm:4.13.0"
+"@rollup/rollup-darwin-x64@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-darwin-x64@npm:4.14.1"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0"
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.1"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-gnu@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.13.0"
+"@rollup/rollup-linux-arm64-gnu@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.1"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-musl@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-linux-arm64-musl@npm:4.13.0"
+"@rollup/rollup-linux-arm64-musl@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.1"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-linux-riscv64-gnu@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.13.0"
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.1"
+ conditions: os=linux & cpu=ppc64le & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-riscv64-gnu@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.1"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-gnu@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-linux-x64-gnu@npm:4.13.0"
+"@rollup/rollup-linux-s390x-gnu@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.1"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-x64-gnu@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.1"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-musl@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-linux-x64-musl@npm:4.13.0"
+"@rollup/rollup-linux-x64-musl@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.1"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-win32-arm64-msvc@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.13.0"
+"@rollup/rollup-win32-arm64-msvc@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.1"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-win32-ia32-msvc@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.13.0"
+"@rollup/rollup-win32-ia32-msvc@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.1"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@rollup/rollup-win32-x64-msvc@npm:4.13.0":
- version: 4.13.0
- resolution: "@rollup/rollup-win32-x64-msvc@npm:4.13.0"
+"@rollup/rollup-win32-x64-msvc@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.1"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -14138,22 +14152,24 @@ __metadata:
linkType: hard
"rollup@npm:^4.13.0":
- version: 4.13.0
- resolution: "rollup@npm:4.13.0"
- dependencies:
- "@rollup/rollup-android-arm-eabi": "npm:4.13.0"
- "@rollup/rollup-android-arm64": "npm:4.13.0"
- "@rollup/rollup-darwin-arm64": "npm:4.13.0"
- "@rollup/rollup-darwin-x64": "npm:4.13.0"
- "@rollup/rollup-linux-arm-gnueabihf": "npm:4.13.0"
- "@rollup/rollup-linux-arm64-gnu": "npm:4.13.0"
- "@rollup/rollup-linux-arm64-musl": "npm:4.13.0"
- "@rollup/rollup-linux-riscv64-gnu": "npm:4.13.0"
- "@rollup/rollup-linux-x64-gnu": "npm:4.13.0"
- "@rollup/rollup-linux-x64-musl": "npm:4.13.0"
- "@rollup/rollup-win32-arm64-msvc": "npm:4.13.0"
- "@rollup/rollup-win32-ia32-msvc": "npm:4.13.0"
- "@rollup/rollup-win32-x64-msvc": "npm:4.13.0"
+ version: 4.14.1
+ resolution: "rollup@npm:4.14.1"
+ dependencies:
+ "@rollup/rollup-android-arm-eabi": "npm:4.14.1"
+ "@rollup/rollup-android-arm64": "npm:4.14.1"
+ "@rollup/rollup-darwin-arm64": "npm:4.14.1"
+ "@rollup/rollup-darwin-x64": "npm:4.14.1"
+ "@rollup/rollup-linux-arm-gnueabihf": "npm:4.14.1"
+ "@rollup/rollup-linux-arm64-gnu": "npm:4.14.1"
+ "@rollup/rollup-linux-arm64-musl": "npm:4.14.1"
+ "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.14.1"
+ "@rollup/rollup-linux-riscv64-gnu": "npm:4.14.1"
+ "@rollup/rollup-linux-s390x-gnu": "npm:4.14.1"
+ "@rollup/rollup-linux-x64-gnu": "npm:4.14.1"
+ "@rollup/rollup-linux-x64-musl": "npm:4.14.1"
+ "@rollup/rollup-win32-arm64-msvc": "npm:4.14.1"
+ "@rollup/rollup-win32-ia32-msvc": "npm:4.14.1"
+ "@rollup/rollup-win32-x64-msvc": "npm:4.14.1"
"@types/estree": "npm:1.0.5"
fsevents: "npm:~2.3.2"
dependenciesMeta:
@@ -14171,8 +14187,12 @@ __metadata:
optional: true
"@rollup/rollup-linux-arm64-musl":
optional: true
+ "@rollup/rollup-linux-powerpc64le-gnu":
+ optional: true
"@rollup/rollup-linux-riscv64-gnu":
optional: true
+ "@rollup/rollup-linux-s390x-gnu":
+ optional: true
"@rollup/rollup-linux-x64-gnu":
optional: true
"@rollup/rollup-linux-x64-musl":
@@ -14187,7 +14207,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: 10c0/90f8cdf9c2115223cbcfe91d932170a85c0928ae1943f45af6877907ea150585b80f656cf2bc471c6f809cb7e158dd85dbea9f91ab4fd5bce0eaf6c3f5f4fd92
+ checksum: 10c0/c9028c04537f7f16f9b5e4d75c84d2f0dc960d280fc4eca5960f0d67e786d993b8b707a63fc8b2e054b018fdb3a5a98d5eb7ed5674635c7612dd0b66696805fa
languageName: node
linkType: hard