diff --git a/.eslintrc.js b/.eslintrc.cjs
similarity index 100%
rename from .eslintrc.js
rename to .eslintrc.cjs
diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index c8a3ab5103..e94ee74f22 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -21,7 +21,7 @@ jobs:
steps:
- name: Initialize Release Please
id: release
- if: ${{ github.event_name == 'push' }}
+ if: ${{ github.event_name == 'push' }}
uses: googleapis/release-please-action@v4
with:
target-branch: ${{ github.ref_name }}
diff --git a/.vitepress/config.ts b/.vitepress/config.ts
index 252e3eccf1..1030c78b9a 100644
--- a/.vitepress/config.ts
+++ b/.vitepress/config.ts
@@ -1,287 +1,47 @@
-import { ApiClass, ApiItem, ApiModel, ApiProperty } from "@microsoft/api-extractor-model";
-import path from "path";
-import { IndentedWriter, writeApiItem } from "./mdWriter";
-
-function getGuideSidebar() {
- return [
- {
- text: "Introduction",
- children: [
- { text: "Getting Started", link: "/README" }
- ]
+import { defineConfig } from "vitepress";
+import { observable } from "@hpcc-js/markdown-it-plugins";
+import { eclLang } from "@hpcc-js/markdown-it-plugins/ecl-lang";
+
+// https://vitepress.dev/reference/site-config
+export default async () => {
+
+ return defineConfig({
+ title: "@hpcc-js/Visualization",
+ description: "HPCC Systems JavaScript Library",
+ base: "/Visualization/",
+ srcDir: ".",
+ rewrites: {
},
- {
- text: "Advanced",
- children: [{ text: "API Reference", link: "/docs/api/hpcc-js" }]
- }
- ];
-}
-
-// Keep in sync with: ../components/README.md
-
-function getComponentsSidebar() {
- return [
- {
- text: "Editors",
- children: [
- { text: "CodeMirror", link: "/components/editor/src/codemirror" },
- { text: "Preview", link: "/components/preview/src/preview" },
- ]
- }, {
- text: "Observable HQ",
- children: [
- { text: "Getting Started", link: "/components/observable/README" },
- { text: "Observable Script", link: "/components/observable/src/observable" },
- ]
- }, {
- text: "Layouts",
- children: [
- { text: "Getting Started", link: "/components/layout/README" },
- { text: "Dock Panel", link: "/components/layout/src/lumino/dockPanel" },
- { text: "Drag and Zoom", link: "/components/layout/src/zoom" },
- { text: "Split Panel", link: "/components/layout/src/lumino/splitPanel" },
- { text: "Tab Panel", link: "/components/layout/src/lumino/tabPanel" },
- ]
- }//, {
- // text: "Visualizations",
- // children: [
- // { text: "Gauge", link: "/components/gauge/src/gauge" },
- // { text: "Half Pie", link: "/components/pie/src/halfpie" },
- // { text: "Observable JS", link: "/components/observable/src/observable" },
- // { text: "Pie", link: "/components/pie/src/pie" },
- // { text: "Quarter Pie", link: "/components/pie/src/quarterpie" },
- // { text: "Sankey", link: "/components/sankey/src/sankey" },
- // { text: "Treemap", link: "/components/treemap/src/treemap" },
- // ]
- // }
- ];
-}
-
-function getVisualizationsSidebar() {
- return [
- {
- text: "Charts",
- children: [
- { text: "Getting Started", link: "/packages/chart/README" },
- { text: "Area", link: "/packages/chart/src/Area" },
- { text: "Bar", link: "/packages/chart/src/Bar" },
- { text: "Bubble", link: "/packages/chart/src/Bubble" },
- { text: "Bullet", link: "/packages/chart/src/Bullet" },
- { text: "Column", link: "/packages/chart/src/Column" },
- { text: "Contour", link: "/packages/chart/src/Contour" },
- { text: "Gantt", link: "/packages/chart/src/Gantt" },
- { text: "Gauge", link: "/packages/chart/src/Gauge" },
- { text: "Half Pie", link: "/packages/chart/src/HalfPie" },
- { text: "Heat", link: "/packages/chart/src/Heat" },
- { text: "Hex Bin", link: "/packages/chart/src/HexBin" },
- { text: "Line", link: "/packages/chart/src/Line" },
- { text: "Pie", link: "/packages/chart/src/Pie" },
- { text: "Quarter Pie", link: "/packages/chart/src/QuarterPie" },
- { text: "Quartile Candlestick", link: "/packages/chart/src/QuartileCandlestick" },
- { text: "Radar", link: "/packages/chart/src/Radar" },
- { text: "Radial Bar", link: "/packages/chart/src/RadialBar" },
- { text: "Scatter", link: "/packages/chart/src/Scatter" },
- { text: "Stat Chart", link: "/packages/chart/src/StatChart" },
- { text: "Step", link: "/packages/chart/src/Step" },
- { text: "Summary", link: "/packages/chart/src/Summary" },
- { text: "Summary (Canvas)", link: "/packages/chart/src/SummaryC" },
- { text: "Word Cloud", link: "/packages/chart/src/WordCloud" },
- { text: "XYAxis", link: "/packages/chart/src/XYAxis" },
- ]
- }, {
- text: "Editors",
- children: [
- { text: "Getting Started", link: "/packages/codemirror/README" },
- ]
- }, {
- text: "Grids",
- children: [
- { text: "Getting Started", link: "/packages/dgrid2/README" },
- { text: "Table", link: "/packages/dgrid2/src/table" },
- ]
- }, {
- text: "Graphs",
- children: [
- { text: "Getting Started", link: "/packages/graph/README" },
- ]
- }, {
- text: "Layouts",
- children: [
- { text: "Getting Started", link: "/packages/layout/README" },
- ]
- }, {
- text: "Geospatial 2D",
- children: [
- { text: "Getting Started", link: "/packages/map/README" },
- ]
- }, {
- text: "Geospatial 3D",
- children: [
- { text: "Getting Started", link: "/packages/map-deck/README" },
- ]
- }, {
- text: "Observable HQ",
- children: [
- { text: "Getting Started", link: "/packages/observablehq-compiler/README" },
- { text: "Compiler", link: "/packages/observablehq-compiler/src/compiler" },
- { text: "Utilities", link: "/packages/observablehq-compiler/src/util" },
- ]
- }, {
- text: "Timelines",
- children: [
- { text: "Getting Started", link: "/packages/timeline/README" },
- ]
- }, {
- text: "Hierarchy",
- children: [
- { text: "Getting Started", link: "/packages/tree/README" },
- ]
- }
- ];
-}
-
-module.exports = {
- lang: "en-US",
- title: "@hpcc-js/Visualization",
- description: "HPCC Systems JavaScript Library",
- base: "/Visualization/",
-
- head: [
- ['link', { rel: 'icon', type: 'image/x-icon', href: '/Visualization/resources/favicon.ico' }],
- ],
+ lastUpdated: true,
+ themeConfig: {
+ // https://vitepress.dev/reference/default-theme-config
+ nav: [
+ { text: "Home", link: "/" },
+ { text: "Getting Started", link: "/README" },
+ ],
+
+ sidebar: [
+ { text: "Getting Started", link: "/README" },
+ {
+ text: "Documentation",
+ items: [
+ ]
+ }
+ ],
- themeConfig: {
- repo: "hpcc-systems/Visualization",
- docsDir: "",
- docsBranch: "trunk",
- editLinks: true,
- editLinkText: "Edit this page on GitHub",
- lastUpdated: "Last Updated",
+ socialLinks: [
+ { icon: "github", link: "https://github.com/hpcc-systems/visualization" }
+ ],
- nav: [
- {
- text: "Guide",
- link: "/README",
- activeMatch: "^/README"
- },
- {
- text: "Web Components",
- link: "/components/README",
- activeMatch: "^/components/"
- },
- {
- text: "Visualizations",
- link: "/packages/README",
- activeMatch: "^/packages/"
+ },
+ markdown: {
+ // https://github.com/vuejs/vitepress/blob/main/src/node/markdown/markdown.ts
+ config: md => {
+ md.use(observable, { vitePress: true });
},
- {
- text: "Release Notes",
- link: "https://github.com/hpcc-systems/Visualization/releases"
- }
- ],
- sidebar: {
- "/README": getGuideSidebar(),
- "/components": getComponentsSidebar(),
- "/packages": getVisualizationsSidebar()
+ languages: [eclLang()],
}
- },
- vue: {
- template: {
- compilerOptions: {
- isCustomElement: (tag) => {
- return tag.toLowerCase().indexOf("hpcc-") === 0;
- }
- }
- }
- },
-
- markdown: {
- config: (md) => {
- const structs: { [id: string]: ApiItem } = {};
- const props: { [id: string]: ApiItem } = {};
-
- let allMeta = {};
- try {
- allMeta = require(path.join(__dirname, "../temp/hpcc-js.meta.json"));
- } catch (e) {
- // File might not exit yet ---
- }
-
- function writeAttributes(struct: ApiItem, writer: IndentedWriter, isAttribute: boolean = true): boolean {
- let retVal = false;
- const structClass = struct as ApiClass;
- // writer.writeLine(struct.displayName);
- const baseClass = structs[structClass.extendsType?.excerpt?.text?.trim()];
- if (baseClass) {
- retVal = writeAttributes(baseClass, writer, isAttribute);
- }
- const classMeta = allMeta[struct.displayName] ?? { observed: {} };
- for (const prop of struct.members) {
- const propMeta = classMeta.observed[prop.displayName];
- if ((prop as ApiProperty).tsdocComment) {
- if (propMeta === undefined || propMeta.isAttribute === isAttribute) {
- if (writeApiItem(prop, { writer }, false)) {
- retVal = true;
- }
- }
- }
- }
- return retVal;
- }
-
- md.core.ruler.before("normalize", "types", function replace(state) {
- const apiModel = new ApiModel();
- let apiPackage;
- try {
- apiPackage = apiModel.loadPackage("./temp/hpcc-js.api.json");
- } catch (e) {
- // File might not exit yet ---
- }
-
- apiPackage?.members.forEach(entyrPoint => {
- for (const struct of entyrPoint.members) {
- // if (struct.displayName.indexOf("HPCC") === 0 && struct.displayName.indexOf("Element") > 0) {
- structs[struct.displayName] = struct;
- for (const prop of struct.members) {
- props[struct.displayName + "." + prop.displayName] = prop;
- }
- // }
- }
- });
-
- for (const key in structs) {
- const struct = structs[key];
- const search = `## \`${key}\``;
- if (state.src.indexOf(search) >= 0) {
- let replacement = "";
- const attrWriter = new IndentedWriter();
- attrWriter.writeLine(`## Attributes`);
- attrWriter.writeLine();
- if (writeAttributes(struct, attrWriter, true)) {
- replacement += attrWriter.toString();
- }
- const propWriter = new IndentedWriter();
- propWriter.writeLine(`## Properties`);
- propWriter.writeLine();
- if (writeAttributes(struct, propWriter, false)) {
- replacement += propWriter.toString();
- }
- state.src = state.src.split(search).join(replacement);
- }
- }
-
- for (const key in props) {
- const search = `### \`${key}\``;
- if (state.src.indexOf(search) >= 0) {
- const prop = props[key];
- const writer = new IndentedWriter();
- writeApiItem(prop, { writer }, false);
- state.src = state.src.split(search).join(writer.toString());
- }
- }
- });
- }
- }
+ });
};
diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts
index 390af7bf08..caa4ebe942 100644
--- a/.vitepress/theme/index.ts
+++ b/.vitepress/theme/index.ts
@@ -1,22 +1,19 @@
-//@ts-ignore
+// https://vitepress.dev/guide/custom-theme
+import { h } from "vue";
+import type { Theme } from "vitepress";
import DefaultTheme from "vitepress/theme";
-
-//@ts-ignore
-if (import.meta.env.MODE === "development") {
- import("../../src/index");
-}
+import RenderComponent from "@hpcc-js/markdown-it-plugins/vitepress/RenderComponent.vue";
+import "@hpcc-js/markdown-it-plugins/vitepress/styles.ts";
export default {
- ...DefaultTheme,
+ extends: DefaultTheme,
+ Layout: () => {
+ return h(DefaultTheme.Layout, null, {
+ // https://vitepress.dev/guide/extending-default-theme#layout-slots
+ });
+ },
enhanceApp({ app }) {
+ app.component("RenderComponent", RenderComponent);
},
- vueOptions: {
- template: {
- compilerOptions: {
- isCustomElement: (tag) => {
- return tag.toLowerCase().indexOf("hpcc-") === 0;
- }
- }
- }
- }
-};
+
+} satisfies Theme;
diff --git a/.vitepress_v2/config.ts b/.vitepress_v2/config.ts
new file mode 100644
index 0000000000..252e3eccf1
--- /dev/null
+++ b/.vitepress_v2/config.ts
@@ -0,0 +1,287 @@
+import { ApiClass, ApiItem, ApiModel, ApiProperty } from "@microsoft/api-extractor-model";
+import path from "path";
+import { IndentedWriter, writeApiItem } from "./mdWriter";
+
+function getGuideSidebar() {
+ return [
+ {
+ text: "Introduction",
+ children: [
+ { text: "Getting Started", link: "/README" }
+ ]
+ },
+ {
+ text: "Advanced",
+ children: [{ text: "API Reference", link: "/docs/api/hpcc-js" }]
+ }
+ ];
+}
+
+// Keep in sync with: ../components/README.md
+
+function getComponentsSidebar() {
+ return [
+ {
+ text: "Editors",
+ children: [
+ { text: "CodeMirror", link: "/components/editor/src/codemirror" },
+ { text: "Preview", link: "/components/preview/src/preview" },
+ ]
+ }, {
+ text: "Observable HQ",
+ children: [
+ { text: "Getting Started", link: "/components/observable/README" },
+ { text: "Observable Script", link: "/components/observable/src/observable" },
+ ]
+ }, {
+ text: "Layouts",
+ children: [
+ { text: "Getting Started", link: "/components/layout/README" },
+ { text: "Dock Panel", link: "/components/layout/src/lumino/dockPanel" },
+ { text: "Drag and Zoom", link: "/components/layout/src/zoom" },
+ { text: "Split Panel", link: "/components/layout/src/lumino/splitPanel" },
+ { text: "Tab Panel", link: "/components/layout/src/lumino/tabPanel" },
+ ]
+ }//, {
+ // text: "Visualizations",
+ // children: [
+ // { text: "Gauge", link: "/components/gauge/src/gauge" },
+ // { text: "Half Pie", link: "/components/pie/src/halfpie" },
+ // { text: "Observable JS", link: "/components/observable/src/observable" },
+ // { text: "Pie", link: "/components/pie/src/pie" },
+ // { text: "Quarter Pie", link: "/components/pie/src/quarterpie" },
+ // { text: "Sankey", link: "/components/sankey/src/sankey" },
+ // { text: "Treemap", link: "/components/treemap/src/treemap" },
+ // ]
+ // }
+ ];
+}
+
+function getVisualizationsSidebar() {
+ return [
+ {
+ text: "Charts",
+ children: [
+ { text: "Getting Started", link: "/packages/chart/README" },
+ { text: "Area", link: "/packages/chart/src/Area" },
+ { text: "Bar", link: "/packages/chart/src/Bar" },
+ { text: "Bubble", link: "/packages/chart/src/Bubble" },
+ { text: "Bullet", link: "/packages/chart/src/Bullet" },
+ { text: "Column", link: "/packages/chart/src/Column" },
+ { text: "Contour", link: "/packages/chart/src/Contour" },
+ { text: "Gantt", link: "/packages/chart/src/Gantt" },
+ { text: "Gauge", link: "/packages/chart/src/Gauge" },
+ { text: "Half Pie", link: "/packages/chart/src/HalfPie" },
+ { text: "Heat", link: "/packages/chart/src/Heat" },
+ { text: "Hex Bin", link: "/packages/chart/src/HexBin" },
+ { text: "Line", link: "/packages/chart/src/Line" },
+ { text: "Pie", link: "/packages/chart/src/Pie" },
+ { text: "Quarter Pie", link: "/packages/chart/src/QuarterPie" },
+ { text: "Quartile Candlestick", link: "/packages/chart/src/QuartileCandlestick" },
+ { text: "Radar", link: "/packages/chart/src/Radar" },
+ { text: "Radial Bar", link: "/packages/chart/src/RadialBar" },
+ { text: "Scatter", link: "/packages/chart/src/Scatter" },
+ { text: "Stat Chart", link: "/packages/chart/src/StatChart" },
+ { text: "Step", link: "/packages/chart/src/Step" },
+ { text: "Summary", link: "/packages/chart/src/Summary" },
+ { text: "Summary (Canvas)", link: "/packages/chart/src/SummaryC" },
+ { text: "Word Cloud", link: "/packages/chart/src/WordCloud" },
+ { text: "XYAxis", link: "/packages/chart/src/XYAxis" },
+ ]
+ }, {
+ text: "Editors",
+ children: [
+ { text: "Getting Started", link: "/packages/codemirror/README" },
+ ]
+ }, {
+ text: "Grids",
+ children: [
+ { text: "Getting Started", link: "/packages/dgrid2/README" },
+ { text: "Table", link: "/packages/dgrid2/src/table" },
+ ]
+ }, {
+ text: "Graphs",
+ children: [
+ { text: "Getting Started", link: "/packages/graph/README" },
+ ]
+ }, {
+ text: "Layouts",
+ children: [
+ { text: "Getting Started", link: "/packages/layout/README" },
+ ]
+ }, {
+ text: "Geospatial 2D",
+ children: [
+ { text: "Getting Started", link: "/packages/map/README" },
+ ]
+ }, {
+ text: "Geospatial 3D",
+ children: [
+ { text: "Getting Started", link: "/packages/map-deck/README" },
+ ]
+ }, {
+ text: "Observable HQ",
+ children: [
+ { text: "Getting Started", link: "/packages/observablehq-compiler/README" },
+ { text: "Compiler", link: "/packages/observablehq-compiler/src/compiler" },
+ { text: "Utilities", link: "/packages/observablehq-compiler/src/util" },
+ ]
+ }, {
+ text: "Timelines",
+ children: [
+ { text: "Getting Started", link: "/packages/timeline/README" },
+ ]
+ }, {
+ text: "Hierarchy",
+ children: [
+ { text: "Getting Started", link: "/packages/tree/README" },
+ ]
+ }
+ ];
+}
+
+module.exports = {
+ lang: "en-US",
+ title: "@hpcc-js/Visualization",
+ description: "HPCC Systems JavaScript Library",
+ base: "/Visualization/",
+
+ head: [
+ ['link', { rel: 'icon', type: 'image/x-icon', href: '/Visualization/resources/favicon.ico' }],
+ ],
+
+ themeConfig: {
+ repo: "hpcc-systems/Visualization",
+ docsDir: "",
+ docsBranch: "trunk",
+ editLinks: true,
+ editLinkText: "Edit this page on GitHub",
+ lastUpdated: "Last Updated",
+
+ nav: [
+ {
+ text: "Guide",
+ link: "/README",
+ activeMatch: "^/README"
+ },
+ {
+ text: "Web Components",
+ link: "/components/README",
+ activeMatch: "^/components/"
+ },
+ {
+ text: "Visualizations",
+ link: "/packages/README",
+ activeMatch: "^/packages/"
+ },
+ {
+ text: "Release Notes",
+ link: "https://github.com/hpcc-systems/Visualization/releases"
+ }
+ ],
+
+ sidebar: {
+ "/README": getGuideSidebar(),
+ "/components": getComponentsSidebar(),
+ "/packages": getVisualizationsSidebar()
+ }
+ },
+
+ vue: {
+ template: {
+ compilerOptions: {
+ isCustomElement: (tag) => {
+ return tag.toLowerCase().indexOf("hpcc-") === 0;
+ }
+ }
+ }
+ },
+
+ markdown: {
+ config: (md) => {
+ const structs: { [id: string]: ApiItem } = {};
+ const props: { [id: string]: ApiItem } = {};
+
+ let allMeta = {};
+ try {
+ allMeta = require(path.join(__dirname, "../temp/hpcc-js.meta.json"));
+ } catch (e) {
+ // File might not exit yet ---
+ }
+
+ function writeAttributes(struct: ApiItem, writer: IndentedWriter, isAttribute: boolean = true): boolean {
+ let retVal = false;
+ const structClass = struct as ApiClass;
+ // writer.writeLine(struct.displayName);
+ const baseClass = structs[structClass.extendsType?.excerpt?.text?.trim()];
+ if (baseClass) {
+ retVal = writeAttributes(baseClass, writer, isAttribute);
+ }
+ const classMeta = allMeta[struct.displayName] ?? { observed: {} };
+ for (const prop of struct.members) {
+ const propMeta = classMeta.observed[prop.displayName];
+ if ((prop as ApiProperty).tsdocComment) {
+ if (propMeta === undefined || propMeta.isAttribute === isAttribute) {
+ if (writeApiItem(prop, { writer }, false)) {
+ retVal = true;
+ }
+ }
+ }
+ }
+ return retVal;
+ }
+
+ md.core.ruler.before("normalize", "types", function replace(state) {
+ const apiModel = new ApiModel();
+ let apiPackage;
+ try {
+ apiPackage = apiModel.loadPackage("./temp/hpcc-js.api.json");
+ } catch (e) {
+ // File might not exit yet ---
+ }
+
+ apiPackage?.members.forEach(entyrPoint => {
+ for (const struct of entyrPoint.members) {
+ // if (struct.displayName.indexOf("HPCC") === 0 && struct.displayName.indexOf("Element") > 0) {
+ structs[struct.displayName] = struct;
+ for (const prop of struct.members) {
+ props[struct.displayName + "." + prop.displayName] = prop;
+ }
+ // }
+ }
+ });
+
+ for (const key in structs) {
+ const struct = structs[key];
+ const search = `## \`${key}\``;
+ if (state.src.indexOf(search) >= 0) {
+ let replacement = "";
+ const attrWriter = new IndentedWriter();
+ attrWriter.writeLine(`## Attributes`);
+ attrWriter.writeLine();
+ if (writeAttributes(struct, attrWriter, true)) {
+ replacement += attrWriter.toString();
+ }
+ const propWriter = new IndentedWriter();
+ propWriter.writeLine(`## Properties`);
+ propWriter.writeLine();
+ if (writeAttributes(struct, propWriter, false)) {
+ replacement += propWriter.toString();
+ }
+ state.src = state.src.split(search).join(replacement);
+ }
+ }
+
+ for (const key in props) {
+ const search = `### \`${key}\``;
+ if (state.src.indexOf(search) >= 0) {
+ const prop = props[key];
+ const writer = new IndentedWriter();
+ writeApiItem(prop, { writer }, false);
+ state.src = state.src.split(search).join(writer.toString());
+ }
+ }
+ });
+ }
+ }
+};
diff --git a/.vitepress/mdWriter.ts b/.vitepress_v2/mdWriter.ts
similarity index 100%
rename from .vitepress/mdWriter.ts
rename to .vitepress_v2/mdWriter.ts
diff --git a/.vitepress_v2/theme/index.ts b/.vitepress_v2/theme/index.ts
new file mode 100644
index 0000000000..390af7bf08
--- /dev/null
+++ b/.vitepress_v2/theme/index.ts
@@ -0,0 +1,22 @@
+//@ts-ignore
+import DefaultTheme from "vitepress/theme";
+
+//@ts-ignore
+if (import.meta.env.MODE === "development") {
+ import("../../src/index");
+}
+
+export default {
+ ...DefaultTheme,
+ enhanceApp({ app }) {
+ },
+ vueOptions: {
+ template: {
+ compilerOptions: {
+ isCustomElement: (tag) => {
+ return tag.toLowerCase().indexOf("hpcc-") === 0;
+ }
+ }
+ }
+ }
+};
diff --git a/index.html b/index.html
deleted file mode 100644
index cf776d1111..0000000000
--- a/index.html
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
- hpcc-js
- ');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/index.md b/index.md
index 447f5ea4f2..06ee0c7a10 100644
--- a/index.md
+++ b/index.md
@@ -1,17 +1,28 @@
---
-home: true
-heroImage: /resources/hpccsystems.png
-heroAlt: HPCC Systems Logo
-heroText: Visualization + Web Component Suite
-tagline: HPCC Systems JavaScript Library
-actionText: Get Started
-actionLink: /README
+# https://vitepress.dev/reference/default-theme-home-page
+layout: home
+
+hero:
+ name: "@hpcc-js"
+ text: Visualization + Web Component Suite
+ tagline: HPCC Systems JavaScript Library
+ image:
+ dark: /resources/hpcc-systems-dark.svg
+ light: /resources/hpcc-systems.svg
+ alt: HPCC Systems Logo
+
+ actions:
+ - theme: brand
+ text: Getting Started
+ link: /README
+
features:
- title: Simplicity First
- details: Integrating Custom Web Components is as easy as adding a .
+ details: Integrating Custom Web Components is as easy as adding a <html-tag>.
- title: Supports HPCC-Platform
details: Includes communication libraries for interacting with the HPCC-Platform (optional).
- title: Works with existing frameworks
details: Standards-based Web Components are the foundation of each visualization, making them compatible with almost any modern web framework.
-footer: Apache-2.0 Licensed | Copyright © 2022 hpccsystems.com
+
+footer: Apache-2.0 Licensed | Copyright © 2024 hpccsystems.com
---
diff --git a/package-lock.json b/package-lock.json
index 9c48a1cbe7..433654266c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "hpcc-js",
- "version": "3.1.2",
+ "version": "2.107.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "hpcc-js",
- "version": "3.1.2",
+ "version": "2.107.0",
"license": "Apache-2.0",
"workspaces": [
"utils/*",
@@ -21,8 +21,8 @@
"packages/dataflow",
"xpackages/ddl-shim",
"xpackages/deck-shim",
- "xpackages/dgrid",
- "xpackages/dgrid-shim",
+ "packages/dgrid",
+ "packages/dgrid-shim",
"xpackages/dgrid2",
"xpackages/eclwatch",
"packages/esbuild-plugins",
@@ -64,18 +64,18 @@
"@microsoft/api-extractor-model": "7.29.8",
"@typescript-eslint/eslint-plugin": "7.18.0",
"@typescript-eslint/parser": "7.18.0",
- "@vitest/browser": "2.1.3",
- "@vitest/coverage-v8": "2.1.3",
+ "@vitest/browser": "2.1.4",
+ "@vitest/coverage-v8": "2.1.4",
"eslint": "8.57.1",
"eslint-plugin-react-hooks": "4.6.2",
"lerna": "8.1.8",
"npm-check-updates": "16.14.20",
"npm-run-all": "4.1.5",
- "playwright": "1.48.1",
+ "playwright": "1.48.2",
"rimraf": "5.0.10",
"typescript": "5.6.3",
- "vitepress": "1.4.1",
- "vitest": "2.1.3"
+ "vitepress": "1.4.2",
+ "vitest": "2.1.4"
}
},
"node_modules/@algolia/autocomplete-core": {
@@ -226,9 +226,9 @@
}
},
"node_modules/@algolia/client-common": {
- "version": "5.10.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.10.2.tgz",
- "integrity": "sha512-eE4OaTlb5KZdCehWmDARq2KEmMF7DEeFLjKqFDcZNb56k1DMSsa9zCQRXZMovlf2AXLsx0A/1q+SGAEgzF7G3w==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.12.0.tgz",
+ "integrity": "sha512-od3WmO8qxyfNhKc+K3D17tvun3IMs/xMNmxCG9MiElAkYVbPPTRUYMkRneCpmJyQI0hNx2/EA4kZgzVfQjO86Q==",
"dev": true,
"license": "MIT",
"peer": true,
@@ -260,17 +260,17 @@
}
},
"node_modules/@algolia/client-search": {
- "version": "5.10.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.10.2.tgz",
- "integrity": "sha512-rGX8uil2uvPycFgtS9Fzwvh4tgKvfFWG5RIh3E77W42HrO66bykCf9jHqhIIlCxdDJih1PuUqBYZIkIAAoSkww==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.12.0.tgz",
+ "integrity": "sha512-R3qzEytgVLHOGNri+bpta6NtTt7YtkvUe/QBcAmMDjW4Jk1P0eBYIPfvnzIPbINRsLxIq9fZs9uAYBgsrts4Zg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@algolia/client-common": "5.10.2",
- "@algolia/requester-browser-xhr": "5.10.2",
- "@algolia/requester-fetch": "5.10.2",
- "@algolia/requester-node-http": "5.10.2"
+ "@algolia/client-common": "5.12.0",
+ "@algolia/requester-browser-xhr": "5.12.0",
+ "@algolia/requester-fetch": "5.12.0",
+ "@algolia/requester-node-http": "5.12.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -357,14 +357,14 @@
}
},
"node_modules/@algolia/requester-browser-xhr": {
- "version": "5.10.2",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.10.2.tgz",
- "integrity": "sha512-gzlfE/H05ggDiEWNi8WaDSRhpE5X8rD1JqYKPPeM31JRI3TutQIKAk3MSUsa1bHM/Di56r2Gm6L1g3ZlZv2ETA==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.12.0.tgz",
+ "integrity": "sha512-KxwleraFuVoEGCoeW6Y1RAEbgBMS7SavqeyzWdtkJc6mXeCOJXn1iZitb8Tyn2FcpMNUKlSm0adrUTt7G47+Ow==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@algolia/client-common": "5.10.2"
+ "@algolia/client-common": "5.12.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -378,28 +378,28 @@
"license": "MIT"
},
"node_modules/@algolia/requester-fetch": {
- "version": "5.10.2",
- "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.10.2.tgz",
- "integrity": "sha512-Q27ciW9WRdq3pUITVlxpHIwe9QWOe+oPvgs8Z+gsv8vMkwXnLfANvSgeZCyQgx3SqzUPzhel0ozVq7Qoh8xIkg==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.12.0.tgz",
+ "integrity": "sha512-FuDZXUGU1pAg2HCnrt8+q1VGHKChV/LhvjvZlLOT7e56GJie6p+EuLu4/hMKPOVuQQ8XXtrTHKIU3Lw+7O5/bQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@algolia/client-common": "5.10.2"
+ "@algolia/client-common": "5.12.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/requester-node-http": {
- "version": "5.10.2",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.10.2.tgz",
- "integrity": "sha512-WMUQ4iFhNnQXC4F1Yj51x8tgIvq5h8jtTLMBs7LbMiW6JhnLHfBVl7IVk6X1fZJO5YcvXW051HN8aFlfAb5QEw==",
+ "version": "5.12.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.12.0.tgz",
+ "integrity": "sha512-ncDDY7CxZhMs6LIoPl+vHFQceIBhYPY5EfuGF1V7beO0U38xfsCYEyutEFB2kRzf4D9Gqppn3iWX71sNtrKcuw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@algolia/client-common": "5.10.2"
+ "@algolia/client-common": "5.12.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -585,6 +585,7 @@
},
"node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0",
+ "extraneous": true,
"inBundle": true,
"license": "MIT",
"engines": {
@@ -605,6 +606,16 @@
"node": ">=0.1.90"
}
},
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/@docsearch/css": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.2.tgz",
@@ -1266,6 +1277,14 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"license": "MIT"
},
+ "node_modules/@hpcc-js/dgrid": {
+ "resolved": "packages/dgrid",
+ "link": true
+ },
+ "node_modules/@hpcc-js/dgrid-shim": {
+ "resolved": "packages/dgrid-shim",
+ "link": true
+ },
"node_modules/@hpcc-js/esbuild-plugins": {
"resolved": "packages/esbuild-plugins",
"link": true
@@ -1605,6 +1624,17 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
@@ -3989,9 +4019,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.2.tgz",
- "integrity": "sha512-ufoveNTKDg9t/b7nqI3lwbCG/9IJMhADBNjjz/Jn6LxIZxD7T5L8l2uO/wD99945F1Oo8FvgbbZJRguyk/BdzA==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz",
+ "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==",
"cpu": [
"arm"
],
@@ -4002,9 +4032,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.2.tgz",
- "integrity": "sha512-iZoYCiJz3Uek4NI0J06/ZxUgwAfNzqltK0MptPDO4OR0a88R4h0DSELMsflS6ibMCJ4PnLvq8f7O1d7WexUvIA==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz",
+ "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==",
"cpu": [
"arm64"
],
@@ -4015,9 +4045,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.2.tgz",
- "integrity": "sha512-/UhrIxobHYCBfhi5paTkUDQ0w+jckjRZDZ1kcBL132WeHZQ6+S5v9jQPVGLVrLbNUebdIRpIt00lQ+4Z7ys4Rg==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz",
+ "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==",
"cpu": [
"arm64"
],
@@ -4028,9 +4058,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.2.tgz",
- "integrity": "sha512-1F/jrfhxJtWILusgx63WeTvGTwE4vmsT9+e/z7cZLKU8sBMddwqw3UV5ERfOV+H1FuRK3YREZ46J4Gy0aP3qDA==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz",
+ "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==",
"cpu": [
"x64"
],
@@ -4041,9 +4071,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.2.tgz",
- "integrity": "sha512-1YWOpFcGuC6iGAS4EI+o3BV2/6S0H+m9kFOIlyFtp4xIX5rjSnL3AwbTBxROX0c8yWtiWM7ZI6mEPTI7VkSpZw==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz",
+ "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==",
"cpu": [
"arm64"
],
@@ -4054,9 +4084,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.2.tgz",
- "integrity": "sha512-3qAqTewYrCdnOD9Gl9yvPoAoFAVmPJsBvleabvx4bnu1Kt6DrB2OALeRVag7BdWGWLhP1yooeMLEi6r2nYSOjg==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz",
+ "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==",
"cpu": [
"x64"
],
@@ -4067,9 +4097,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.2.tgz",
- "integrity": "sha512-ArdGtPHjLqWkqQuoVQ6a5UC5ebdX8INPuJuJNWRe0RGa/YNhVvxeWmCTFQ7LdmNCSUzVZzxAvUznKaYx645Rig==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz",
+ "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==",
"cpu": [
"arm"
],
@@ -4080,9 +4110,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.2.tgz",
- "integrity": "sha512-B6UHHeNnnih8xH6wRKB0mOcJGvjZTww1FV59HqJoTJ5da9LCG6R4SEBt6uPqzlawv1LoEXSS0d4fBlHNWl6iYw==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz",
+ "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==",
"cpu": [
"arm"
],
@@ -4093,9 +4123,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.2.tgz",
- "integrity": "sha512-kr3gqzczJjSAncwOS6i7fpb4dlqcvLidqrX5hpGBIM1wtt0QEVtf4wFaAwVv8QygFU8iWUMYEoJZWuWxyua4GQ==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz",
+ "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==",
"cpu": [
"arm64"
],
@@ -4106,9 +4136,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.2.tgz",
- "integrity": "sha512-TDdHLKCWgPuq9vQcmyLrhg/bgbOvIQ8rtWQK7MRxJ9nvaxKx38NvY7/Lo6cYuEnNHqf6rMqnivOIPIQt6H2AoA==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz",
+ "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==",
"cpu": [
"arm64"
],
@@ -4119,9 +4149,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.2.tgz",
- "integrity": "sha512-xv9vS648T3X4AxFFZGWeB5Dou8ilsv4VVqJ0+loOIgDO20zIhYfDLkk5xoQiej2RiSQkld9ijF/fhLeonrz2mw==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.3.tgz",
+ "integrity": "sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g==",
"cpu": [
"ppc64"
],
@@ -4132,9 +4162,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.2.tgz",
- "integrity": "sha512-tbtXwnofRoTt223WUZYiUnbxhGAOVul/3StZ947U4A5NNjnQJV5irKMm76G0LGItWs6y+SCjUn/Q0WaMLkEskg==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz",
+ "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==",
"cpu": [
"riscv64"
],
@@ -4145,9 +4175,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.2.tgz",
- "integrity": "sha512-gc97UebApwdsSNT3q79glOSPdfwgwj5ELuiyuiMY3pEWMxeVqLGKfpDFoum4ujivzxn6veUPzkGuSYoh5deQ2Q==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz",
+ "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==",
"cpu": [
"s390x"
],
@@ -4158,9 +4188,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.2.tgz",
- "integrity": "sha512-jOG/0nXb3z+EM6SioY8RofqqmZ+9NKYvJ6QQaa9Mvd3RQxlH68/jcB/lpyVt4lCiqr04IyaC34NzhUqcXbB5FQ==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz",
+ "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==",
"cpu": [
"x64"
],
@@ -4171,9 +4201,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.2.tgz",
- "integrity": "sha512-XAo7cJec80NWx9LlZFEJQxqKOMz/lX3geWs2iNT5CHIERLFfd90f3RYLLjiCBm1IMaQ4VOX/lTC9lWfzzQm14Q==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz",
+ "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==",
"cpu": [
"x64"
],
@@ -4184,9 +4214,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.2.tgz",
- "integrity": "sha512-A+JAs4+EhsTjnPQvo9XY/DC0ztaws3vfqzrMNMKlwQXuniBKOIIvAAI8M0fBYiTCxQnElYu7mLk7JrhlQ+HeOw==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz",
+ "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==",
"cpu": [
"arm64"
],
@@ -4197,9 +4227,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.2.tgz",
- "integrity": "sha512-ZhcrakbqA1SCiJRMKSU64AZcYzlZ/9M5LaYil9QWxx9vLnkQ9Vnkve17Qn4SjlipqIIBFKjBES6Zxhnvh0EAEw==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz",
+ "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==",
"cpu": [
"ia32"
],
@@ -4210,9 +4240,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.2.tgz",
- "integrity": "sha512-2mLH46K1u3r6uwc95hU+OR9q/ggYMpnS7pSp83Ece1HUQgF9Nh/QwTK5rcgbFnV9j+08yBrU5sA/P0RK2MSBNA==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz",
+ "integrity": "sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==",
"cpu": [
"x64"
],
@@ -4832,6 +4862,13 @@
"@types/d3-selection": "^1"
}
},
+ "node_modules/@types/dojo": {
+ "version": "1.9.48",
+ "resolved": "https://registry.npmjs.org/@types/dojo/-/dojo-1.9.48.tgz",
+ "integrity": "sha512-+/wltO++J0mmLoPa+mqElzilBahIfSY5Lz3o7RJkyIB0GDPnWhw3RUxU+xuZRCJE7uOFnNgqTdL76n/E0wDJ5w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/estree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
@@ -4869,6 +4906,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/linkify-it": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
@@ -4916,9 +4960,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "18.19.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.60.tgz",
- "integrity": "sha512-cYRj7igVqgxhlHFdBHHpU2SNw3+dN2x0VTZJtLYk6y/ieuGN4XiBgtDjYVktM/yk2y/8pKMileNc6IoEzEJnUw==",
+ "version": "18.19.61",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.61.tgz",
+ "integrity": "sha512-z8fH66NcVkDzBItOao+Nyh0fiy7CYdxIyxnNCcZ60aY0I+EA/y4TSi/S/W9i8DIQvwVo7a0pgzAxmDeNnqrpkw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5234,19 +5278,19 @@
}
},
"node_modules/@vitest/browser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-2.1.3.tgz",
- "integrity": "sha512-PQ2kLLc9q8ukJutuuYsynHSr31E78/dtYEvPy4jCHLht1LmITqXTVTqu7THWdZ1kXNGrWwtdMqtt3z2mvSKdIg==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-2.1.4.tgz",
+ "integrity": "sha512-89SrvShW6kWzmEYtBj5k1gBq88emoC2qrngw5hE1vNpRFteQ5/1URbKIVww391rIALTpzhhCt5yJt5tjLPZxYw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@testing-library/dom": "^10.4.0",
"@testing-library/user-event": "^14.5.2",
- "@vitest/mocker": "2.1.3",
- "@vitest/utils": "2.1.3",
- "magic-string": "^0.30.11",
- "msw": "^2.3.5",
- "sirv": "^2.0.4",
+ "@vitest/mocker": "2.1.4",
+ "@vitest/utils": "2.1.4",
+ "magic-string": "^0.30.12",
+ "msw": "^2.5.0",
+ "sirv": "^3.0.0",
"tinyrainbow": "^1.2.0",
"ws": "^8.18.0"
},
@@ -5255,7 +5299,7 @@
},
"peerDependencies": {
"playwright": "*",
- "vitest": "2.1.3",
+ "vitest": "2.1.4",
"webdriverio": "*"
},
"peerDependenciesMeta": {
@@ -5271,21 +5315,21 @@
}
},
"node_modules/@vitest/coverage-v8": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.3.tgz",
- "integrity": "sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.4.tgz",
+ "integrity": "sha512-FPKQuJfR6VTfcNMcGpqInmtJuVXFSCd9HQltYncfR01AzXhLucMEtQ5SinPdZxsT5x/5BK7I5qFJ5/ApGCmyTQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.3.0",
"@bcoe/v8-coverage": "^0.2.3",
- "debug": "^4.3.6",
+ "debug": "^4.3.7",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-lib-source-maps": "^5.0.6",
"istanbul-reports": "^3.1.7",
- "magic-string": "^0.30.11",
- "magicast": "^0.3.4",
+ "magic-string": "^0.30.12",
+ "magicast": "^0.3.5",
"std-env": "^3.7.0",
"test-exclude": "^7.0.1",
"tinyrainbow": "^1.2.0"
@@ -5294,8 +5338,8 @@
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "@vitest/browser": "2.1.3",
- "vitest": "2.1.3"
+ "@vitest/browser": "2.1.4",
+ "vitest": "2.1.4"
},
"peerDependenciesMeta": {
"@vitest/browser": {
@@ -5304,15 +5348,15 @@
}
},
"node_modules/@vitest/expect": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.3.tgz",
- "integrity": "sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.4.tgz",
+ "integrity": "sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "2.1.3",
- "@vitest/utils": "2.1.3",
- "chai": "^5.1.1",
+ "@vitest/spy": "2.1.4",
+ "@vitest/utils": "2.1.4",
+ "chai": "^5.1.2",
"tinyrainbow": "^1.2.0"
},
"funding": {
@@ -5320,22 +5364,21 @@
}
},
"node_modules/@vitest/mocker": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.3.tgz",
- "integrity": "sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.4.tgz",
+ "integrity": "sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "2.1.3",
+ "@vitest/spy": "2.1.4",
"estree-walker": "^3.0.3",
- "magic-string": "^0.30.11"
+ "magic-string": "^0.30.12"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "@vitest/spy": "2.1.3",
- "msw": "^2.3.5",
+ "msw": "^2.4.9",
"vite": "^5.0.0"
},
"peerDependenciesMeta": {
@@ -5348,9 +5391,9 @@
}
},
"node_modules/@vitest/pretty-format": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz",
- "integrity": "sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.4.tgz",
+ "integrity": "sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5361,13 +5404,13 @@
}
},
"node_modules/@vitest/runner": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.3.tgz",
- "integrity": "sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.4.tgz",
+ "integrity": "sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "2.1.3",
+ "@vitest/utils": "2.1.4",
"pathe": "^1.1.2"
},
"funding": {
@@ -5375,14 +5418,14 @@
}
},
"node_modules/@vitest/snapshot": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.3.tgz",
- "integrity": "sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.4.tgz",
+ "integrity": "sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "2.1.3",
- "magic-string": "^0.30.11",
+ "@vitest/pretty-format": "2.1.4",
+ "magic-string": "^0.30.12",
"pathe": "^1.1.2"
},
"funding": {
@@ -5390,27 +5433,27 @@
}
},
"node_modules/@vitest/spy": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.3.tgz",
- "integrity": "sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.4.tgz",
+ "integrity": "sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "tinyspy": "^3.0.0"
+ "tinyspy": "^3.0.2"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/utils": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz",
- "integrity": "sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz",
+ "integrity": "sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "2.1.3",
- "loupe": "^3.1.1",
+ "@vitest/pretty-format": "2.1.4",
+ "loupe": "^3.1.2",
"tinyrainbow": "^1.2.0"
},
"funding": {
@@ -5486,23 +5529,23 @@
}
},
"node_modules/@vue/devtools-api": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.5.4.tgz",
- "integrity": "sha512-j9UC/KeYUNZ6AyCJxBROBCbogB5YHW6PZv9VnCNp2ntE4rq426Lfc8WP5B9V+rXBwqWmrgZTGYBa31CBSxdAUg==",
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.5.6.tgz",
+ "integrity": "sha512-/7ov2ioU80fYcYENEJXp88l88gX1PJCGJdMtQmUV3VQmGgQvKrpeUoPWgkpXPkUxmAquh6PZnVtXeDpTX5mmLg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/devtools-kit": "^7.5.4"
+ "@vue/devtools-kit": "^7.5.6"
}
},
"node_modules/@vue/devtools-kit": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.5.4.tgz",
- "integrity": "sha512-0i7WFgc1B2TL52tstn82zlb9opSA0aIiHfkUYFXtZb8CIpmlFMTkHtgwVl6PMWNBj3LNhYou1YJCLpCYvJYYoA==",
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.5.6.tgz",
+ "integrity": "sha512-44qr4/l9BsNP5hKETucueP8SKkyDZBHEurV4pQnRWs906OG9f2aYWhk4vL+27tsB4ZoWJM2h3RLhygzeeKZzWg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/devtools-shared": "^7.5.4",
+ "@vue/devtools-shared": "^7.5.6",
"birpc": "^0.2.19",
"hookable": "^5.5.3",
"mitt": "^3.0.1",
@@ -5512,9 +5555,9 @@
}
},
"node_modules/@vue/devtools-shared": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.5.4.tgz",
- "integrity": "sha512-dwuq4YmwTyLc7eBOqX63s3JB8il7qnKsNgENglSMkUPwiItHkVAYYfPESN1rxSdYkl1RCux1l5TBidYqfUDNAA==",
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.5.6.tgz",
+ "integrity": "sha512-5iq/BF6f05JTcC7J/1DTUm4CpyVVB4KiyLAo/fDcoyWR7EulharWQVbr6W7ek5lO23f5mbnJ+adA5tfFTJt6Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5763,6 +5806,214 @@
}
}
},
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+ "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+ "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+ "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+ "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-opt": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1",
+ "@webassemblyjs/wast-printer": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+ "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+ "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+ "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+ "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webpack-cli/configtest": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+ "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/info": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
+ "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/serve": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
+ "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ },
+ "peerDependenciesMeta": {
+ "webpack-dev-server": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@xmldom/is-dom-node": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@xmldom/is-dom-node/-/is-dom-node-1.0.1.tgz",
@@ -5774,15 +6025,28 @@
}
},
"node_modules/@xmldom/xmldom": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.4.tgz",
- "integrity": "sha512-zglELfWx7g1cEpVMRBZ0srIQO5nEvKvraJ6CVUC/c5Ky1GgX8OIjtUj5qOweTYULYZo5VnXs/LpUUUNiGpX/rA==",
- "deprecated": "this version has critical issues, please update to the latest version",
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.5.tgz",
+ "integrity": "sha512-6g1EwSs8cr8JhP1iBxzyVAWM6BIDvx9Y3FZRIQiMDzgG43Pxi8YkWOZ0nQj2NHgNzgXDZbJewFx/n+YAvMZrfg==",
"license": "MIT",
"engines": {
"node": ">=14.6"
}
},
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
"node_modules/@yarnpkg/lockfile": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
@@ -5858,6 +6122,16 @@
"node": ">=0.4.0"
}
},
+ "node_modules/acorn-import-attributes": {
+ "version": "1.9.5",
+ "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+ "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -6138,9 +6412,9 @@
}
},
"node_modules/apache-arrow/node_modules/@types/node": {
- "version": "20.17.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.2.tgz",
- "integrity": "sha512-OOHK4sjXqkL7yQ7VEEHcf6+0jSvKjWqwnaCtY7AKD/VLEvRHMsxxu7eI8ErnjxHS8VwmekD4PeVCpu4qZEZSxg==",
+ "version": "20.17.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.3.tgz",
+ "integrity": "sha512-tSQrmKKatLDGnG92h40GD7FzUt0MjahaHwOME4VAFeeA/Xopayq5qLyQRy7Jg/pjgKIFBXuKcGhJo+UdYG55jQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6409,6 +6683,16 @@
"require-from-string": "^2.0.2"
}
},
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/bin-links": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz",
@@ -6618,6 +6902,39 @@
"node": ">=8"
}
},
+ "node_modules/browserslist": {
+ "version": "4.24.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
+ "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001669",
+ "electron-to-chromium": "^1.5.41",
+ "node-releases": "^2.0.18",
+ "update-browserslist-db": "^1.1.1"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
@@ -6809,6 +7126,27 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001675",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001675.tgz",
+ "integrity": "sha512-/wV1bQwPrkLiQMjaJF5yUMVM/VdRPOCU8QZ+PmG6uW6DvYSrNY1bpwHI/3mOcUosLaJCzYDi5o91IQB51ft6cg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
"node_modules/ccount": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
@@ -6931,6 +7269,16 @@
"node": ">=10"
}
},
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
"node_modules/ci-info": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
@@ -7141,6 +7489,13 @@
}
]
},
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/columnify": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz",
@@ -8521,6 +8876,13 @@
"wrappy": "1"
}
},
+ "node_modules/dgrid": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/dgrid/-/dgrid-1.3.3.tgz",
+ "integrity": "sha512-k7k8w/WTXf2I0soYX/MwcieAelxQHhxlxqfDdTcIf1+9dLm1dYUyARmJhO/eEZSI1Ee2zTZzMHADC0MghZOZfg==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
"node_modules/diff-sequences": {
"version": "29.6.3",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
@@ -8531,6 +8893,27 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/dijit": {
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/dijit/-/dijit-1.17.3.tgz",
+ "integrity": "sha512-QS+1bNhPT+BF9E+iomQSi5qI+o3oUNSx1r5TF8WlGH4LybGZP+IIGJBOO5/41YduBPljVXhY7vaPsgrycxC6UQ==",
+ "dev": true,
+ "license": "BSD-3-Clause OR AFL-2.1",
+ "dependencies": {
+ "dojo": "1.17.3"
+ }
+ },
+ "node_modules/dijit-themes": {
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/dijit-themes/-/dijit-themes-1.17.3.tgz",
+ "integrity": "sha512-AxQvinSkvA0PyOszdNIhIQdmF0PS0s9hqBnXRgKMZPkLT6ody4k1+SdHhs6Eq0zKVKnQXcZLxHnx07AtnU7FEQ==",
+ "dev": true,
+ "license": "BSD-3-Clause OR AFL-2.1",
+ "peerDependencies": {
+ "dijit": "1.17.3",
+ "dojo": "1.17.3"
+ }
+ },
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -8557,17 +8940,83 @@
"node": ">=6.0.0"
}
},
- "node_modules/dom-accessibility-api": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
- "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
+ "node_modules/dojo": {
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/dojo/-/dojo-1.17.3.tgz",
+ "integrity": "sha512-iWDx1oSfCEDnIrs8cMW7Zh9Fbjgxu8iRagFz+Qi2eya3MXIAxFXKhv2A7dpi+bfpMpFozLwcsLV8URLw6BsHsA==",
"dev": true,
- "license": "MIT"
+ "license": "BSD-3-Clause OR AFL-2.1"
},
- "node_modules/dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "node_modules/dojo-dstore": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/dojo-dstore/-/dojo-dstore-1.2.1.tgz",
+ "integrity": "sha512-xOgHXNGEdRn+cNvHK6Mf9gU07YPy8MXwZ74Nd7rKVMFxu0/uZOThGljWBdU3bJvhRMzI4IPVTTAOXv/FGGKC4g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@types/dojo": "^1.9.0",
+ "dojo": "^1.9.0"
+ }
+ },
+ "node_modules/dojo-util": {
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/dojo-util/-/dojo-util-1.17.3.tgz",
+ "integrity": "sha512-3hZMwVh9XmofCJh3v3epTlODTnk3FJoGHZiZKVlbhvYLtRC8pkLg6zitOpT2Zg4Jn5URYmPrMmAdwxRHrG736A==",
+ "dev": true
+ },
+ "node_modules/dojo-webpack-plugin": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/dojo-webpack-plugin/-/dojo-webpack-plugin-3.0.6.tgz",
+ "integrity": "sha512-alyVD0Oa8Og2mCJo5PX07oNHb2Qp60sXZ7+xtkRnAIIenkR2iiQhW5VUeUq4LCCWyjtzyfNJQvlCHva/YusQnQ==",
+ "dev": true,
+ "license": "(MIT OR Apache-2.0)",
+ "dependencies": {
+ "loader-utils": "2.0.4",
+ "node-stringify": "0.2.1",
+ "raw-loader": "0.5.1",
+ "tmp": "0.0.30"
+ },
+ "peerDependencies": {
+ "tapable": ">=2.0",
+ "webpack": ">=5.0.0",
+ "webpack-sources": ">=2.0.0"
+ }
+ },
+ "node_modules/dojo-webpack-plugin/node_modules/tmp": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
+ "integrity": "sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-tmpdir": "~1.0.1"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dojox": {
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/dojox/-/dojox-1.17.3.tgz",
+ "integrity": "sha512-n2SvGoVTZlOQUQmoqEfW6oGAfmyBtjl4DzWkxoojdTxBq8O0r7pDKBrW3nRrpQW9uZFHfB1XIA3BXS0cnrue/Q==",
+ "dev": true,
+ "license": "BSD-3-Clause OR AFL-2.1",
+ "dependencies": {
+ "dijit": "1.17.3",
+ "dojo": "1.17.3"
+ }
+ },
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
+ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8692,12 +9141,29 @@
"node": ">=0.10.0"
}
},
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.49",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz",
+ "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
@@ -8742,6 +9208,20 @@
"once": "^1.4.0"
}
},
+ "node_modules/enhanced-resolve": {
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+ "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -9303,6 +9783,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
"node_modules/execa": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
@@ -9327,6 +9817,16 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/expect-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz",
+ "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/exponential-backoff": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz",
@@ -9449,6 +9949,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@@ -10316,6 +10826,13 @@
"node": ">=10.13.0"
}
},
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
"node_modules/glob/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
@@ -11134,6 +11651,16 @@
"node": ">=12"
}
},
+ "node_modules/interpret": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/ip-address": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
@@ -11651,6 +12178,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -11912,6 +12440,21 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
"node_modules/jju": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz",
@@ -12671,6 +13214,31 @@
"node": ">=8"
}
},
+ "node_modules/loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.11.5"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -13615,9 +14183,9 @@
"license": "MIT"
},
"node_modules/msw": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/msw/-/msw-2.5.2.tgz",
- "integrity": "sha512-eBsFgU30NYtrfC62XzS1rdAzFK+Br0zKU4ORqD9Qliq86362DWZyPiD6FLfMgy0Ktik83DPTXmqPMz2bqwmJdA==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/msw/-/msw-2.6.0.tgz",
+ "integrity": "sha512-n3tx2w0MZ3H4pxY0ozrQ4sNPzK/dGtlr2cIIyuEsgq2Bhy4wvcW6ZH2w/gXM9+MEUY6HC1fWhqtcXDxVZr5Jxw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -13627,6 +14195,7 @@
"@bundled-es-modules/tough-cookie": "^0.1.6",
"@inquirer/confirm": "^5.0.0",
"@mswjs/interceptors": "^0.36.5",
+ "@open-draft/deferred-promise": "^2.2.0",
"@open-draft/until": "^2.1.0",
"@types/cookie": "^0.6.0",
"@types/statuses": "^2.0.4",
@@ -13856,6 +14425,23 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/node-releases": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+ "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-stringify": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/node-stringify/-/node-stringify-0.2.1.tgz",
+ "integrity": "sha512-EdzBiPO2hmQOpG8eZtJmBK0bAWPTdla2GAU4Tb7fztLkAiMEYcJAHWvC/4FI8E9ZOxB1zmoAJpM6upTQ54xNDw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/nopt": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
@@ -16002,13 +16588,13 @@
}
},
"node_modules/playwright": {
- "version": "1.48.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.1.tgz",
- "integrity": "sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w==",
+ "version": "1.48.2",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz",
+ "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.48.1"
+ "playwright-core": "1.48.2"
},
"bin": {
"playwright": "cli.js"
@@ -16021,9 +16607,9 @@
}
},
"node_modules/playwright-core": {
- "version": "1.48.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.1.tgz",
- "integrity": "sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==",
+ "version": "1.48.2",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz",
+ "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -16361,6 +16947,16 @@
"node": ">=8"
}
},
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -16370,6 +16966,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/raw-loader": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
+ "integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==",
+ "dev": true
+ },
"node_modules/rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
@@ -16749,6 +17351,19 @@
"node": ">= 6"
}
},
+ "node_modules/rechoir": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve": "^1.20.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
"node_modules/redent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
@@ -17009,9 +17624,9 @@
}
},
"node_modules/rollup": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.2.tgz",
- "integrity": "sha512-do/DFGq5g6rdDhdpPq5qb2ecoczeK6y+2UAjdJ5trjQJj5f1AiVdLRWRc9A9/fFukfvJRgM0UXzxBIYMovm5ww==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.3.tgz",
+ "integrity": "sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg==",
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.6"
@@ -17024,24 +17639,24 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.24.2",
- "@rollup/rollup-android-arm64": "4.24.2",
- "@rollup/rollup-darwin-arm64": "4.24.2",
- "@rollup/rollup-darwin-x64": "4.24.2",
- "@rollup/rollup-freebsd-arm64": "4.24.2",
- "@rollup/rollup-freebsd-x64": "4.24.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.24.2",
- "@rollup/rollup-linux-arm-musleabihf": "4.24.2",
- "@rollup/rollup-linux-arm64-gnu": "4.24.2",
- "@rollup/rollup-linux-arm64-musl": "4.24.2",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.24.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.24.2",
- "@rollup/rollup-linux-s390x-gnu": "4.24.2",
- "@rollup/rollup-linux-x64-gnu": "4.24.2",
- "@rollup/rollup-linux-x64-musl": "4.24.2",
- "@rollup/rollup-win32-arm64-msvc": "4.24.2",
- "@rollup/rollup-win32-ia32-msvc": "4.24.2",
- "@rollup/rollup-win32-x64-msvc": "4.24.2",
+ "@rollup/rollup-android-arm-eabi": "4.24.3",
+ "@rollup/rollup-android-arm64": "4.24.3",
+ "@rollup/rollup-darwin-arm64": "4.24.3",
+ "@rollup/rollup-darwin-x64": "4.24.3",
+ "@rollup/rollup-freebsd-arm64": "4.24.3",
+ "@rollup/rollup-freebsd-x64": "4.24.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.24.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.24.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.24.3",
+ "@rollup/rollup-linux-arm64-musl": "4.24.3",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.24.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.24.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.24.3",
+ "@rollup/rollup-linux-x64-gnu": "4.24.3",
+ "@rollup/rollup-linux-x64-musl": "4.24.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.24.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.24.3",
+ "@rollup/rollup-win32-x64-msvc": "4.24.3",
"fsevents": "~2.3.2"
}
},
@@ -17214,6 +17829,59 @@
"node": ">=v12.22.7"
}
},
+ "node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/schema-utils/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/schema-utils/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/schema-utils/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/search-insights": {
"version": "2.17.2",
"resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz",
@@ -17336,6 +18004,16 @@
"node": ">=4"
}
},
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -17507,9 +18185,9 @@
}
},
"node_modules/sirv": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
- "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.0.tgz",
+ "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17518,7 +18196,7 @@
"totalist": "^3.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">=18"
}
},
"node_modules/sisteransi": {
@@ -18133,6 +18811,16 @@
"node": ">=12.17"
}
},
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tar": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
@@ -18210,6 +18898,67 @@
"node": ">=4"
}
},
+ "node_modules/terser": {
+ "version": "5.36.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz",
+ "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.10",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+ "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.20",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.26.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/test-exclude": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",
@@ -19367,6 +20116,37 @@
"yarn": "*"
}
},
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+ "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
"node_modules/update-notifier": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz",
@@ -19560,14 +20340,14 @@
}
},
"node_modules/vite-node": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.3.tgz",
- "integrity": "sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.4.tgz",
+ "integrity": "sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"cac": "^6.7.14",
- "debug": "^4.3.6",
+ "debug": "^4.3.7",
"pathe": "^1.1.2",
"vite": "^5.0.0"
},
@@ -19597,28 +20377,28 @@
}
},
"node_modules/vitepress": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.4.1.tgz",
- "integrity": "sha512-C2rQ7PMlDVqgsaHOa0uJtgGGWaGv74QMaGL62lxKbtFkYtosJB5HAfZ8+pEbfzzvLemYaYwaiQdFLBlexK2sFw==",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.4.2.tgz",
+ "integrity": "sha512-10v92Lqx0N4r7YC3cQLBvu+gRS2rHviE7vgdKiwlupUGfSWkyiQDqYccxM5iPStDGSi1Brnec1lf+lmhaQcZXw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@docsearch/css": "^3.6.2",
"@docsearch/js": "^3.6.2",
- "@shikijs/core": "^1.22.0",
- "@shikijs/transformers": "^1.22.0",
- "@shikijs/types": "^1.22.0",
+ "@shikijs/core": "^1.22.2",
+ "@shikijs/transformers": "^1.22.2",
+ "@shikijs/types": "^1.22.2",
"@types/markdown-it": "^14.1.2",
"@vitejs/plugin-vue": "^5.1.4",
- "@vue/devtools-api": "^7.4.6",
+ "@vue/devtools-api": "^7.5.4",
"@vue/shared": "^3.5.12",
"@vueuse/core": "^11.1.0",
"@vueuse/integrations": "^11.1.0",
"focus-trap": "^7.6.0",
"mark.js": "8.11.1",
"minisearch": "^7.1.0",
- "shiki": "^1.22.0",
- "vite": "^5.4.8",
+ "shiki": "^1.22.2",
+ "vite": "^5.4.10",
"vue": "^3.5.12"
},
"bin": {
@@ -19638,30 +20418,31 @@
}
},
"node_modules/vitest": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.3.tgz",
- "integrity": "sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/expect": "2.1.3",
- "@vitest/mocker": "2.1.3",
- "@vitest/pretty-format": "^2.1.3",
- "@vitest/runner": "2.1.3",
- "@vitest/snapshot": "2.1.3",
- "@vitest/spy": "2.1.3",
- "@vitest/utils": "2.1.3",
- "chai": "^5.1.1",
- "debug": "^4.3.6",
- "magic-string": "^0.30.11",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.4.tgz",
+ "integrity": "sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/expect": "2.1.4",
+ "@vitest/mocker": "2.1.4",
+ "@vitest/pretty-format": "^2.1.4",
+ "@vitest/runner": "2.1.4",
+ "@vitest/snapshot": "2.1.4",
+ "@vitest/spy": "2.1.4",
+ "@vitest/utils": "2.1.4",
+ "chai": "^5.1.2",
+ "debug": "^4.3.7",
+ "expect-type": "^1.1.0",
+ "magic-string": "^0.30.12",
"pathe": "^1.1.2",
"std-env": "^3.7.0",
"tinybench": "^2.9.0",
- "tinyexec": "^0.3.0",
- "tinypool": "^1.0.0",
+ "tinyexec": "^0.3.1",
+ "tinypool": "^1.0.1",
"tinyrainbow": "^1.2.0",
"vite": "^5.0.0",
- "vite-node": "2.1.3",
+ "vite-node": "2.1.4",
"why-is-node-running": "^2.3.0"
},
"bin": {
@@ -19676,8 +20457,8 @@
"peerDependencies": {
"@edge-runtime/vm": "*",
"@types/node": "^18.0.0 || >=20.0.0",
- "@vitest/browser": "2.1.3",
- "@vitest/ui": "2.1.3",
+ "@vitest/browser": "2.1.4",
+ "@vitest/ui": "2.1.4",
"happy-dom": "*",
"jsdom": "*"
},
@@ -19743,6 +20524,20 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/watchpack": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
+ "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -19769,6 +20564,175 @@
"dev": true,
"license": "BSD-2-Clause"
},
+ "node_modules/webpack": {
+ "version": "5.95.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz",
+ "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.17.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-cli": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
+ "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/configtest": "^2.1.1",
+ "@webpack-cli/info": "^2.0.2",
+ "@webpack-cli/serve": "^2.0.5",
+ "colorette": "^2.0.14",
+ "commander": "^10.0.1",
+ "cross-spawn": "^7.0.3",
+ "envinfo": "^7.7.3",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^3.1.1",
+ "rechoir": "^0.8.0",
+ "webpack-merge": "^5.7.3"
+ },
+ "bin": {
+ "webpack-cli": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x"
+ },
+ "peerDependenciesMeta": {
+ "@webpack-cli/generators": {
+ "optional": true
+ },
+ "webpack-bundle-analyzer": {
+ "optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-hasjs-plugin": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/webpack-hasjs-plugin/-/webpack-hasjs-plugin-1.0.4.tgz",
+ "integrity": "sha512-N31NlqhjUPfD1RbU8l/OK7I9eAig2+zlB4WN0nJwOm6YQKi2uB0JpkR/avNV6+95K/Nb2eJkzHf5SkqXUYULGQ==",
+ "dev": true,
+ "license": "(Apache-2.0)",
+ "dependencies": {
+ "webpack-plugin-compat": "^1.0.4"
+ },
+ "peerDependencies": {
+ "webpack": ">= 2.2.0"
+ }
+ },
+ "node_modules/webpack-merge": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
+ "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clone-deep": "^4.0.1",
+ "flat": "^5.0.2",
+ "wildcard": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/webpack-plugin-compat": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/webpack-plugin-compat/-/webpack-plugin-compat-1.0.4.tgz",
+ "integrity": "sha512-W3zZ28UY89OBwvicW+heUyvaNho9AmTy65WexPiDowjO38D2qwacSdLUBb82dEgBXceufVC2rCDu3hOLym10Ow==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/webpack/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/webpack/node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/whatwg-encoding": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
@@ -19962,6 +20926,13 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
+ "node_modules/wildcard": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
+ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
@@ -20342,7 +21313,6 @@
"@hpcc-js/util": "^3.1.0"
},
"devDependencies": {
- "@hpcc-js/dataflow": "^9.1.0",
"@hpcc-js/esbuild-plugins": "^1.2.0",
"@types/d3-shape": "1.3.12",
"@types/d3-transition": "1.3.6",
@@ -20418,7 +21388,7 @@
"dependencies": {
"@hpcc-js/ddl-shim": "^2.22.0",
"@hpcc-js/util": "^3.1.0",
- "@xmldom/xmldom": "0.9.4",
+ "@xmldom/xmldom": "0.9.5",
"abort-controller": "3.0.0",
"node-fetch": "3.3.2",
"safe-buffer": "5.2.1",
@@ -20467,6 +21437,44 @@
"faker": "4.1.0"
}
},
+ "packages/dgrid": {
+ "name": "@hpcc-js/dgrid",
+ "version": "3.0.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@hpcc-js/common": "^3.1.0",
+ "@hpcc-js/ddl-shim": "^2.22.0",
+ "@hpcc-js/dgrid-shim": "^2.26.0",
+ "@hpcc-js/util": "^3.1.0"
+ },
+ "devDependencies": {
+ "@hpcc-js/esbuild-plugins": "^1.2.0",
+ "@testing-library/dom": "10.4.0",
+ "d3-format": "^1",
+ "d3-selection": "^1"
+ }
+ },
+ "packages/dgrid-shim": {
+ "name": "@hpcc-js/dgrid-shim",
+ "version": "2.26.0",
+ "license": "Apache-2.0",
+ "devDependencies": {
+ "@hpcc-js/bundle": "^2.12.0",
+ "@types/dojo": "1.9.48",
+ "dgrid": "1.3.3",
+ "dijit": "1.17.3",
+ "dijit-themes": "1.17.3",
+ "dojo": "1.17.3",
+ "dojo-dstore": "1.2.1",
+ "dojo-util": "1.17.3",
+ "dojo-webpack-plugin": "3.0.6",
+ "dojox": "1.17.3",
+ "terser-webpack-plugin": "5.3.10",
+ "webpack": "5.95.0",
+ "webpack-cli": "5.1.4",
+ "webpack-hasjs-plugin": "1.0.4"
+ }
+ },
"packages/esbuild-plugins": {
"name": "@hpcc-js/esbuild-plugins",
"version": "1.2.0",
@@ -20986,7 +21994,7 @@
"version": "3.1.0",
"license": "Apache-2.0",
"dependencies": {
- "@xmldom/xmldom": "0.9.4"
+ "@xmldom/xmldom": "0.9.5"
},
"devDependencies": {
"@hpcc-js/bundle": "^2.12.0",
diff --git a/package.json b/package.json
index fc9f98d08f..319b1d5922 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,7 @@
"version": "2.107.0",
"description": "HPCC Visualization Framework",
"private": true,
+ "type": "module",
"jsdelivr": "dist/index.umd.min.js",
"workspaces": [
"utils/*",
@@ -17,8 +18,8 @@
"packages/dataflow",
"xpackages/ddl-shim",
"xpackages/deck-shim",
- "xpackages/dgrid",
- "xpackages/dgrid-shim",
+ "packages/dgrid",
+ "packages/dgrid-shim",
"xpackages/dgrid2",
"xpackages/eclwatch",
"packages/esbuild-plugins",
@@ -98,7 +99,7 @@
"publish": "lerna publish from-package --yes",
"publish-lerna": "lerna publish from-package --yes",
"purge-jsdelivr": "node ./utils/purge-jsdelivr.js",
- "serve-docs": "vitepress dev .",
+ "dev-docs": "vitepress dev",
"serve-docs-build": "vitepress serve --port 3000 .",
"serve-vite": "vite",
"dev-start": "ws",
@@ -113,18 +114,18 @@
"@microsoft/api-extractor-model": "7.29.8",
"@typescript-eslint/eslint-plugin": "7.18.0",
"@typescript-eslint/parser": "7.18.0",
- "@vitest/browser": "2.1.3",
- "@vitest/coverage-v8": "2.1.3",
+ "@vitest/browser": "2.1.4",
+ "@vitest/coverage-v8": "2.1.4",
"eslint": "8.57.1",
"eslint-plugin-react-hooks": "4.6.2",
"lerna": "8.1.8",
"npm-check-updates": "16.14.20",
"npm-run-all": "4.1.5",
- "playwright": "1.48.1",
+ "playwright": "1.48.2",
"rimraf": "5.0.10",
"typescript": "5.6.3",
- "vitepress": "1.4.1",
- "vitest": "2.1.3"
+ "vitepress": "1.4.2",
+ "vitest": "2.1.4"
},
"overrides": {
"d3-color": "3.1.0"
diff --git a/packages/api/esbuild.js b/packages/api/esbuild.js
index 10c9f24d23..b5f8759fc8 100644
--- a/packages/api/esbuild.js
+++ b/packages/api/esbuild.js
@@ -1,4 +1,10 @@
import { browserTpl } from "@hpcc-js/esbuild-plugins";
+import pkg from "./package.json" with { type: "json" };
// config ---
-browserTpl("src/index.ts", "dist/index");
\ No newline at end of file
+browserTpl("src/index.ts", "dist/index", {
+ keepNames: true,
+ external: [
+ ...Object.keys(pkg.dependencies),
+ ]
+});
diff --git a/packages/api/src/ITooltip.ts b/packages/api/src/ITooltip.ts
index 880d2e07e1..307136f7e3 100644
--- a/packages/api/src/ITooltip.ts
+++ b/packages/api/src/ITooltip.ts
@@ -208,8 +208,8 @@ ITooltip.prototype.publish("tooltipOffset", 8, "number", "Offset from the cursor
const tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;
ITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {
- const retVal = tooltipLabelFormat.apply(this, arguments);
- if (arguments.length) {
+ const retVal = tooltipLabelFormat.call(this, _);
+ if (_ !== undefined) {
this._labelFormatter = d3Format(_);
}
return retVal;
@@ -217,8 +217,8 @@ ITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {
const tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;
ITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {
- const retVal = tooltipValueFormat.apply(this, arguments);
- if (arguments.length) {
+ const retVal = tooltipValueFormat.call(this, _);
+ if (_ !== undefined) {
this._valueFormatter = d3Format(_);
}
return retVal;
diff --git a/packages/chart/esbuild.js b/packages/chart/esbuild.js
index b04c5b5a40..fe1b2e12f4 100644
--- a/packages/chart/esbuild.js
+++ b/packages/chart/esbuild.js
@@ -1,6 +1,12 @@
import { browserTpl } from "@hpcc-js/esbuild-plugins";
+import pkg from "./package.json" with { type: "json" };
// config ---
-browserTpl("src/index.ts", "dist/index", {
- keepNames: true
-});
\ No newline at end of file
+await Promise.all([
+ browserTpl("src/index.ts", "dist/index", {
+ keepNames: true,
+ external: [
+ ...Object.keys(pkg.dependencies),
+ ]
+ })
+]);
diff --git a/packages/chart/index.html b/packages/chart/index.html
index 21d3974647..98af046b2c 100644
--- a/packages/chart/index.html
+++ b/packages/chart/index.html
@@ -1,90 +1,85 @@
-
+
-
- @hpcc-js/chart
-
-
-
+ h1 {
+ text-align: center;
+ margin-top: 50px;
+ }
-
-
-
-
-
- Stacked:
-
- Bar:
-
- Percentage:
-
-
-
-
-
+
+
+
- function doStacked(stacked) {
- if (app) {
- app
- .yAxisStacked(stacked)
- .lazyRender();
- }
- }
+
+ ESM Quick Test
+
+
+
diff --git a/packages/chart/package.json b/packages/chart/package.json
index 01bfe917b6..9fc409613b 100644
--- a/packages/chart/package.json
+++ b/packages/chart/package.json
@@ -32,7 +32,8 @@
"test-browser": "vitest run --project browser",
"test": "vitest run",
"coverage": "vitest run --coverage",
- "update": "npx -y npm-check-updates -u -t minor"
+ "update": "npx -y npm-check-updates -u -t minor",
+ "update-major": "npx -y npm-check-updates -u"
},
"dependencies": {
"@hpcc-js/api": "^3.1.0",
@@ -41,7 +42,6 @@
},
"devDependencies": {
"@hpcc-js/esbuild-plugins": "^1.2.0",
- "@hpcc-js/dataflow": "^9.1.0",
"@types/d3-shape": "1.3.12",
"@types/d3-transition": "1.3.6",
"d3-array": "^1",
diff --git a/packages/chart/src/Axis.ts b/packages/chart/src/Axis.ts
index b851a5df7f..a39d0cfafa 100644
--- a/packages/chart/src/Axis.ts
+++ b/packages/chart/src/Axis.ts
@@ -113,14 +113,14 @@ export class Axis extends SVGWidget {
return true;
}
- domain(_) {
- if (!arguments.length) return this.d3Scale.domain();
+ domain(_?) {
+ if (_ === undefined) return this.d3Scale.domain();
this.d3Scale.domain(_);
return this;
}
- range(_) {
- if (!arguments.length) {
+ range(_?) {
+ if (_ === undefined) {
if (this.d3Scale.rangeRoundBands) {
return this.d3Scale.rangeExtent();
} else if (this.d3Scale.rangeRound) {
@@ -745,8 +745,8 @@ Axis.prototype.publish("padding", 0, "number", "Padding space at top of axis (pi
Axis.prototype._origType = Axis.prototype.type;
Axis.prototype.type = function (_?: string) {
- const retVal = Axis.prototype._origType.apply(this, arguments);
- if (arguments.length) {
+ const retVal = Axis.prototype._origType.call(this, _);
+ if (_ !== undefined) {
this._type = _;
this.updateScale();
}
@@ -755,8 +755,8 @@ Axis.prototype.type = function (_?: string) {
Axis.prototype._origTimePattern = Axis.prototype.timePattern;
Axis.prototype.timePattern = function (_?: string) {
- const retVal = Axis.prototype._origTimePattern.apply(this, arguments);
- if (arguments.length) {
+ const retVal = Axis.prototype._origTimePattern.call(this, _);
+ if (_ !== undefined) {
this._timePattern = _;
this.updateScale();
}
diff --git a/packages/chart/src/Bubble.ts b/packages/chart/src/Bubble.ts
index 1fc3f1ee0d..636e3eb7c6 100644
--- a/packages/chart/src/Bubble.ts
+++ b/packages/chart/src/Bubble.ts
@@ -36,8 +36,8 @@ export class Bubble extends SVGWidget {
size(): ISize;
size(_): this;
size(_?): ISize | this {
- const retVal = super.size.apply(this, arguments);
- if (arguments.length) {
+ const retVal = super.size(_);
+ if (_ !== undefined) {
this.d3Pack
.size([this.width(), this.height()])
;
@@ -163,29 +163,34 @@ export class Bubble extends SVGWidget {
super.exit(domNode, element);
}
- paletteID: { (): string; (_: string): Bubble; };
- useClonedPalette: { (): boolean; (_: boolean): Bubble; };
+}
+Bubble.prototype._class += " chart_Bubble";
+Bubble.prototype.implements(I2DChart.prototype);
+Bubble.prototype.implements(ITooltip.prototype);
+Bubble.prototype.mixin(Utility.SimpleSelectionMixin);
+
+export interface Bubble {
+ paletteID(): string;
+ paletteID(_: string): this;
+ useClonedPalette(): boolean;
+ useClonedPalette(_: boolean): this;
// I2DChart
_palette;
- fillColor: (row: any[], column: string, value: number) => string;
- textColor: (row: any[], column: string, value: number) => string;
- click: (row, column, selected) => void;
- dblclick: (row, column, selected) => void;
+ fillColor(row: any[], column: string, value: number): string;
+ textColor(row: any[], column: string, value: number): string;
+ click(row, column, selected): void;
+ dblclick(row, column, selected): void;
// ITooltip
tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
- tooltipStyle: () => "default" | "none" | "series-table";
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+ tooltipStyle(): "default" | "none" | "series-table";
// SimpleSelectionMixin
_selection;
}
-Bubble.prototype._class += " chart_Bubble";
-Bubble.prototype.implements(I2DChart.prototype);
-Bubble.prototype.implements(ITooltip.prototype);
-Bubble.prototype.mixin(Utility.SimpleSelectionMixin);
Bubble.prototype.publish("paletteID", "default", "set", "Color palette for this widget", Bubble.prototype._palette.switch(), { tags: ["Basic", "Shared"] });
Bubble.prototype.publish("useClonedPalette", false, "boolean", "Enable or disable using a cloned palette", null, { tags: ["Intermediate", "Shared"] });
diff --git a/packages/chart/src/Column.ts b/packages/chart/src/Column.ts
index e2c5ccae2d..db8d6cf35c 100644
--- a/packages/chart/src/Column.ts
+++ b/packages/chart/src/Column.ts
@@ -572,17 +572,6 @@ export class Column extends XYAxis {
innerText(origRow, lparam, idx): string {
return origRow[0];
}
-
- // INDChart ---
- fillColor: (row, column, value, origRow) => string;
- textColor: (row, column, value, origRow) => string;
- dblclick: (row, column, selected) => void;
-
- // ITooltip ---
- tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
- tooltipStyle: () => "default" | "none" | "series-table";
}
Column.prototype._class += " chart_Column";
Column.prototype.implements(INDChart.prototype);
@@ -626,6 +615,18 @@ export interface Column {
innerTextPadding_exists(): boolean;
tooltipInnerTextEllipsedOnly(): boolean;
tooltipInnerTextEllipsedOnly(_: boolean): this;
+
+ // INDChart ---
+ fillColor(row, column, value, origRow): string;
+ textColor(row, column, value, origRow): string;
+ dblclick(row, column, selected): void;
+
+ // ITooltip ---
+ tooltip;
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+ tooltipStyle(): "default" | "none" | "series-table";
+ tooltipStyle(_: "default" | "none" | "series-table"): this;
}
Column.prototype.publish("valueFontFamily", null, "string", "Font family of value text", null, { optional: true });
diff --git a/packages/chart/src/D3Cloud.ts b/packages/chart/src/D3Cloud.ts
index b325e29e92..8f24c8b7cf 100644
--- a/packages/chart/src/D3Cloud.ts
+++ b/packages/chart/src/D3Cloud.ts
@@ -26,8 +26,8 @@ export function d3Cloud() {
let random = Math.random;
let canvas = cloudCanvas;
- cloud.canvas = function (_) {
- return arguments.length ? (canvas = functor(_), cloud) : canvas;
+ cloud.canvas = function (_?) {
+ return _ !== undefined ? (canvas = functor(_), cloud) : canvas;
};
cloud.start = function () {
@@ -149,52 +149,52 @@ export function d3Cloud() {
return false;
}
- cloud.timeInterval = function (_) {
- return arguments.length ? (timeInterval = _ == null ? Infinity : _, cloud) : timeInterval;
+ cloud.timeInterval = function (_?) {
+ return _ !== undefined ? (timeInterval = _ == null ? Infinity : _, cloud) : timeInterval;
};
- cloud.words = function (_) {
- return arguments.length ? (words = _, cloud) : words;
+ cloud.words = function (_?) {
+ return _ !== undefined ? (words = _, cloud) : words;
};
- cloud.size = function (_) {
- return arguments.length ? (size = [+_[0], +_[1]], cloud) : size;
+ cloud.size = function (_?) {
+ return _ !== undefined ? (size = [+_[0], +_[1]], cloud) : size;
};
- cloud.font = function (_) {
- return arguments.length ? (font = functor(_), cloud) : font;
+ cloud.font = function (_?) {
+ return _ !== undefined ? (font = functor(_), cloud) : font;
};
- cloud.fontStyle = function (_) {
- return arguments.length ? (fontStyle = functor(_), cloud) : fontStyle;
+ cloud.fontStyle = function (_?) {
+ return _ !== undefined ? (fontStyle = functor(_), cloud) : fontStyle;
};
- cloud.fontWeight = function (_) {
- return arguments.length ? (fontWeight = functor(_), cloud) : fontWeight;
+ cloud.fontWeight = function (_?) {
+ return _ !== undefined ? (fontWeight = functor(_), cloud) : fontWeight;
};
- cloud.rotate = function (_) {
- return arguments.length ? (rotate = functor(_), cloud) : rotate;
+ cloud.rotate = function (_?) {
+ return _ !== undefined ? (rotate = functor(_), cloud) : rotate;
};
- cloud.text = function (_) {
- return arguments.length ? (text = functor(_), cloud) : text;
+ cloud.text = function (_?) {
+ return _ !== undefined ? (text = functor(_), cloud) : text;
};
- cloud.spiral = function (_) {
- return arguments.length ? (spiral = spirals[_] || _, cloud) : spiral;
+ cloud.spiral = function (_?) {
+ return _ !== undefined ? (spiral = spirals[_] || _, cloud) : spiral;
};
- cloud.fontSize = function (_) {
- return arguments.length ? (fontSize = functor(_), cloud) : fontSize;
+ cloud.fontSize = function (_?) {
+ return _ !== undefined ? (fontSize = functor(_), cloud) : fontSize;
};
- cloud.padding = function (_) {
- return arguments.length ? (padding = functor(_), cloud) : padding;
+ cloud.padding = function (_?) {
+ return _ !== undefined ? (padding = functor(_), cloud) : padding;
};
- cloud.random = function (_) {
- return arguments.length ? (random = _, cloud) : random;
+ cloud.random = function (_?) {
+ return _ !== undefined ? (random = _, cloud) : random;
};
cloud.on = function () {
diff --git a/packages/chart/src/HexBin.ts b/packages/chart/src/HexBin.ts
index 1269c4c1a8..2c069ff037 100644
--- a/packages/chart/src/HexBin.ts
+++ b/packages/chart/src/HexBin.ts
@@ -118,21 +118,26 @@ export class HexBin extends XYAxis {
dblclick(row: object[], column, selected) {
// console.log("Click: " + JSON.stringify(row) + ", " + column + ", " + selected);
}
+}
+HexBin.prototype._class += " chart_HexBin";
+HexBin.prototype.implements(I2DAggrChart.prototype);
+HexBin.prototype.implements(ITooltip.prototype);
+export interface HexBin {
// ITooltip
tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
- tooltipValueFormat: (_) => string;
- tooltipValueFormat_default: (_) => string;
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+ tooltipValueFormat(_): string;
+ tooltipValueFormat_default(_): string;
- paletteID: { (): string; (_: string): HexBin; };
- useClonedPalette: { (): boolean; (_: boolean): HexBin; };
- binSize: { (): number; (_: number): HexBin; };
+ paletteID(): string;
+ paletteID(_: string): this;
+ useClonedPalette(): boolean;
+ useClonedPalette(_: boolean): this;
+ binSize(): number;
+ binSize(_: number): this;
}
-HexBin.prototype._class += " chart_HexBin";
-HexBin.prototype.implements(I2DAggrChart.prototype);
-HexBin.prototype.implements(ITooltip.prototype);
HexBin.prototype.publish("paletteID", "Blues", "set", "Color palette for this widget", HexBin.prototype._palette.switch(), { tags: ["Basic", "Shared"] });
HexBin.prototype.publish("useClonedPalette", false, "boolean", "Enable or disable using a cloned palette", null, { tags: ["Intermediate", "Shared"] });
diff --git a/packages/chart/src/Pie.ts b/packages/chart/src/Pie.ts
index 72abb4fb6a..5188d9f6b2 100644
--- a/packages/chart/src/Pie.ts
+++ b/packages/chart/src/Pie.ts
@@ -119,7 +119,7 @@ export class Pie extends SVGWidget {
selection(): any[]; // any[] === single row
selection(_: any[]): this;
selection(_?: any[]): any[] | this {
- if (!arguments.length) {
+ if (_ === undefined) {
try {
return this._selection.selection2()[0]?.data;
} catch (e) {
@@ -437,38 +437,12 @@ export class Pie extends SVGWidget {
})
;
}
-
- paletteID: (_?: string) => string | Pie;
- useClonedPalette: (_?: boolean) => boolean | Pie;
- outerText: (_?: boolean) => boolean | Pie;
- innerRadius: { (): number; (_: number): Pie; };
- innerRadius_exists: () => boolean;
-
- // I2DChart
- _palette;
- fillColor: (row: any[], column: string, value: number) => string;
- textColor: (row: any[], column: string, value: number) => string;
- click: (row, column, selected) => void;
- dblclick: (row, column, selected) => void;
-
- // ITooltip
- tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
- tooltipStyle: () => "default" | "none" | "series-table";
- tooltipTick: { (): boolean; (_: boolean): Pie; };
- tooltipTick_default: { (): boolean; (_: boolean): Pie; };
- tooltipOffset: { (): number; (_: number): Pie; };
- tooltipOffset_default: { (): number; (_: number): Pie; };
-
- // SimpleSelectionMixin
- _selection: Utility.SimpleSelection;
}
-
Pie.prototype._class += " chart_Pie";
Pie.prototype.implements(I2DChart.prototype);
Pie.prototype.implements(ITooltip.prototype);
Pie.prototype.mixin(Utility.SimpleSelectionMixin);
+
export interface Pie {
showSeriesValue(): boolean;
showSeriesValue(_: boolean): this;
@@ -488,6 +462,36 @@ export interface Pie {
showLabels(_: boolean): this;
sortDataByValue(): "none" | "ascending" | "descending";
sortDataByValue(_: "none" | "ascending" | "descending"): this;
+
+ paletteID(_?: string): string | Pie;
+ useClonedPalette(_?: boolean): boolean | Pie;
+ outerText(_?: boolean): boolean | Pie;
+ innerRadius(): number;
+ innerRadius_exists(): boolean;
+
+ // I2DChart
+ _palette;
+ fillColor(row: any[], column: string, value: number): string;
+ textColor(row: any[], column: string, value: number): string;
+ click(row, column, selected): void;
+ dblclick(row, column, selected): void;
+
+ // ITooltip
+ tooltip;
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+ tooltipStyle(): "default" | "none" | "series-table";
+ tooltipTick(): boolean;
+ tooltipTick(_: boolean): Pie;
+ tooltipTick_default(): boolean;
+ tooltipTick_default(_: boolean): Pie;
+ tooltipOffset(): number;
+ tooltipOffset(_: number): Pie;
+ tooltipOffset_default(): number;
+ tooltipOffset_default(_: number): Pie;
+
+ // SimpleSelectionMixin
+ _selection: Utility.SimpleSelection;
}
Pie.prototype.publish("showLabels", true, "boolean", "If true, wedge labels will display");
Pie.prototype.publish("showSeriesValue", false, "boolean", "Append data series value next to label", null, { disable: w => !w.showLabels() });
diff --git a/packages/chart/src/Radar.ts b/packages/chart/src/Radar.ts
index 9f824b6a08..81b549bb8a 100644
--- a/packages/chart/src/Radar.ts
+++ b/packages/chart/src/Radar.ts
@@ -282,21 +282,6 @@ export class Radar extends SVGWidget {
}
return inside;
}
-
- // INDChart
- _palette;
- fillColor: (row, column, value) => string;
- strokeColor: (row, column, value) => string;
- textColor: (row, column, value) => string;
- click: (row, column, selected) => void;
- dblclick: (row, column, selected) => void;
-
- // ITooltip
- tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
-
- _selection;
}
Radar.prototype._class += " chart_Radar";
Radar.prototype.implements(INDChart.prototype);
@@ -324,6 +309,21 @@ export interface Radar {
pointShape(_: string): this;
pointSize(): number;
pointSize(_: number): this;
+
+ // INDChart
+ _palette;
+ fillColor(row, column, value): string;
+ strokeColor(row, column, value): string;
+ textColor(row, column, value): string;
+ click(row, column, selected): void;
+ dblclick(row, column, selected): void;
+
+ // ITooltip
+ tooltip;
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+
+ _selection;
}
Radar.prototype.publish("paletteID", "default", "set", "Color palette for this widget", Radar.prototype._palette.switch());
diff --git a/packages/chart/src/RadialBar.ts b/packages/chart/src/RadialBar.ts
index 0e998784a2..69e78e8640 100644
--- a/packages/chart/src/RadialBar.ts
+++ b/packages/chart/src/RadialBar.ts
@@ -168,24 +168,12 @@ export class RadialBar extends SVGWidget {
return degrees * Math.PI / 180;
}
- // INDChart
- _palette;
- fillColor: (row, column, value) => string;
- strokeColor: (row, column, value) => string;
- textColor: (row, column, value) => string;
- click: (row, column, selected) => void;
- dblclick: (row, column, selected) => void;
-
- // ITooltip
- tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
- _selection;
}
RadialBar.prototype._class += " chart_RadialBar";
RadialBar.prototype.implements(INDChart.prototype);
RadialBar.prototype.implements(ITooltip.prototype);
RadialBar.prototype.mixin(Utility.SimpleSelectionMixin);
+
export interface RadialBar {
paletteID(): string;
paletteID(_: string): this;
@@ -202,7 +190,24 @@ export interface RadialBar {
transitionDelay(_: number): this;
transitionDuration(): number;
transitionDuration(_: number): this;
+
+ // INDChart
+ _palette;
+ fillColor(row, column, value): string;
+ strokeColor(row, column, value): string;
+ textColor(row, column, value): string;
+ click(row, column, selected): void;
+ dblclick(row, column, selected): void;
+
+ // ITooltip
+ tooltip;
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+
+ // SimpleSelectionMixin
+ _selection;
}
+
RadialBar.prototype.publish("paletteID", "default", "set", "Color palette for this widget", RadialBar.prototype._palette.switch());
RadialBar.prototype.publish("tickCount", 10, "number", "Number of ticks to display");
RadialBar.prototype.publish("domainPadding", 0.25, "number", "Padding between chart edge and container edge (0..1)");
diff --git a/packages/chart/src/Scatter.ts b/packages/chart/src/Scatter.ts
index 5ad1d3a70c..9984a2c3fc 100644
--- a/packages/chart/src/Scatter.ts
+++ b/packages/chart/src/Scatter.ts
@@ -321,34 +321,13 @@ export class Scatter extends XYAxis {
exit(domNode, element) {
super.exit(domNode, element);
}
-
- paletteID: { (): string; (_: string): Scatter; };
- useClonedPalette: { (): boolean; (_: boolean): Scatter; };
- pointSizeScale: { (): string; (_: string): Scatter; };
- pointShape: { (): string; (_: string): Scatter; };
- pointSize: { (): number; (_: number): Scatter; };
- interpolate: { (): string; (_: string): Scatter; };
- interpolate_default: { (): string; (_: string): Scatter; };
- interpolateFill: { (): boolean; (_: boolean): Scatter; };
- interpolateFill_default: { (): boolean; (_: boolean): Scatter; };
- interpolateFillOpacity: { (): number; (_: number): Scatter; };
-
- // INDChart
- fillColor: (row, column, value, origRow) => string;
- strokeColor: (row, column, value, origRow) => string;
- textColor: (row, column, value, origRow) => string;
- dblclick: (row, column, selected) => void;
-
- // ITooltip
- tooltip;
- tooltipHTML: (_) => string;
- tooltipFormat: (_) => string;
- tooltipStyle: () => "default" | "none" | "series-table";
}
Scatter.prototype._class += " chart_Scatter";
Scatter.prototype.implements(INDChart.prototype);
Scatter.prototype.implements(ITooltip.prototype);
+
export interface Scatter {
+
valueAnchor(): string;
valueAnchor(_: string): this;
valueBaseline(): string;
@@ -359,6 +338,39 @@ export interface Scatter {
pointDarken(_: boolean): this;
interpolateDarken(): boolean;
interpolateDarken(_: boolean): this;
+
+ paletteID(): string;
+ paletteID(_: string): this;
+ useClonedPalette(): boolean;
+ useClonedPalette(_: boolean): this;
+ pointSizeScale(): string;
+ pointSizeScale(_: string): this;
+ pointShape(): string;
+ pointShape(_: string): this;
+ pointSize(): number;
+ pointSize(_: number): this;
+ interpolate(): string;
+ interpolate(_: string): this;
+ interpolate_default(): string;
+ interpolate_default(_: string): this;
+ interpolateFill(): boolean;
+ interpolateFill(_: boolean): this;
+ interpolateFill_default(): boolean;
+ interpolateFill_default(_: boolean): this;
+ interpolateFillOpacity(): number;
+ interpolateFillOpacity(_: number): this;
+
+ // INDChart
+ fillColor(row, column, value, origRow): string;
+ strokeColor(row, column, value, origRow): string;
+ textColor(row, column, value, origRow): string;
+ dblclick(row, column, selected): void;
+
+ // ITooltip
+ tooltip;
+ tooltipHTML(_): string;
+ tooltipFormat(_): string;
+ tooltipStyle(): "default" | "none" | "series-table";
}
Scatter.prototype.publish("paletteID", "default", "set", "Color palette for this widget", Scatter.prototype._palette.switch(), { tags: ["Basic", "Shared"] });
Scatter.prototype.publish("pointSizeScale", "linear", "set", "pointSizeScale", ["linear", "pow", "log", "sqrt"]);
diff --git a/packages/chart/src/StatChart.ts b/packages/chart/src/StatChart.ts
index d676d12195..067eae5f38 100644
--- a/packages/chart/src/StatChart.ts
+++ b/packages/chart/src/StatChart.ts
@@ -106,7 +106,7 @@ export class StatChart extends HTMLWidget {
data(): Data;
data(_: Data): this;
data(_?: Data): Data | this {
- if (!arguments.length) return [[...this.quartiles(), this.mean(), this.standardDeviation()]];
+ if (_ === undefined) return [[...this.quartiles(), this.mean(), this.standardDeviation()]];
const row = _[0];
this.quartiles([row[0], row[1], row[2], row[3], row[4]]);
this.mean(row[5]);
@@ -221,8 +221,16 @@ export class StatChart extends HTMLWidget {
this.updateScatter();
this.updateCandle();
}
+
+ exit(domNode, element) {
+ this._bellCurve.target(null);
+ this._candle.target(null);
+ this._selectElement.remove();
+
+ super.exit(domNode, element);
+ }
}
-StatChart.prototype._class += " chart_Stat";
+StatChart.prototype._class += " chart_StatChart";
export interface StatChart {
view(): StatChartView;
diff --git a/packages/chart/src/Summary.ts b/packages/chart/src/Summary.ts
index 22208e0546..385fb2b39f 100644
--- a/packages/chart/src/Summary.ts
+++ b/packages/chart/src/Summary.ts
@@ -303,8 +303,8 @@ Summary.prototype.publish("playInterval", null, "number", "Play Interval", null,
const playInterval = Summary.prototype.playInterval;
Summary.prototype.playInterval = function (_?: number): number | any {
- const retVal = playInterval.apply(this, arguments);
- if (arguments.length) {
+ const retVal = playInterval.call(this, _);
+ if (_ === undefined) {
if (this._playIntervalHandle) {
clearInterval(this._playIntervalHandle);
}
diff --git a/packages/chart/src/SummaryC.ts b/packages/chart/src/SummaryC.ts
index edcac02f26..4fbbfd2c4c 100644
--- a/packages/chart/src/SummaryC.ts
+++ b/packages/chart/src/SummaryC.ts
@@ -221,8 +221,8 @@ SummaryC.prototype.publish("iconSizeRatio", 0.9, "number", "Ratio of the height
const playInterval = SummaryC.prototype.playInterval;
SummaryC.prototype.playInterval = function (_?: number): number | any {
- const retVal = playInterval.apply(this, arguments);
- if (arguments.length) {
+ const retVal = playInterval.call(this, _);
+ if (_ !== undefined) {
if (this._playIntervalHandle) {
clearInterval(this._playIntervalHandle);
}
diff --git a/packages/chart/src/WordCloud.ts b/packages/chart/src/WordCloud.ts
index ba52147e2d..fc3e1bb6a3 100644
--- a/packages/chart/src/WordCloud.ts
+++ b/packages/chart/src/WordCloud.ts
@@ -184,7 +184,14 @@ export class WordCloud extends SVGWidget {
this._prevZoom = scale;
}
}
+}
+WordCloud.prototype._class += " chart_WordCloud";
+WordCloud.prototype.implements(I2DChart.prototype);
+WordCloud.prototype.implements(ITooltip.prototype);
+WordCloud.prototype.mixin(Utility.SimpleSelectionMixin);
+export interface WordCloud {
+ /*
paletteID: { (): string; (_: string): WordCloud };
paletteID_exists: () => boolean;
useClonedPalette: { (): boolean; (_: boolean): WordCloud };
@@ -238,13 +245,68 @@ export class WordCloud extends SVGWidget {
tooltipOffset: { (): number; (_: number): WordCloud };
tooltipOffset_exists: () => boolean;
+ // SimpleSelectionMixin
+ _selection: Utility.SimpleSelection;
+ */
+
+ paletteID(): string;
+ paletteID(_: string): this;
+ useClonedPalette(): boolean;
+ useClonedPalette(_: boolean): this;
+ fontFamily(): string;
+ fontFamily(_: string): this;
+ fontSizeFrom(): number;
+ fontSizeFrom(_: number): this;
+ fontSizeTo(): number;
+ fontSizeTo(_: number): this;
+ angleFrom(): number;
+ angleFrom(_: number): this;
+ angleTo(): number;
+ angleTo(_: number): this;
+ angleCount(): number;
+ angleCount(_: number): this;
+ padding(): number;
+ padding(_: number): this;
+ scaleMode(): string;
+ scaleMode(_: string): this;
+ spiral(): string;
+ spiral(_: string): this;
+ offsetX(): number;
+ offsetX(_: number): this;
+ offsetY(): number;
+ offsetY(_: number): this;
+ zoom(): number;
+ zoom(_: number): this;
+ zoom_exists(): boolean;
+
+ // I2DChart
+ _palette;
+ click(row, column, selected): void;
+ dblclick(row, column, selected): void;
+
+ // ITooltip ---
+ tooltip;
+ tooltipHTML(_?): any;
+ tooltipFormat(opts): any;
+ tooltipStyle(): string;
+ tooltipStyle(_: string): this;
+ tooltipValueFormat(): string;
+ tooltipValueFormat(_: string): this;
+ tooltipSeriesColor(): string;
+ tooltipSeriesColor(_: string): this;
+ tooltipLabelColor(): string;
+ tooltipLabelColor(_: string): this;
+ tooltipValueColor(): string;
+ tooltipValueColor(_: string): this;
+ tooltipTick(): boolean;
+ tooltipTick(_: boolean): this;
+ tooltipOffset(): number;
+ tooltipOffset(_: number): this;
+ tooltipOffset_exists(): boolean;
+
// SimpleSelectionMixin
_selection: Utility.SimpleSelection;
}
-WordCloud.prototype._class += " chart_WordCloud";
-WordCloud.prototype.implements(I2DChart.prototype);
-WordCloud.prototype.implements(ITooltip.prototype);
-WordCloud.prototype.mixin(Utility.SimpleSelectionMixin);
WordCloud.prototype.publish("paletteID", "default", "set", "Color palette for this widget", WordCloud.prototype._palette.switch(), { tags: ["Basic", "Shared"] });
WordCloud.prototype.publish("useClonedPalette", false, "boolean", "Enable or disable using a cloned palette", null, { tags: ["Intermediate", "Shared"] });
diff --git a/packages/chart/src/XYAxis.ts b/packages/chart/src/XYAxis.ts
index ca105f0708..f025c5acfb 100644
--- a/packages/chart/src/XYAxis.ts
+++ b/packages/chart/src/XYAxis.ts
@@ -16,7 +16,6 @@ export class XYAxis extends SVGWidget {
protected yBrush;
protected margin;
protected focusChart: XYAxis;
- _palette;
constructor() {
super();
@@ -191,7 +190,7 @@ export class XYAxis extends SVGWidget {
skipSelection(): boolean;
skipSelection(_: boolean): this;
skipSelection(_?: boolean): boolean | this {
- if (!arguments.length) return this._skipSelection;
+ if (_ === undefined) return this._skipSelection;
this._skipSelection = _;
return this;
}
@@ -571,8 +570,8 @@ export class XYAxis extends SVGWidget {
return masterColumns.indexOf(column);
}
- layerData(host: XYAxis): any[][] {
- if (arguments.length === 1) {
+ layerData(host?: XYAxis): any[][] {
+ if (host !== undefined) {
const indices = this.layerColumnIndices(host);
return host.data().map(row => {
const retVal = indices.map(idx => row[idx]);
@@ -659,6 +658,7 @@ XYAxis.prototype._class += " chart_XYAxis";
XYAxis.prototype.mixin(Utility.SimpleSelectionMixin);
export interface XYAxis {
+ _palette;
orientation(): "horizontal" | "vertical";
orientation(_: "horizontal" | "vertical"): this;
orientation_default(_: string);
diff --git a/packages/common/esbuild.js b/packages/common/esbuild.js
index 198f75c4ec..ed1937e83c 100644
--- a/packages/common/esbuild.js
+++ b/packages/common/esbuild.js
@@ -1,8 +1,12 @@
import { browserTpl, copyStaticFiles } from "@hpcc-js/esbuild-plugins";
+import pkg from "./package.json" with { type: "json" };
// config ---
browserTpl("src/index.ts", "dist/index", {
keepNames: true,
+ external: [
+ ...Object.keys(pkg.dependencies),
+ ],
plugins: [
copyStaticFiles({
src: "../../node_modules/font-awesome/fonts",
diff --git a/packages/common/index.html b/packages/common/index.html
index d9392a8e06..a4cc12208e 100644
--- a/packages/common/index.html
+++ b/packages/common/index.html
@@ -23,6 +23,18 @@
margin-top: 20px;
}
+
+
diff --git a/packages/common/src/Class.ts b/packages/common/src/Class.ts
index 10b4138ef9..60f29ac106 100644
--- a/packages/common/src/Class.ts
+++ b/packages/common/src/Class.ts
@@ -22,7 +22,7 @@ export class Class {
class(): string;
class(_: string): this;
class(_?: string): string | this {
- if (!arguments.length) return this._class;
+ if (_ === undefined) return this._class;
this._class = _;
return this;
}
diff --git a/packages/common/src/Database.ts b/packages/common/src/Database.ts
index 19c826f3b9..8e62fd2f04 100644
--- a/packages/common/src/Database.ts
+++ b/packages/common/src/Database.ts
@@ -40,7 +40,7 @@ export class Field extends PropertyExt {
owner(): Grid;
owner(_: Grid): this;
owner(_?: Grid): Grid | this {
- if (!arguments.length) return this._owner;
+ if (_ === undefined) return this._owner;
this._owner = _;
return this;
}
@@ -228,7 +228,7 @@ export class Grid extends PropertyExt {
}
legacyColumns(_?, asDefault?): any | Grid {
- if (!arguments.length) return this.row(0);
+ if (_ === undefined) return this.row(0);
this.row(0, _, asDefault);
return this;
}
@@ -253,7 +253,7 @@ export class Grid extends PropertyExt {
}
data(_?, clone?): any | Grid {
- if (!arguments.length) return this._data;
+ if (_ === undefined) return this._data;
this._data = clone ? _.map(function (d) { return d.map(function (d2) { return d2; }); }) : _;
this._dataCalcChecksum();
return this;
@@ -292,7 +292,7 @@ export class Grid extends PropertyExt {
private _dataCalcChecksum(idx?) {
++this._dataVersion;
if (this._dataChecksum) {
- if (arguments.length) {
+ if (idx !== undefined) {
this._dataChecksums[idx] = Utility.checksum(this._data[idx]);
} else {
this._dataChecksums = this._data.map(function (row) { return Utility.checksum(row); });
@@ -302,7 +302,7 @@ export class Grid extends PropertyExt {
}
row(row?, _?, asDefault?): any | Grid {
- if (arguments.length < 2) return row === 0 ? this.fields().map(function (d) { return d.label(); }) : this._data[row - 1];
+ if (_ === undefined) return row === 0 ? this.fields().map(function (d) { return d.label(); }) : this._data[row - 1];
if (row === 0) {
const fieldsArr = this.fields();
this.fields(_.map(function (field: string | INestedColumn, idx) {
@@ -334,7 +334,7 @@ export class Grid extends PropertyExt {
}
rows(_?): any | Grid {
- if (!arguments.length) return [this.row(0)].concat(this._data);
+ if (_ === undefined) return [this.row(0)].concat(this._data);
this.row(0, _[0]);
this._data = _.filter(function (_row, idx) { return idx > 0; });
this._dataCalcChecksum();
@@ -343,7 +343,7 @@ export class Grid extends PropertyExt {
// Column Access ---
column(col, _?): any | Grid {
- if (arguments.length < 2) return [this.fields()[col].label()].concat(this._data.map(function (row, _idx) { return row[col]; }));
+ if (_ === undefined) return [this.fields()[col].label()].concat(this._data.map(function (row, _idx) { return row[col]; }));
_.forEach(function (d, idx) {
if (idx === 0) {
this.fields()[col] = new Field().label(_[0]);
@@ -355,8 +355,8 @@ export class Grid extends PropertyExt {
return this;
}
- columnData(col, _): any | Grid {
- if (arguments.length < 2) return this._data.map(function (row, _idx) { return row[col]; });
+ columnData(col, _?): any | Grid {
+ if (_ === undefined) return this._data.map(function (row, _idx) { return row[col]; });
_.forEach(function (d, idx) {
this._data[idx][col] = d;
this._dataCalcChecksum(idx);
@@ -365,7 +365,7 @@ export class Grid extends PropertyExt {
}
columns(_?): any | Grid {
- if (!arguments.length) return this.fields().map(function (_col, idx) {
+ if (_ === undefined) return this.fields().map(function (_col, idx) {
return this.column(idx);
}, this);
_.forEach(function (_col, idx) {
@@ -375,8 +375,8 @@ export class Grid extends PropertyExt {
}
// Cell Access ---
- cell(row, col, _) {
- if (arguments.length < 3) return this.row(row)[col];
+ cell(row, col, _?) {
+ if (_ === undefined) return this.row(row)[col];
if (row === 0) {
this.fields()[col] = new Field().label(_);
} else {
@@ -604,7 +604,7 @@ export class Grid extends PropertyExt {
// Import/Export ---
jsonObj(_?): any | Grid {
- if (!arguments.length) return this._data.map(function (row) {
+ if (_ === undefined) return this._data.map(function (row) {
const retVal = {};
this.row(0).forEach(function (col, idx) {
retVal[col] = row[idx];
@@ -630,7 +630,7 @@ export class Grid extends PropertyExt {
json(_: string | object): this;
json(): string;
json(_?: string | object): string | this {
- if (!arguments.length) return JSON.stringify(this.jsonObj(), null, " ");
+ if (_ === undefined) return JSON.stringify(this.jsonObj(), null, " ");
if (typeof (_) === "string") {
_ = JSON.parse(_);
}
@@ -641,7 +641,7 @@ export class Grid extends PropertyExt {
csv(_: string): this;
csv(): string;
csv(_?: string): string | this {
- if (!arguments.length) {
+ if (_ === undefined) {
const temp = document.createElement("div");
return d3CsvFormatRows(this.grid().map(row => {
return row.map(cell => {
@@ -656,7 +656,7 @@ export class Grid extends PropertyExt {
tsv(_: string): this;
tsv(): string;
tsv(_?: string): string | this {
- if (!arguments.length) return d3TsvFormatRows(this.grid());
+ if (_ === undefined) return d3TsvFormatRows(this.grid());
this.jsonObj(d3TsvParse(_));
return this;
}
@@ -670,7 +670,7 @@ export interface Grid {
Grid.prototype.publish("fields", [], "propertyArray", "Fields");
const fieldsOrig = Grid.prototype.fields;
Grid.prototype.fields = function (_?, clone?) {
- if (!arguments.length) return fieldsOrig.apply(this, arguments);
+ if (_ === undefined) return fieldsOrig.apply(this, arguments);
return fieldsOrig.call(this, clone ? _.map(function (d) { return d.clone(); }) : _);
};
@@ -700,12 +700,12 @@ export class LegacyView {
return this._grid;
}
columns(_?) {
- if (!arguments.length) return this._grid.legacyColumns();
+ if (_ === undefined) return this._grid.legacyColumns();
this._grid.legacyColumns(_);
return this;
}
rawData(_?) {
- if (!arguments.length) return this._grid.legacyData();
+ if (_ === undefined) return this._grid.legacyData();
this._grid.legacyData(_);
return this;
}
diff --git a/packages/common/src/HTMLWidget.ts b/packages/common/src/HTMLWidget.ts
index d1c196d816..4a586efcc1 100644
--- a/packages/common/src/HTMLWidget.ts
+++ b/packages/common/src/HTMLWidget.ts
@@ -119,7 +119,7 @@ export class HTMLWidget extends Widget {
target(_: null | string | HTMLElement | SVGElement): this;
target(_?: null | string | HTMLElement | SVGElement): null | HTMLElement | SVGElement | this {
const retVal = super.target.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
if (this._target instanceof SVGElement) {
// Target is a SVG Node, so create an item in the Overlay and force it "over" the overlay element (cough) ---
this._isRootNode = false;
diff --git a/packages/common/src/Palette.ts b/packages/common/src/Palette.ts
index 2317a9d343..56953f20f0 100644
--- a/packages/common/src/Palette.ts
+++ b/packages/common/src/Palette.ts
@@ -124,13 +124,13 @@ function palette_ordinal(id?, colors?): any {
ordinal.type = function () {
return "ordinal";
};
- ordinal.id = function (_) {
- if (!arguments.length) return id;
+ ordinal.id = function (_?) {
+ if (_ === undefined) return id;
id = _;
return ordinal;
};
- ordinal.colors = function (_) {
- if (!arguments.length) return colors;
+ ordinal.colors = function (_?) {
+ if (_ === undefined) return colors;
colors = _;
return ordinal;
};
@@ -145,11 +145,11 @@ function palette_ordinal(id?, colors?): any {
}
return this.clone(newID);
};
- ordinal.switch = function (_id, _colors) {
+ ordinal.switch = function (_id?, _colors?) {
if (id === _id) {
return this;
}
- return arguments.length ? fetchOrdinalItem(_id, _colors) : fetchOrdinalItem();
+ return _id !== undefined ? fetchOrdinalItem(_id, _colors) : fetchOrdinalItem();
};
return ordinal;
@@ -173,7 +173,7 @@ export function fetchRainbowItem(id?: string, colors?: string[], steps?: number)
}
function palette_rainbow(id?, _colors?, _steps?) {
- if (!arguments.length) {
+ if (id === undefined) {
const retVal = ["default"];
for (const key in m_colorbrewer) {
if (brewerOrdinal.indexOf(key) === -1) {
@@ -239,13 +239,13 @@ function palette_rainbow(id?, _colors?, _steps?) {
rainbow.type = function () {
return "rainbow";
};
- rainbow.id = function (_) {
- if (!arguments.length) return id;
+ rainbow.id = function (_?) {
+ if (_ === undefined) return id;
id = _;
return rainbow;
};
- rainbow.colors = function (_) {
- if (!arguments.length) return colors;
+ rainbow.colors = function (_?) {
+ if (_ === undefined) return colors;
colors = _;
return rainbow;
};
@@ -259,11 +259,11 @@ function palette_rainbow(id?, _colors?, _steps?) {
}
return this.clone(newID);
};
- rainbow.switch = function (_id, _colors) {
+ rainbow.switch = function (_id?, _colors?) {
if (id === _id) {
return this;
}
- return arguments.length ? fetchRainbowItem(_id, _colors) : fetchRainbowItem();
+ return _id !== undefined ? fetchRainbowItem(_id, _colors) : fetchRainbowItem();
};
return rainbow;
diff --git a/packages/common/src/PropertyExt.ts b/packages/common/src/PropertyExt.ts
index 29fd059c6c..849977ce04 100644
--- a/packages/common/src/PropertyExt.ts
+++ b/packages/common/src/PropertyExt.ts
@@ -267,7 +267,7 @@ export class PropertyExt extends Class {
id(): string;
id(_: string): this;
id(_?): string | this {
- if (!arguments.length) return this._id;
+ if (_ === undefined) return this._id;
this._id = _;
return this;
}
@@ -493,8 +493,8 @@ export class PropertyExt extends Class {
if (this[id]) {
} else {
if (type === "propertyArray") {
- this[id] = function (_) {
- if (!arguments.length) return this[__prop_ + id];
+ this[id] = function (_?) {
+ if (_ === undefined) return this[__prop_ + id];
this[__prop_ + id] = _.map(item => {
if (!meta.ext.noDeserialize && meta.ext.autoExpand && !(item instanceof meta.ext.autoExpand)) {
item = new meta.ext.autoExpand().deserialize(item);
@@ -505,8 +505,8 @@ export class PropertyExt extends Class {
return this;
};
} else {
- this[id] = function (_) {
- if (!arguments.length) return this[__prop_ + id];
+ this[id] = function (_?) {
+ if (_ === undefined) return this[__prop_ + id];
this[__prop_ + id] = _;
return this;
};
@@ -532,8 +532,8 @@ export class PropertyExt extends Class {
if (this[id + "_default"]() != null && !(this[id + "_default"]() === "" && ext.optional === true)) return true;
return false;
};
- this[id + "_default"] = function (_) {
- if (!arguments.length) return this[__default_ + id] !== undefined ? this[__default_ + id] : meta.defaultValue;
+ this[id + "_default"] = function (_?) {
+ if (_ === undefined) return this[__default_ + id] !== undefined ? this[__default_ + id] : meta.defaultValue;
if (_ === "") {
_ = null;
}
@@ -594,8 +594,8 @@ export class PropertyExt extends Class {
throw new Error(id + " is already published.");
}
this[__meta_ + id] = new MetaProxy(id, proxy, method, defaultValue);
- this[id] = function (_) {
- if (!arguments.length) return defaultValue === undefined || this[id + "_modified"]() ? this[proxy][method]() : defaultValue;
+ this[id] = function (_?) {
+ if (_ === undefined) return defaultValue === undefined || this[id + "_modified"]() ? this[proxy][method]() : defaultValue;
if (defaultValue !== undefined && _ === defaultValue) {
this[proxy][method + "_reset"]();
} else {
@@ -612,8 +612,8 @@ export class PropertyExt extends Class {
this[id + "_exists"] = function () {
return this[proxy][method + "_exists"]();
};
- this[id + "_default"] = function (_) {
- if (!arguments.length) return this[proxy][method + "_default"]();
+ this[id + "_default"] = function (_?) {
+ if (_ === undefined) return this[proxy][method + "_default"]();
this[proxy][method + "_default"](_);
return this;
};
diff --git a/packages/common/src/SVGWidget.ts b/packages/common/src/SVGWidget.ts
index 01ca77e659..f8b5ae84d1 100644
--- a/packages/common/src/SVGWidget.ts
+++ b/packages/common/src/SVGWidget.ts
@@ -164,9 +164,9 @@ export class SVGWidget extends Widget {
}
// Properties ---
- move(_, transitionDuration?) {
+ move(_?, transitionDuration?) {
const retVal = this.pos(_);
- if (arguments.length) {
+ if (_ !== undefined) {
(transitionDuration ? this._element.transition().duration(transitionDuration) : this._element)
.attr("transform", `translate(${_.x} ${_.y})scale(${this._widgetScale})`)
;
@@ -178,7 +178,7 @@ export class SVGWidget extends Widget {
enableOverflow(): boolean;
enableOverflow(_: boolean): this;
enableOverflow(_?: boolean): boolean | this {
- if (!arguments.length) return this._enableOverflow;
+ if (_ === undefined) return this._enableOverflow;
this._enableOverflow = _;
return this;
}
@@ -187,7 +187,7 @@ export class SVGWidget extends Widget {
enableOverflowScroll(): boolean;
enableOverflowScroll(_: boolean): this;
enableOverflowScroll(_?: boolean): boolean | this {
- if (!arguments.length) return this._enableOverflowScroll;
+ if (_ === undefined) return this._enableOverflowScroll;
this._enableOverflowScroll = _;
return this;
}
@@ -196,7 +196,7 @@ export class SVGWidget extends Widget {
size(_): this;
size(_?): ISize | this {
const retVal = super.size.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
this._boundingBox = null;
}
return retVal;
@@ -239,7 +239,7 @@ export class SVGWidget extends Widget {
target(_: null | string | HTMLElement | SVGElement): this;
target(_?: null | string | HTMLElement | SVGElement): null | HTMLElement | SVGElement | this {
const retVal = super.target.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
if (this._target instanceof SVGElement) {
this._isRootNode = false;
this._placeholderElement = d3Select(this._target);
diff --git a/packages/common/src/SVGZoomWidget.ts b/packages/common/src/SVGZoomWidget.ts
index 35f7c357b0..d0089637cd 100644
--- a/packages/common/src/SVGZoomWidget.ts
+++ b/packages/common/src/SVGZoomWidget.ts
@@ -414,7 +414,7 @@ SVGZoomWidget.prototype.publish("mouseMode", "zoom", "set", "Mouse Mode (zoom |
const _origMouseMode = SVGZoomWidget.prototype.mouseMode;
SVGZoomWidget.prototype.mouseMode = function (_?, transitionDuration?) {
const retVal = _origMouseMode.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
if (_ === "zoom") {
safeRaise(this._zoomRoot.node());
} else {
diff --git a/packages/common/src/Shape.ts b/packages/common/src/Shape.ts
index 0dbb2808c4..3e9a4426f2 100644
--- a/packages/common/src/Shape.ts
+++ b/packages/common/src/Shape.ts
@@ -177,7 +177,7 @@ Shape.prototype.publish("tooltip", "", "string", "Tooltip", null, { tags: ["Priv
const _origRadius = Shape.prototype.radius;
Shape.prototype.radius = function (_?) {
const retVal = _origRadius.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
this.width(_);
this.height(_);
return retVal;
diff --git a/packages/common/src/Surface.ts b/packages/common/src/Surface.ts
index f4e090b7f6..f9a5e20010 100644
--- a/packages/common/src/Surface.ts
+++ b/packages/common/src/Surface.ts
@@ -345,7 +345,7 @@ Surface.prototype.publish("menuPadding", 2, "number", "Menu Padding", null, { ta
Surface.prototype._origMenuParam = Surface.prototype.menu;
Surface.prototype.menu = function (this: Surface, _?) {
Surface.prototype._origMenuParam.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
this._menuWidget.data(_);
return this;
}
@@ -355,7 +355,7 @@ Surface.prototype.menu = function (this: Surface, _?) {
Surface.prototype._origShowContent = Surface.prototype.showContent;
Surface.prototype.showContent = function (_?) {
const retVal = Surface.prototype._origShowContent.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
if (this.content()) {
this.content().visible(this.showContent());
}
diff --git a/packages/common/src/TextBox.ts b/packages/common/src/TextBox.ts
index 9e63bfa346..9541104ab5 100644
--- a/packages/common/src/TextBox.ts
+++ b/packages/common/src/TextBox.ts
@@ -96,7 +96,7 @@ export class TextBox extends SVGWidget {
this._text
.x(this.getTextX(textBBox.width))
- .colorFill_default(this._shape.colorFill_exists() ? textColor(this._shape.colorFill()) : undefined)
+ .colorFill_default(this._shape.colorFill_exists() ? textColor(this._shape.colorFill()) : null)
.render()
;
diff --git a/packages/common/src/TitleBar.ts b/packages/common/src/TitleBar.ts
index 79c8ad62c4..416d3eac8f 100644
--- a/packages/common/src/TitleBar.ts
+++ b/packages/common/src/TitleBar.ts
@@ -52,7 +52,7 @@ export class Button extends HTMLWidget {
enabled(): boolean;
enabled(_: boolean): this;
enabled(_?: boolean): boolean | this {
- if (!arguments.length) return this._enabled;
+ if (_ === undefined) return this._enabled;
this._enabled = _;
return this;
}
@@ -133,7 +133,7 @@ export class SelectDropDown extends HTMLWidget {
enabled(): boolean;
enabled(_: boolean): this;
enabled(_?: boolean): boolean | this {
- if (!arguments.length) return this._enabled;
+ if (_ === undefined) return this._enabled;
this._enabled = _;
return this;
}
@@ -295,7 +295,7 @@ export class SelectionBar extends IconBar {
buttons(_: Array): this;
buttons(_?: Array): Array | this {
const retVal = super.buttons.apply(this, arguments);
- if (arguments.length) {
+ if (_ !== undefined) {
_.filter(b => b instanceof SelectionButton).forEach((sb: SelectionButton) => {
sb._owner = this;
});
diff --git a/packages/common/src/Transition.ts b/packages/common/src/Transition.ts
index 4dbbcbea7b..bb95f0ea50 100644
--- a/packages/common/src/Transition.ts
+++ b/packages/common/src/Transition.ts
@@ -14,20 +14,20 @@ export class Transition {
this._ease = d3CubicInOut;
}
- duration(_) {
- if (!arguments.length) return this._duration;
+ duration(_?) {
+ if (_ === undefined) return this._duration;
this._duration = _;
return this._widget;
}
- delay(_) {
- if (!arguments.length) return this._delay;
+ delay(_?) {
+ if (_ === undefined) return this._delay;
this._delay = _;
return this._widget;
}
- ease(_) {
- if (!arguments.length) return this._ease;
+ ease(_?) {
+ if (_ === undefined) return this._ease;
this._ease = _;
return this._widget;
}
diff --git a/packages/common/src/Utility.ts b/packages/common/src/Utility.ts
index 78b9725de4..2f7386ee26 100644
--- a/packages/common/src/Utility.ts
+++ b/packages/common/src/Utility.ts
@@ -152,14 +152,14 @@ export class SimpleSelection extends SelectionBase {
_widgetElement;
widgetElement(_?) {
- if (!arguments.length) return this._widgetElement;
+ if (_ === undefined) return this._widgetElement;
this._widgetElement = _;
return this;
}
_skipBringToTop;
- skipBringToTop(_) {
- if (!arguments.length) return this._skipBringToTop;
+ skipBringToTop(_?) {
+ if (_ === undefined) return this._skipBringToTop;
this._skipBringToTop = _;
return this;
}
@@ -220,8 +220,8 @@ export class SimpleSelection extends SelectionBase {
selected(domNode) {
return d3Select(domNode).classed("selected");
}
- selection(_) {
- if (!arguments.length) {
+ selection(_?) {
+ if (_ === undefined) {
return this.selection2().map(row => JSON.stringify(row));
}
this.selection2(d => _.indexOf(JSON.stringify(d)) >= 0);
@@ -230,7 +230,7 @@ export class SimpleSelection extends SelectionBase {
selection2(): any[];
selection2(isSelected: (d) => boolean): this;
selection2(isSelected?: (d) => boolean): any[] | this {
- if (!arguments.length) {
+ if (isSelected === undefined) {
const retVal: any[] = [];
if (this._widgetElement) {
this._widgetElement.selectAll(".selected")
@@ -418,16 +418,19 @@ export function templateFields(tpl: string): string[] {
return retVal;
}
-export function template(tpl: string, _args) {
+export function template(tpl?: string, _args?) {
if (!tpl) return "";
let args;
- if (arguments.length === 2 && typeof arguments[1] === "object") {
+ if (_args !== undefined && typeof _args === "object") {
args = arguments[1];
} else {
- args = new Array(arguments.length - 1);
- for (let i = 1; i < arguments.length; ++i) {
- args[i - 1] = arguments[i];
+ args = [];
+ if (tpl !== undefined) {
+ args.push(tpl);
+ if (_args !== undefined) {
+ args.push(_args);
+ }
}
}
@@ -650,10 +653,10 @@ export function checksum(s) {
export function getTime() {
return (now && now.call(perf)) || (new Date().getTime());
}
-export function mixin(dest, _sources) {
+export function mixin(dest, ...args: any[]) {
dest = dest || {};
- for (let i = 1, l = arguments.length; i < l; i++) {
- _mixin(dest, arguments[i]);
+ for (let i = 0, l = args.length; i < l; i++) {
+ _mixin(dest, args[i]);
}
return dest;
}
diff --git a/packages/common/src/Widget.ts b/packages/common/src/Widget.ts
index 283a913248..59a1b1ac7e 100644
--- a/packages/common/src/Widget.ts
+++ b/packages/common/src/Widget.ts
@@ -166,7 +166,7 @@ export abstract class Widget extends PropertyExt {
columns(): string[];
columns(_: string[], asDefault?: boolean): this;
columns(_?: string[], asDefault?: boolean): string[] | this {
- if (!arguments.length) return this._db.legacyColumns();
+ if (_ === undefined) return this._db.legacyColumns();
this._db.legacyColumns(_, asDefault);
return this;
}
@@ -194,7 +194,7 @@ export abstract class Widget extends PropertyExt {
data(): any;
data(_: any): this;
data(_?: any): any | this {
- if (!arguments.length) return this._db.legacyData();
+ if (_ === undefined) return this._db.legacyData();
this._db.legacyData(_);
return this;
}
@@ -237,7 +237,7 @@ export abstract class Widget extends PropertyExt {
pos(): IPos;
pos(_: IPos): this;
pos(_?: IPos): IPos | this {
- if (!arguments.length) return this._pos;
+ if (_ === undefined) return this._pos;
this._pos = _;
if (this._overlayElement) {
this._overlayElement
@@ -250,7 +250,7 @@ export abstract class Widget extends PropertyExt {
x(): number;
x(_): this;
x(_?): number | this {
- if (!arguments.length) return this._pos.x;
+ if (_ === undefined) return this._pos.x;
this.pos({ x: _, y: this._pos.y });
return this;
}
@@ -258,7 +258,7 @@ export abstract class Widget extends PropertyExt {
y(): number;
y(_): this;
y(_?): number | this {
- if (!arguments.length) return this._pos.y;
+ if (_ === undefined) return this._pos.y;
this.pos({ x: this._pos.x, y: _ });
return this;
}
@@ -266,7 +266,7 @@ export abstract class Widget extends PropertyExt {
size(): ISize;
size(_): this;
size(_?): ISize | this {
- if (!arguments.length) return this._size;
+ if (_ === undefined) return this._size;
this._size = _;
if (this._overlayElement) {
this._overlayElement
@@ -280,7 +280,7 @@ export abstract class Widget extends PropertyExt {
width(): number;
width(_): this;
width(_?): number | this {
- if (!arguments.length) return this._size.width;
+ if (_ === undefined) return this._size.width;
this.size({ width: _, height: this._size.height });
return this;
}
@@ -288,7 +288,7 @@ export abstract class Widget extends PropertyExt {
height(): number;
height(_): this;
height(_?): number | this {
- if (!arguments.length) return this._size.height;
+ if (_ === undefined) return this._size.height;
this.size({ width: this._size.width, height: _ });
return this;
}
@@ -314,7 +314,7 @@ export abstract class Widget extends PropertyExt {
scale(): number;
scale(_): Widget;
scale(_?): number | Widget {
- if (!arguments.length) return this._widgetScale;
+ if (_ === undefined) return this._widgetScale;
this._widgetScale = _;
if (this._overlayElement) {
this._overlayElement
@@ -327,7 +327,7 @@ export abstract class Widget extends PropertyExt {
visible(): boolean;
visible(_): this;
visible(_?): boolean | this {
- if (!arguments.length) return this._visible;
+ if (_ === undefined) return this._visible;
this._visible = _;
if (this._element) {
this._element
@@ -341,7 +341,7 @@ export abstract class Widget extends PropertyExt {
display(): boolean;
display(_): this;
display(_?): boolean | this {
- if (!arguments.length) return this._display;
+ if (_ === undefined) return this._display;
this._display = _;
if (this._element) {
this._element.style("display", this._display ? null : "none");
@@ -352,7 +352,7 @@ export abstract class Widget extends PropertyExt {
dataMeta(): DataMetaT;
dataMeta(_): this;
dataMeta(_?): DataMetaT | this {
- if (!arguments.length) return this._dataMeta;
+ if (_ === undefined) return this._dataMeta;
this._dataMeta = _;
return this;
}
@@ -361,7 +361,7 @@ export abstract class Widget extends PropertyExt {
appData(key: string): any;
appData(key: string, value: any): this;
appData(key: string, value?: any): any | this {
- if (arguments.length < 2) return this._appData[key];
+ if (value === undefined) return this._appData[key];
this._appData[key] = value;
return this;
}
@@ -535,7 +535,7 @@ export abstract class Widget extends PropertyExt {
target(): null | HTMLElement | SVGElement;
target(_: null | string | HTMLElement | SVGElement): this;
target(_?: null | string | HTMLElement | SVGElement): null | HTMLElement | SVGElement | this {
- if (!arguments.length) return this._target;
+ if (_ === undefined) return this._target;
if (this._target && _) {
throw new Error("Target can only be assigned once.");
}
@@ -720,10 +720,10 @@ Widget.prototype.publish("classed", {}, "object", "HTML Classes", null, { tags:
const origClassed = Widget.prototype.classed;
Widget.prototype.classed = function (this: Widget, str_obj?: string | { [classID: string]: boolean }, _?: boolean) {
if (typeof str_obj === "string") {
- if (arguments.length === 1) return origClassed.call(this)[str_obj];
+ if (_ === undefined) return origClassed.call(this)[str_obj];
const classed = origClassed.call(this);
origClassed.call(this, { ...classed, [str_obj]: _ });
return this;
}
- return origClassed.apply(this, arguments);
+ return origClassed.call(this, str_obj, _);
};
diff --git a/packages/common/tests/common.browser.spec.ts b/packages/common/tests/common.browser.spec.ts
index 3138987635..7e3e80b2df 100644
--- a/packages/common/tests/common.browser.spec.ts
+++ b/packages/common/tests/common.browser.spec.ts
@@ -8,6 +8,7 @@ const menuList = ["List item 1", "This is Item 2", "List item 3", "This is list
describe("Widget.classed", () => {
it("set/get", function () {
+ debugger;
const text = new Text()
.text("Hello\nand\nWelcome!")
.classed("TestClass0", true)
diff --git a/packages/comms/esbuild.js b/packages/comms/esbuild.js
index 88bf21b177..d4e797e59c 100644
--- a/packages/comms/esbuild.js
+++ b/packages/comms/esbuild.js
@@ -1,8 +1,14 @@
import { browserTpl, nodeTpl } from "@hpcc-js/esbuild-plugins";
+import pkg from "./package.json" with { type: "json" };
// config ---
await Promise.all([
nodeTpl("src/index.node.ts", "dist/index.node"),
- browserTpl("src/index.ts", "dist/index"),
+ browserTpl("src/index.ts", "dist/index", {
+ keepNames: true,
+ external: [
+ ...Object.keys(pkg.dependencies),
+ ]
+ }),
nodeTpl("utils/index.ts", "lib-esm/index")
]);
diff --git a/packages/comms/package.json b/packages/comms/package.json
index 66e0e82958..de26c35711 100644
--- a/packages/comms/package.json
+++ b/packages/comms/package.json
@@ -60,7 +60,7 @@
"dependencies": {
"@hpcc-js/ddl-shim": "^2.22.0",
"@hpcc-js/util": "^3.1.0",
- "@xmldom/xmldom": "0.9.4",
+ "@xmldom/xmldom": "0.9.5",
"abort-controller": "3.0.0",
"node-fetch": "3.3.2",
"safe-buffer": "5.2.1",
diff --git a/packages/comms/rollup.config.mjs b/packages/comms/rollup.config.mjs
deleted file mode 100644
index 678d1cc67e..0000000000
--- a/packages/comms/rollup.config.mjs
+++ /dev/null
@@ -1,55 +0,0 @@
-import { external, globals } from "@hpcc-js/bundle";
-import alias from '@rollup/plugin-alias';
-import commonjs from '@rollup/plugin-commonjs';
-import sourcemaps from 'rollup-plugin-sourcemaps';
-import nodeResolve from '@rollup/plugin-node-resolve';
-import postcss from "rollup-plugin-postcss";
-
-import pkg from "./package.json" with { type: "json" };
-
-const plugins = [
- alias({}),
- nodeResolve({
- preferBuiltins: true
- }),
- commonjs({}),
- sourcemaps(),
- postcss({
- extensions: [".css"],
- minimize: true
- })
-];
-
-export default [{
- input: "lib-es6/index",
- external: external,
- output: [{
- file: pkg.browser,
- format: "umd",
- sourcemap: true,
- globals: globals,
- name: pkg.name
- }, {
- file: pkg.module + ".js",
- format: "es",
- sourcemap: true,
- globals: globals
- }],
- plugins: plugins
-}, {
- input: "lib-es6/index.node",
- external: external,
- output: [{
- file: pkg.main,
- format: "cjs",
- sourcemap: true,
- globals: globals,
- name: pkg.name
- }, {
- file: pkg.module + ".js",
- format: "es",
- sourcemap: true,
- globals: globals
- }],
- plugins: plugins
-}];
\ No newline at end of file
diff --git a/packages/comms/src/connection.ts b/packages/comms/src/connection.ts
index 4a94ac9b89..08b6cdae9e 100644
--- a/packages/comms/src/connection.ts
+++ b/packages/comms/src/connection.ts
@@ -266,7 +266,7 @@ export class Connection implements IConnection {
opts(_: Partial): this;
opts(): IOptions;
opts(_?: Partial): this | IOptions {
- if (arguments.length === 0) return this._opts;
+ if (_ === undefined) return this._opts;
this._opts = { ...DefaultOptions, ..._ };
return this;
}
diff --git a/packages/comms/src/ecl/scope.ts b/packages/comms/src/ecl/scope.ts
index 87508aaa9f..11b952592a 100644
--- a/packages/comms/src/ecl/scope.ts
+++ b/packages/comms/src/ecl/scope.ts
@@ -105,7 +105,7 @@ export class BaseScope extends StateObject implements ScopeEx
children(): BaseScope[];
children(_: BaseScope[]): BaseScope;
children(_?: BaseScope[]): BaseScope[] | BaseScope {
- if (!arguments.length) return this._children;
+ if (_ === undefined) return this._children;
this._children = _!;
return this;
}
diff --git a/packages/dgrid-shim/package.json b/packages/dgrid-shim/package.json
index fc16f69645..9f74154534 100644
--- a/packages/dgrid-shim/package.json
+++ b/packages/dgrid-shim/package.json
@@ -43,7 +43,12 @@
"dojo": "1.17.3",
"dojo-dstore": "1.2.1",
"dojo-util": "1.17.3",
- "dojox": "1.17.3"
+ "dojox": "1.17.3",
+ "webpack": "5.95.0",
+ "webpack-cli": "5.1.4",
+ "webpack-hasjs-plugin": "1.0.4",
+ "dojo-webpack-plugin": "3.0.6",
+ "terser-webpack-plugin": "5.3.10"
},
"repository": {
"type": "git",
@@ -61,4 +66,4 @@
"url": "https://github.com/hpcc-systems/Visualization/issues"
},
"homepage": "https://github.com/hpcc-systems/Visualization#readme"
-}
+}
\ No newline at end of file
diff --git a/packages/dgrid/.vscode/launch.json b/packages/dgrid/.vscode/launch.json
index 760a72e834..7c2436335f 100644
--- a/packages/dgrid/.vscode/launch.json
+++ b/packages/dgrid/.vscode/launch.json
@@ -1,52 +1,47 @@
{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
- "name": "Dev",
+ "name": "test-browser",
"type": "msedge",
"request": "launch",
- "url": "file:///${workspaceRoot}/index.html",
- "runtimeArgs": [
- "--allow-file-access-from-files",
- "--disable-web-security"
+ "url": "http://localhost:8888",
+ "webRoot": "${workspaceFolder}",
+ "outFiles": [
+ "${workspaceFolder}/**/*.js",
+ "!**/node_modules/**"
],
- "webRoot": "${workspaceRoot}"
},
{
- "name": "lws",
- "type": "msedge",
+ "name": "test-node",
+ "type": "node",
"request": "launch",
- "url": "http://localhost:8080/../packages/dgrid/index.html",
"runtimeArgs": [
- "--allow-file-access-from-files",
- "--disable-web-security"
+ "run-script",
+ "test-node"
],
- "webRoot": "${workspaceRoot}"
- },
- {
- "type": "msedge",
- "request": "launch",
- "name": "index.md",
- "url": "${workspaceFolder}/../../website/index.html?debug=1#packages/graph/docs/index.md",
- "runtimeArgs": [
- "--allow-file-access-from-files",
- "--disable-web-security"
+ "runtimeExecutable": "npm",
+ "skipFiles": [
+ "/**"
+ ],
+ "outFiles": [
+ "${workspaceFolder}/**/*.js",
+ "!**/node_modules/**"
],
- "webRoot": "${workspaceFolder}/../../website"
},
{
- "type": "msedge",
+ "name": "index.html",
"request": "launch",
- "name": "http index.md",
- "url": "http://localhost:8080/${workspaceFolder}/../../website/index.html?debug=1#packages/graph/docs/index.md",
+ "type": "msedge",
+ "url": "file:///${workspaceFolder}/index.html",
"runtimeArgs": [
- "--allow-file-access-from-files",
"--disable-web-security"
],
- "webRoot": "${workspaceFolder}/../../website"
+ "webRoot": "${workspaceFolder}",
+ "outFiles": [
+ "${workspaceFolder}/**/*.js",
+ "!**/node_modules/**"
+ ]
}
]
}
\ No newline at end of file
diff --git a/packages/dgrid/.vscode/tasks.json b/packages/dgrid/.vscode/tasks.json
index 89aac7c9d8..120545d06c 100644
--- a/packages/dgrid/.vscode/tasks.json
+++ b/packages/dgrid/.vscode/tasks.json
@@ -1,29 +1,20 @@
{
- // See https://go.microsoft.com/fwlink/?LinkId=733558
- // for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
+ "label": "gen-types-watch",
"type": "npm",
- "label": "compile umd watch",
- "script": "compile-umd-watch",
- "problemMatcher": [],
- "presentation": {
- "group": "group-build"
- }
- },
- {
- "type": "npm",
- "label": "compile es6 watch",
- "script": "compile-es6-watch",
- "problemMatcher": [],
+ "script": "gen-types-watch",
+ "problemMatcher": [
+ "$tsc-watch"
+ ],
"presentation": {
"group": "group-build"
}
},
{
+ "label": "bundle-watch",
"type": "npm",
- "label": "bundle watch",
"script": "bundle-watch",
"problemMatcher": [],
"presentation": {
@@ -31,17 +22,15 @@
}
},
{
- "label": "build-local-dev-server",
+ "label": "build",
"dependsOn": [
- "compile umd watch",
- "compile es6 watch",
- "bundle watch",
+ "gen-types-watch",
+ "bundle-watch",
],
"group": {
"kind": "build",
"isDefault": true
- },
- "problemMatcher": []
+ }
}
]
}
\ No newline at end of file
diff --git a/packages/dgrid/esbuild.js b/packages/dgrid/esbuild.js
new file mode 100644
index 0000000000..fe1b2e12f4
--- /dev/null
+++ b/packages/dgrid/esbuild.js
@@ -0,0 +1,12 @@
+import { browserTpl } from "@hpcc-js/esbuild-plugins";
+import pkg from "./package.json" with { type: "json" };
+
+// config ---
+await Promise.all([
+ browserTpl("src/index.ts", "dist/index", {
+ keepNames: true,
+ external: [
+ ...Object.keys(pkg.dependencies),
+ ]
+ })
+]);
diff --git a/packages/dgrid/index.html b/packages/dgrid/index.html
index 9b14493a58..762d198c0c 100644
--- a/packages/dgrid/index.html
+++ b/packages/dgrid/index.html
@@ -2,61 +2,81 @@
-
- @hpcc-js/dgrid
-
-
-
+ h1 {
+ text-align: center;
+ margin-top: 50px;
+ }
-
+
+
+
+
+
-
-
-
+
diff --git a/packages/dgrid/package.json b/packages/dgrid/package.json
index 26f46f75c3..0b99b76c91 100644
--- a/packages/dgrid/package.json
+++ b/packages/dgrid/package.json
@@ -1,54 +1,50 @@
{
"name": "@hpcc-js/dgrid",
- "version": "2.34.0",
+ "version": "3.0.0",
"description": "hpcc-js - Viz DGrid",
- "main": "dist/index.js",
- "module": "dist/index.es6",
- "browser": "dist/index.js",
- "unpkg": "dist/index.min.js",
- "jsdelivr": "dist/index.min.js",
- "types": "types/index.d.ts",
- "typesVersions": {
- "<3.8": {
- "*": [
- "types-3.4/index.d.ts"
- ]
+ "type": "module",
+ "exports": {
+ ".": {
+ "types": "./types/index.d.ts",
+ "default": "./dist/index.js"
}
},
+ "module": "./dist/index.js",
+ "browser": "./dist/index.js",
+ "types": "./types/index.d.ts",
"files": [
"dist/*",
- "types/*",
- "types-3.4/*",
- "src/*"
+ "src/*",
+ "types/*"
],
"scripts": {
- "clean": "rimraf --glob lib* types dist *.tsbuildinfo",
- "compile-es6": "tsc --module es6 --outDir ./lib-es6",
- "compile-es6-watch": "npm run compile-es6 -- -w",
- "compile-umd": "tsc --module umd --outDir ./lib-umd",
- "compile-umd-watch": "npm run compile-umd -- -w",
- "bundle": "rollup -c",
- "bundle-watch": "npm run bundle -- -w",
- "minimize": "terser dist/index.js -c -m --source-map \"content='dist/index.js.map',url='index.min.js.map'\" -o dist/index.min.js",
- "gen-legacy-types": "downlevel-dts ./types ./types-3.4",
- "build": "npm run compile-es6 && npm run bundle",
- "watch": "npm-run-all compile-es6 -p compile-es6-watch bundle-watch",
+ "clean": "rimraf --glob lib* types dist *.tsbuildinfo .turbo",
+ "bundle": "node esbuild.js",
+ "bundle-watch": "npm run bundle -- --development --watch",
+ "gen-types": "tsc --project tsconfig.json",
+ "gen-types-watch": "npm run gen-types -- --watch",
+ "build": "run-p gen-types bundle",
"stamp": "node ../../node_modules/@hpcc-js/bundle/src/stamp.js",
"lint": "eslint ./src",
+ "lint-fix": "eslint --fix src/**/*.ts",
"docs": "typedoc --options tdoptions.json .",
- "update": "npx --yes npm-check-updates -u -t minor"
+ "test-browser": "vitest run --project browser",
+ "test": "vitest run",
+ "coverage": "vitest run --coverage",
+ "update": "npx -y npm-check-updates -u -t minor",
+ "update-major": "npx -y npm-check-updates -u"
},
"dependencies": {
- "@hpcc-js/common": "^2.73.0",
+ "@hpcc-js/common": "^3.1.0",
"@hpcc-js/ddl-shim": "^2.22.0",
"@hpcc-js/dgrid-shim": "^2.26.0",
- "@hpcc-js/util": "^2.53.0"
+ "@hpcc-js/util": "^3.1.0"
},
"devDependencies": {
- "@hpcc-js/bundle": "^2.12.0",
+ "@hpcc-js/esbuild-plugins": "^1.2.0",
+ "@testing-library/dom": "10.4.0",
"d3-format": "^1",
- "d3-selection": "^1",
- "tslib": "2.7.0"
+ "d3-selection": "^1"
},
"repository": {
"type": "git",
@@ -61,4 +57,4 @@
"url": "https://github.com/hpcc-systems/Visualization/issues"
},
"homepage": "https://github.com/hpcc-systems/Visualization"
-}
+}
\ No newline at end of file
diff --git a/packages/dgrid/rollup.config.mjs b/packages/dgrid/rollup.config.mjs
deleted file mode 100644
index d437a5d847..0000000000
--- a/packages/dgrid/rollup.config.mjs
+++ /dev/null
@@ -1,59 +0,0 @@
-import { external, globals } from "@hpcc-js/bundle";
-import alias from '@rollup/plugin-alias';
-import commonjs from '@rollup/plugin-commonjs';
-import sourcemaps from 'rollup-plugin-sourcemaps';
-import nodeResolve from '@rollup/plugin-node-resolve';
-import postcss from "rollup-plugin-postcss";
-
-import pkg from "./package.json" with { type: "json" };
-
-export default {
- input: "lib-es6/index",
- external: external,
- output: [{
- file: pkg.main,
- format: "umd",
- sourcemap: true,
- globals: globals,
- name: pkg.name,
- strict: false
- }, {
- file: pkg.module + ".js",
- format: "es",
- sourcemap: true,
- globals: globals,
- name: pkg.name,
- strict: false
- }],
- plugins: [
- alias({
- entries: [
- { find: "d3-array", replacement: "@hpcc-js/common" },
- { find: "d3-brush", replacement: "@hpcc-js/common" },
- { find: "d3-collection", replacement: "@hpcc-js/common" },
- { find: "d3-color", replacement: "@hpcc-js/common" },
- { find: "d3-dispatch", replacement: "@hpcc-js/common" },
- { find: "d3-drag", replacement: "@hpcc-js/common" },
- { find: "d3-dsv", replacement: "@hpcc-js/common" },
- { find: "d3-ease", replacement: "@hpcc-js/common" },
- { find: "d3-format", replacement: "@hpcc-js/common" },
- { find: "d3-interpolate", replacement: "@hpcc-js/common" },
- { find: "d3-scale", replacement: "@hpcc-js/common" },
- { find: "d3-selection", replacement: "@hpcc-js/common" },
- { find: "d3-time-format", replacement: "@hpcc-js/common" },
- { find: "d3-transition", replacement: "@hpcc-js/common" },
- { find: "d3-zoom", replacement: "@hpcc-js/common" }
- ]
- }),
- nodeResolve({
- preferBuiltins: true
- }),
- commonjs({
- }),
- sourcemaps(),
- postcss({
- extensions: [".css"],
- minimize: true
- })
- ]
-};
\ No newline at end of file
diff --git a/packages/dgrid/src/Common.ts b/packages/dgrid/src/Common.ts
index fd9dc09814..6f6834820b 100644
--- a/packages/dgrid/src/Common.ts
+++ b/packages/dgrid/src/Common.ts
@@ -1,6 +1,6 @@
-import { HTMLWidget, publish } from "@hpcc-js/common";
-import { Grid, PagingGrid } from "@hpcc-js/dgrid-shim";
-import { DBStore } from "./DBStore";
+import { HTMLWidget } from "@hpcc-js/common";
+import { Grid, PagingGrid } from "./dgrid-shim.ts";
+import { DBStore } from "./DBStore.ts";
import "../src/Common.css";
@@ -19,34 +19,16 @@ export class Common extends HTMLWidget {
this._tag = "div";
}
- @publish("...empty...", "string", "No Data Message")
- noDataMessage: publish;
- @publish("loading...", "string", "Loading Message")
- loadingMessage: publish;
- @publish(false, "boolean", "Enable paging")
- pagination: publish;
- @publish(25, "number", "Page size")
- pageSize: publish;
- @publish(false, "boolean", "Enable sorting by column")
- sortable: publish;
- @publish(null, "set", "Default 'sort by' Column ID", function () { return this.columns(); }, { optional: true })
- sortBy: publish;
- @publish(false, "boolean", "Default 'sort by' descending", null, { disable: self => !self.sortBy() })
- sortByDescending: publish;
- @publish(false, "boolean", "Multiple Selection")
- multiSelect: publish;
- @publish(true, "boolean", "Render HTML")
- renderHtml: publish;
-
// Backward Compatibility
mulitSelect(): boolean;
mulitSelect(_?: boolean): this;
mulitSelect(_?: boolean): this | boolean {
- return this.multiSelect.apply(this, arguments);
+ return this.multiSelect(_);
}
protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {
- const idx = this.columns().indexOf(this.sortBy());
+ const cols = this.columns();
+ const idx = cols.indexOf(this.sortBy());
return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;
}
@@ -54,11 +36,11 @@ export class Common extends HTMLWidget {
selection(): any[];
selection(_: any[]): this;
selection(_?: any[]): any[] | this {
- if (!arguments.length) {
+ if (_ === undefined) {
const retVal = [];
for (const id in this._dgrid.selection) {
if (this._dgrid.selection[id]) {
- const storeItem = this._store.get(+id);
+ const storeItem = this._store.get(+id);
retVal.push(this.rowToObj(storeItem));
}
}
@@ -158,3 +140,56 @@ export class Common extends HTMLWidget {
}
}
Common.prototype._class += " dgrid_Common";
+
+/*
+ @publish("...empty...", "string", "No Data Message")
+ noDataMessage: publish;
+ @publish("loading...", "string", "Loading Message")
+ loadingMessage: publish;
+ @publish(false, "boolean", "Enable paging")
+ pagination: publish;
+ @publish(25, "number", "Page size")
+ pageSize: publish;
+ @publish(false, "boolean", "Enable sorting by column")
+ sortable: publish;
+ @publish(null, "set", "Default 'sort by' Column ID", function () { return this.columns(); }, { optional: true })
+ sortBy: publish;
+ @publish(false, "boolean", "Default 'sort by' descending", null, { disable: self => !self.sortBy() })
+ sortByDescending: publish;
+ @publish(false, "boolean", "Multiple Selection")
+ multiSelect: publish;
+ @publish(true, "boolean", "Render HTML")
+ renderHtml: publish;
+*/
+
+export interface Common {
+ noDataMessage(): string;
+ noDataMessage(_: string): this;
+ loadingMessage(): string;
+ loadingMessage(_: string): this;
+ pagination(): boolean;
+ pagination(_: boolean): this;
+ pageSize(): number;
+ pageSize(_: number): this;
+ sortable(): boolean;
+ sortable(_: boolean): this;
+ sortBy(): string;
+ sortBy(_: string): this;
+ sortByDescending(): boolean;
+ sortByDescending(_: boolean): this;
+ multiSelect(): boolean;
+ multiSelect(_: boolean): this;
+ renderHtml(): boolean;
+ renderHtml(_: boolean): this;
+}
+
+Common.prototype.publish("noDataMessage", "...empty...", "string", "No Data Message");
+Common.prototype.publish("loadingMessage", "loading...", "string", "Loading Message");
+Common.prototype.publish("pagination", false, "boolean", "Enable paging");
+Common.prototype.publish("pageSize", 25, "number", "Page size");
+Common.prototype.publish("sortable", false, "boolean", "Enable sorting by column");
+Common.prototype.publish("sortBy", null, "set", "Default 'sort by' Column ID", function (this: Common) { return this.columns(); }, { optional: true });
+Common.prototype.publish("sortByDescending", false, "boolean", "Default 'sort by' descending", undefined, { disable: self => !self.sortBy() });
+Common.prototype.publish("multiSelect", false, "boolean", "Multiple Selection");
+Common.prototype.publish("renderHtml", true, "boolean", "Render HTML");
+
diff --git a/packages/dgrid/src/DBStore.ts b/packages/dgrid/src/DBStore.ts
index c436346f09..c31d77fb3e 100644
--- a/packages/dgrid/src/DBStore.ts
+++ b/packages/dgrid/src/DBStore.ts
@@ -1,6 +1,6 @@
import { Database } from "@hpcc-js/common";
-import { Deferred } from "@hpcc-js/dgrid-shim";
-import { CellFormatter, CellRenderer, ColumnType, RowFormatter } from "./RowFormatter";
+import { Deferred } from "./dgrid-shim.ts";
+import { CellFormatter, CellRenderer, ColumnType, RowFormatter } from "./RowFormatter.ts";
export class DBStore {
private _db: Database.Grid;
diff --git a/packages/dgrid/src/DatasourceStore.ts b/packages/dgrid/src/DatasourceStore.ts
index 0f0469174a..5b4d5a4cf9 100644
--- a/packages/dgrid/src/DatasourceStore.ts
+++ b/packages/dgrid/src/DatasourceStore.ts
@@ -1,6 +1,6 @@
-import { DDL2 } from "@hpcc-js/ddl-shim";
-import { Deferred, QueryResults } from "@hpcc-js/dgrid-shim";
-import { ColumnType, RowFormatter } from "./RowFormatter";
+import type { DDL2 } from "@hpcc-js/ddl-shim";
+import { Deferred, QueryResults } from "./dgrid-shim.ts";
+import { ColumnType, RowFormatter } from "./RowFormatter.ts";
export interface IDatasource {
id: () => string;
diff --git a/packages/dgrid/src/DatasourceTable.ts b/packages/dgrid/src/DatasourceTable.ts
index 9b4092414f..69bc3d5202 100644
--- a/packages/dgrid/src/DatasourceTable.ts
+++ b/packages/dgrid/src/DatasourceTable.ts
@@ -1,18 +1,15 @@
-import { publish, Widget } from "@hpcc-js/common";
-import { Memory } from "@hpcc-js/dgrid-shim";
-import { Common } from "./Common";
-import { DatasourceStore, IDatasource } from "./DatasourceStore";
+import { Widget } from "@hpcc-js/common";
+import { Memory } from "./dgrid-shim.ts";
+import { Common } from "./Common.ts";
+import { DatasourceStore, IDatasource } from "./DatasourceStore.ts";
export class DatasourceTable extends Common {
- _prevDatasource: IDatasource;
+ _prevDatasource?: IDatasource;
constructor() {
super();
}
- @publish(null, "object", "Datasource")
- datasource: { (): IDatasource; (_: IDatasource): DatasourceTable };
-
invalidate(): this {
delete this._prevDatasource;
return this;
@@ -55,3 +52,16 @@ export class DatasourceTable extends Common {
}
}
DatasourceTable.prototype._class += " dgrid_DatasourceTable";
+
+/*
+ @publish(null, "object", "Datasource")
+ datasource: { (): IDatasource; (_: IDatasource): DatasourceTable };
+ */
+
+export interface DatasourceTable {
+ datasource(): IDatasource;
+ datasource(_: IDatasource): this;
+}
+
+DatasourceTable.prototype.publish("datasource", null, "object", "Datasource");
+
diff --git a/packages/dgrid/src/Table.ts b/packages/dgrid/src/Table.ts
index c1471f6c33..0696460516 100644
--- a/packages/dgrid/src/Table.ts
+++ b/packages/dgrid/src/Table.ts
@@ -2,8 +2,8 @@
import { hashSum } from "@hpcc-js/util";
import { format as d3Format } from "d3-format";
import { select as d3Select } from "d3-selection";
-import { Common } from "./Common";
-import { CellFormatter, CellRenderer, ColumnType, RowType } from "./RowFormatter";
+import { Common } from "./Common.ts";
+import { CellFormatter, CellRenderer, ColumnType, RowType } from "./RowFormatter.ts";
// ColumnPalette ---
export class ColumnFormat extends PropertyExt {
@@ -16,7 +16,7 @@ export class ColumnFormat extends PropertyExt {
owner(): Table;
owner(_: Table): this;
owner(_?: Table): Table | this {
- if (!arguments.length) return this._owner;
+ if (_ === undefined) return this._owner;
this._owner = _;
return this;
}
@@ -54,7 +54,7 @@ export class ColumnFormat extends PropertyExt {
}
const value = valueColIdx ? row.__origRow[valueColIdx] : cell;
const background = palette(value, min, max);
- const cellText = defaultFormatter.call(this, cell, row);
+ const cellText: any = defaultFormatter.call(this, cell, row);
d3Select(cellElement)
.style("background", background)
.style("color", background && Palette.textColor(background))
@@ -103,8 +103,8 @@ export class Table extends Common {
}
fields(_?: any): any | this {
- const retVal = super.fields.apply(this, arguments);
- if (arguments.length) {
+ const retVal = super.fields(_);
+ if (_ !== undefined) {
const hash = hashSum({ _ });
if (this._prevFieldsHash !== hash) {
this._prevFieldsHash = hash;
@@ -115,8 +115,8 @@ export class Table extends Common {
}
columns(_?: any): any | this {
- const retVal = super.columns.apply(this, arguments);
- if (arguments.length) {
+ const retVal = super.columns(_);
+ if (_ !== undefined) {
const hash = hashSum({ _ });
if (this._prevColsHash !== hash) {
this._prevColsHash = hash;
@@ -127,8 +127,8 @@ export class Table extends Common {
}
data(_?: any): any | this {
- const retVal = super.data.apply(this, arguments);
- if (arguments.length) {
+ const retVal = super.data(_);
+ if (_ !== undefined) {
this._dataRefresh = true;
}
return retVal;
diff --git a/packages/dgrid/src/dgrid-shim.ts b/packages/dgrid/src/dgrid-shim.ts
new file mode 100644
index 0000000000..df7f91e696
--- /dev/null
+++ b/packages/dgrid/src/dgrid-shim.ts
@@ -0,0 +1,12 @@
+import type * as dgrid_shim from "@hpcc-js/dgrid-shim";
+
+if (!globalThis["@hpcc-js/dgrid-shim"]) {
+ console.error("dgrid-shim not loaded, please add to your HTML file");
+}
+
+export const Deferred = globalThis["@hpcc-js/dgrid-shim"].Deferred as typeof dgrid_shim.Deferred;
+export const Memory = globalThis["@hpcc-js/dgrid-shim"].Memory as typeof dgrid_shim.Memory;
+export const QueryResults = globalThis["@hpcc-js/dgrid-shim"].QueryResults as typeof dgrid_shim.QueryResults;
+export const Grid = globalThis["@hpcc-js/dgrid-shim"].Grid as typeof dgrid_shim.Grid;
+export const PagingGrid = globalThis["@hpcc-js/dgrid-shim"].PagingGrid as typeof dgrid_shim.PagingGrid;
+export const domConstruct = globalThis["@hpcc-js/dgrid-shim"].domConstruct as typeof dgrid_shim.domConstruct;
diff --git a/packages/dgrid/src/index.ts b/packages/dgrid/src/index.ts
index 252ef5097a..71f3d4ad08 100644
--- a/packages/dgrid/src/index.ts
+++ b/packages/dgrid/src/index.ts
@@ -1,11 +1,11 @@
-export * from "./__package__";
-export * from "./Common";
-export * from "./DatasourceStore";
-export * from "./DatasourceTable";
-export * from "./DBStore";
-export * from "./RowFormatter";
-export * from "./Table";
+export * from "./__package__.ts";
+export * from "./Common.ts";
+export * from "./DatasourceStore.ts";
+export * from "./DatasourceTable.ts";
+export * from "./DBStore.ts";
+export * from "./RowFormatter.ts";
+export * from "./Table.ts";
// Must be last...
-export { Deferred, domConstruct, Memory, QueryResults } from "@hpcc-js/dgrid-shim";
+// export { Deferred, domConstruct, Memory, QueryResults } from "./dgrid-shim.ts";
diff --git a/packages/dgrid/tests/dgrid.browser.spec.ts b/packages/dgrid/tests/dgrid.browser.spec.ts
new file mode 100644
index 0000000000..4b788c0a74
--- /dev/null
+++ b/packages/dgrid/tests/dgrid.browser.spec.ts
@@ -0,0 +1,121 @@
+import { Class, HTMLWidget, set, SVGWidget } from "@hpcc-js/common";
+import { describe, it, expect, test } from "vitest";
+import { classDef, renderMedium, renderShort, renderSmall, renderWide } from "../../common/tests/index.ts";
+
+let dgridMod: any;
+
+// test('load script dynamically', async () => {
+// console.log('Current working directory:', import.meta.resolve("../../dgrid-shim/dist/index.js"));
+
+// const script = document.createElement('script');
+// script.src = import.meta.resolve("../../dgrid-shim/dist/index.js");
+// script.type = 'text/javascript';
+// document.head.appendChild(script);
+// await new Promise((resolve) => {
+// script.onload = () => {
+// resolve();
+// }
+// });
+
+// dgridMod = await import("@hpcc-js/dgrid");
+// });
+
+
+const urlSearch: string = window.location.href.split("?")[1];
+const simple = {
+ ND: {
+ columns: ["Subject", "Year 1", "Year 2", "Year 3", "Year 4"],
+ data: [
+ ["English", 5, 43, 41, 92],
+ ["English II", 17, 43, 83, 93],
+ ["English III", 6, 43, 64, 93],
+ ["Geography", 7, 45, 52, 83],
+ ["Geography II", 16, 73, 52, 83],
+ ["Geography III", 26, 83, 11, 72],
+ ["Science", 66, 60, 85, 6],
+ ["Science II", 46, 20, 53, 7],
+ ["Science III", 46, 20, 38, 7],
+ ["Math", 98, 30, 23, 13],
+ ["Math II", 76, 30, 34, 6],
+ ["Math III", 80, 30, 27, 8]
+ ]
+ },
+};
+
+describe("@hpcc-js/dgrid", async () => {
+
+ const script = document.createElement('script');
+ script.src = import.meta.resolve("../../dgrid-shim/dist/index.js");
+ script.type = 'text/javascript';
+ document.head.appendChild(script);
+
+ await new Promise((resolve) => {
+ script.onload = () => {
+ resolve();
+ }
+ });
+
+ it("Shim Loaded", () => {
+ expect(window["dgrid_shim"]).to.exist;
+ });
+
+ const dgridMod = await import("@hpcc-js/dgrid");
+
+ it("dgridMod Loaded", () => {
+ expect(dgridMod).to.exist;
+ });
+
+ for (const key in dgridMod) {
+ const item = dgridMod[key];
+ if (item?.prototype?.constructor?.name) {
+ describe(`${item.prototype?.constructor?.name}`, () => {
+ it("Simple", () => {
+ expect(true).to.be.true;
+ });
+
+ if (item.prototype instanceof Class) {
+ it("Class Derived", () => {
+ expect(item.prototype instanceof Class).to.be.true;
+ });
+ }
+
+
+
+ if (item.prototype instanceof Class) {
+ classDef("dgrid", item);
+ }
+
+ if (item.prototype instanceof HTMLWidget || item.prototype instanceof SVGWidget) {
+ it(item.prototype.constructor.name, () => {
+ expect(true).to.be.true;
+ });
+ if (item instanceof dgridMod.Table) {
+ renderMedium(new dgridMod.Table()
+ .columns(simple.ND.columns)
+ .data(simple.ND.data)
+ );
+ }
+ switch (item.prototype.constructor) {
+ case dgridMod.Common:
+ case dgridMod.DatasourceTable:
+ break;
+ case dgridMod.Table:
+ it("renderMedium", () => {
+ expect(true).to.be.true;
+ });
+ renderMedium(new item.prototype.constructor()
+ .columns(simple.ND.columns)
+ .data(simple.ND.data)
+ );
+ break;
+ default:
+ it("Has render test", () => {
+ expect(false).to.be.true;
+ });
+ }
+ }
+ });
+
+ }
+ }
+});
diff --git a/packages/dgrid/tmp.txt b/packages/dgrid/tmp.txt
new file mode 100644
index 0000000000..80e8aba12e
--- /dev/null
+++ b/packages/dgrid/tmp.txt
@@ -0,0 +1,106 @@
+
+ DEV v2.1.4 /home/gordon/Visualization/packages/dgrid
+ [browser] Browser runner started by playwright at http://localhost:63315/
+
+ ✓ |browser| tests/dgrid.browser.spec.ts (28 tests) 209ms
+
+ Test Files 1 passed (1)
+ Tests 28 passed (28)
+ Start at 13:52:42
+ Duration 1.09s (transform 0ms, setup 0ms, collect 194ms, tests 209ms, environment 0ms, prepare 217ms)
+
+
+ PASS Waiting for file changes...
+ press h to show help, press q to quit
+c[3J
+ RERUN x1
+
+ ❯ |browser| tests/dgrid.browser.spec.ts (28 tests | 28 failed) 25ms
+ × @hpcc-js/dgrid > Shim Loaded 3ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > dgridMod Loaded 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > ColumnFormat > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > ColumnFormat > Class Derived 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > ColumnFormat > #constructor() > new 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > ColumnFormat > #constructor() > classID 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Common > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Common > Class Derived 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Common > #constructor() > new 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Common > #constructor() > classID 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Common > Common 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DBStore > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceCache > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceStore > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceTable > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceTable > Class Derived 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceTable > #constructor() > new 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceTable > #constructor() > classID 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > DatasourceTable > DatasourceTable 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > RowFormatter > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > Simple 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > Class Derived 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > #constructor() > new 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > #constructor() > classID 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > Table 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > renderMedium 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > #render() > Basic render 1ms
+ → Page "none" not found
+ × @hpcc-js/dgrid > Table > #render() > exit, enter, render 1ms
+ → Page "none" not found
+
+⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
+
+Vitest caught 1 unhandled error during the test run.
+This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
+⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
+ Test Files 1 failed (1)
+ Tests 28 failed (28)
+ Errors 1 error
+ Start at 13:54:51
+ Duration 283ms
+
+
+ FAIL Tests failed. Watching for file changes...
+ press h to show help, press q to quit
+ rerun x1
+[2K[1A[2K[Gc[3J
+ RERUN x2
+
+ ✓ |browser| tests/dgrid.browser.spec.ts (28 tests) 207ms
+
+ Test Files 1 passed (1)
+ Tests 28 passed (28)
+ Start at 13:55:02
+ Duration 315ms
+
+
+ PASS Waiting for file changes...
+ press h to show help, press q to quit
+ rerun x2
+[2K[1A[2K[GCancelling test run. Press CTRL+c again to exit forcefully.
+
diff --git a/packages/dgrid/tsconfig.json b/packages/dgrid/tsconfig.json
index 74e240a333..318ecdd23e 100644
--- a/packages/dgrid/tsconfig.json
+++ b/packages/dgrid/tsconfig.json
@@ -1,22 +1,24 @@
{
- "extends": "../tsconfig.settings.json",
"compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib-umd",
- "declarationDir": "./types",
+ "rootDir": "src",
+ "module": "NodeNext",
+ "target": "ESNext",
+ "resolveJsonModule": true,
+ "emitDeclarationOnly": true,
+ "declaration": true,
+ "declarationDir": "types",
+ "strict": true,
+ "noImplicitAny": false,
+ "strictNullChecks": false,
+ "skipLibCheck": true,
+ "allowImportingTsExtensions": true,
+ "lib": [
+ "DOM",
+ "ESNext",
+ "ES2020"
+ ]
},
"include": [
- "./src/**/*"
- ],
- "references": [
- {
- "path": "../common"
- },
- {
- "path": "../ddl-shim"
- },
- {
- "path": "../dgrid-shim"
- },
+ "./src/index.ts"
]
}
\ No newline at end of file
diff --git a/packages/dgrid/vitest.workspace.ts b/packages/dgrid/vitest.workspace.ts
new file mode 100644
index 0000000000..fa7bb0720b
--- /dev/null
+++ b/packages/dgrid/vitest.workspace.ts
@@ -0,0 +1,6 @@
+import { defineWorkspace } from 'vitest/config';
+import baseWorkspace from '../../vitest.workspace.ts';
+
+export default defineWorkspace([
+ ...baseWorkspace
+])
\ No newline at end of file
diff --git a/packages/esbuild-plugins/src/remove-strict.ts b/packages/esbuild-plugins/src/remove-strict.ts
index 8a764dd47f..d0523666ed 100644
--- a/packages/esbuild-plugins/src/remove-strict.ts
+++ b/packages/esbuild-plugins/src/remove-strict.ts
@@ -8,6 +8,7 @@ export function removeStrict(): Plugin {
build.initialOptions.write = false;
build.onEnd((result) => {
result?.outputFiles?.forEach(file => {
+ console.log(file.path);
if (file.path.endsWith(".js")) {
const contents = file.text.replace(/"use strict";/g, "");
if (contents.indexOf("use strict") >= 0) {
diff --git a/packages/markdown-it-plugins/.vscode/launch.json b/packages/markdown-it-plugins/.vscode/launch.json
index 55300a72e6..c5e43dbf15 100644
--- a/packages/markdown-it-plugins/.vscode/launch.json
+++ b/packages/markdown-it-plugins/.vscode/launch.json
@@ -73,7 +73,7 @@
"name": "index.html",
"request": "launch",
"type": "msedge",
- "url": "http://localhost:5174/${workspaceFolder}/index.html",
+ "url": "file:///${workspaceFolder}/index.html",
"runtimeArgs": [
"--disable-web-security"
],
diff --git a/packages/markdown-it-plugins/esbuild.js b/packages/markdown-it-plugins/esbuild.js
index ee36c5c86d..610ba98555 100644
--- a/packages/markdown-it-plugins/esbuild.js
+++ b/packages/markdown-it-plugins/esbuild.js
@@ -1,9 +1,15 @@
import { nodeTpl, browserTpl } from "@hpcc-js/esbuild-plugins";
+import pkg from "./package.json" with { type: "json" };
// config ---
await Promise.all([
nodeTpl("src/index.ts", "dist/index.node"),
nodeTpl("src/loader.ts", "dist/loader.node", { supported: { "dynamic-import": true } }),
nodeTpl("src/ecl-lang/index.ts", "dist/ecl-lang"),
- browserTpl("src/index.ts", "dist/index")
+ browserTpl("src/index.ts", "dist/index", {
+ keepNames: true,
+ external: [
+ ...Object.keys(pkg.dependencies),
+ ]
+ })
]);
diff --git a/packages/markdown-it-plugins/index.html b/packages/markdown-it-plugins/index.html
index 2a07d12828..67702d5c13 100644
--- a/packages/markdown-it-plugins/index.html
+++ b/packages/markdown-it-plugins/index.html
@@ -1,22 +1,68 @@
-
-
+
+
-
-
-
- Vite + TS
+ Home
+
+
+
-
-
-
-
+
+
\ No newline at end of file
diff --git a/packages/observablehq-compiler/.vscode/launch.json b/packages/observablehq-compiler/.vscode/launch.json
index 3ee32e4122..7c2436335f 100644
--- a/packages/observablehq-compiler/.vscode/launch.json
+++ b/packages/observablehq-compiler/.vscode/launch.json
@@ -28,6 +28,20 @@
"${workspaceFolder}/**/*.js",
"!**/node_modules/**"
],
+ },
+ {
+ "name": "index.html",
+ "request": "launch",
+ "type": "msedge",
+ "url": "file:///${workspaceFolder}/index.html",
+ "runtimeArgs": [
+ "--disable-web-security"
+ ],
+ "webRoot": "${workspaceFolder}",
+ "outFiles": [
+ "${workspaceFolder}/**/*.js",
+ "!**/node_modules/**"
+ ]
}
]
}
\ No newline at end of file
diff --git a/packages/observablehq-compiler/.vscode/tasks.json b/packages/observablehq-compiler/.vscode/tasks.json
index a046004a24..120545d06c 100644
--- a/packages/observablehq-compiler/.vscode/tasks.json
+++ b/packages/observablehq-compiler/.vscode/tasks.json
@@ -1,17 +1,6 @@
{
"version": "2.0.0",
"tasks": [
- {
- "label": "check-watch",
- "type": "npm",
- "script": "check-watch",
- "problemMatcher": [
- "$tsc-watch"
- ],
- "presentation": {
- "group": "group-build"
- }
- },
{
"label": "gen-types-watch",
"type": "npm",
@@ -32,21 +21,11 @@
"group": "group-build"
}
},
- {
- "type": "npm",
- "label": "test-serve",
- "script": "test-serve",
- "presentation": {
- "group": "group-build"
- }
- },
{
"label": "build",
"dependsOn": [
- "check-watch",
"gen-types-watch",
"bundle-watch",
- "test-serve"
],
"group": {
"kind": "build",
diff --git a/packages/observablehq-compiler/index.html b/packages/observablehq-compiler/index.html
index 573ce667ae..ed07c93d27 100644
--- a/packages/observablehq-compiler/index.html
+++ b/packages/observablehq-compiler/index.html
@@ -1,21 +1,53 @@
-
+
-
- @hpcc-js/observable-md
-
-
-
-
+ Home
+
+
+
+
-
-
-
+ const notebook = omd2notebook(md);
+ const compiled = await compile(notebook);
+
+ const library = new Library();
+ const runtime = new Runtime(library);
+
+ const placeholder = document.getElementById("placeholder");
+ const main = compiled(runtime, name => {
+ if (placeholder) {
+ const div = globalThis?.document.createElement("div");
+ placeholder.appendChild(div);
+ return new Inspector(div);
+ }
+ return {
+ pending() { },
+ fulfilled(value) { console.info("fulfilled", name, value); },
+ rejected(error) { console.error("rejected", name, error); },
+ };
+ });
+
\ No newline at end of file
diff --git a/packages/observablehq-compiler/package.json b/packages/observablehq-compiler/package.json
index 39eb14bf32..e3abf619cb 100644
--- a/packages/observablehq-compiler/package.json
+++ b/packages/observablehq-compiler/package.json
@@ -28,6 +28,7 @@
"build": "run-p gen-types bundle",
"stamp": "node ../../node_modules/@hpcc-js/bundle/src/stamp.js",
"lint": "eslint ./src",
+ "lint-fix": "eslint --fix src/**/*.ts",
"docs": "typedoc --options tdoptions.json .",
"test-browser": "vitest run --project browser",
"test-node": "vitest run --project node",
diff --git a/packages/util/package.json b/packages/util/package.json
index ba154bddd1..34adefe561 100644
--- a/packages/util/package.json
+++ b/packages/util/package.json
@@ -34,7 +34,7 @@
"update-major": "npx -y npm-check-updates -u"
},
"dependencies": {
- "@xmldom/xmldom": "0.9.4"
+ "@xmldom/xmldom": "0.9.5"
},
"devDependencies": {
"@hpcc-js/bundle": "^2.12.0",
diff --git a/resources/hpcc-systems-dark.svg b/resources/hpcc-systems-dark.svg
new file mode 100644
index 0000000000..1484707bcb
--- /dev/null
+++ b/resources/hpcc-systems-dark.svg
@@ -0,0 +1,79 @@
+
+
\ No newline at end of file
diff --git a/resources/hpcc-systems.svg b/resources/hpcc-systems.svg
new file mode 100644
index 0000000000..316847edf3
--- /dev/null
+++ b/resources/hpcc-systems.svg
@@ -0,0 +1,69 @@
+
\ No newline at end of file
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
index 2de489cc51..d43fc45e25 100644
--- a/vitest.workspace.ts
+++ b/vitest.workspace.ts
@@ -1,10 +1,11 @@
-import { defineWorkspace } from 'vitest/config'
+import { configDefaults, defineWorkspace } from 'vitest/config'
export default defineWorkspace([
{
test: {
name: 'node',
exclude: [
+ ...configDefaults.exclude,
'**/*.browser.spec.{ts,js}',
"**/node_modules/**",
"**/.nx/**",
@@ -13,12 +14,15 @@ export default defineWorkspace([
"**/demos/**",
"**/src/**",
],
- environment: 'node'
+ environment: 'node',
+ setupFiles: []
}
}, {
test: {
name: 'browser',
exclude: [
+ ...configDefaults.exclude,
+ "@hpcc-js/dgrid-shim",
'**/*.node.spec.{ts,js}',
"**/node_modules/**",
"**/.nx/**",
@@ -39,6 +43,7 @@ export default defineWorkspace([
},
screenshotFailures: false
},
+ setupFiles: []
}
}
])