@emuanalytics/flow-rdf-core 4.0.0-preview.6 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +676 -665
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +643 -643
- package/dist/lib/map/plugins/index.cjs +35 -34
- package/dist/lib/map/plugins/index.d.cts +2 -2
- package/dist/lib/map/plugins/index.d.mts +2 -2
- package/dist/lib/map/plugins/index.d.ts +2 -2
- package/dist/lib/map/plugins/index.mjs +6 -6
- package/dist/lib/utils/index.cjs +31 -29
- package/dist/lib/utils/index.d.cts +10 -9
- package/dist/lib/utils/index.d.mts +10 -9
- package/dist/lib/utils/index.d.ts +10 -9
- package/dist/lib/utils/index.mjs +4 -3
- package/dist/shared/{flow-rdf-core.769a4928.d.mts → flow-rdf-core.04b30d7a.d.cts} +801 -802
- package/dist/shared/{flow-rdf-core.769a4928.d.ts → flow-rdf-core.04b30d7a.d.mts} +801 -802
- package/dist/shared/{flow-rdf-core.769a4928.d.cts → flow-rdf-core.04b30d7a.d.ts} +801 -802
- package/dist/shared/{flow-rdf-core.ea06a1d3.mjs → flow-rdf-core.187cb345.mjs} +1 -1
- package/dist/shared/{flow-rdf-core.bd95d618.mjs → flow-rdf-core.1f0901c5.mjs} +1 -1
- package/dist/shared/{flow-rdf-core.b80085b4.mjs → flow-rdf-core.25e5f6d7.mjs} +9 -1
- package/dist/shared/{flow-rdf-core.1f72b20b.cjs → flow-rdf-core.55c169ca.cjs} +2 -2
- package/dist/shared/{flow-rdf-core.1f9c0593.cjs → flow-rdf-core.9b5dad76.cjs} +26 -34
- package/dist/shared/{flow-rdf-core.84eded74.cjs → flow-rdf-core.a82b9be4.cjs} +4 -4
- package/dist/shared/{flow-rdf-core.ce91eb14.mjs → flow-rdf-core.e2b1bb7f.mjs} +2 -9
- package/dist/shared/{flow-rdf-core.3042be4a.cjs → flow-rdf-core.f50908f0.cjs} +9 -0
- package/package.json +5 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { customAlphabet } from 'nanoid';
|
|
2
|
+
|
|
1
3
|
const isUndefined = (val) => typeof val === "undefined";
|
|
2
4
|
const isNull = (val) => val === null;
|
|
3
5
|
const isNil = (val) => isUndefined(val) || isNull(val);
|
|
@@ -63,4 +65,10 @@ function ensureArray(a, ...rest) {
|
|
|
63
65
|
|
|
64
66
|
const capitalize = (str, lowerRest = false) => str.slice(0, 1).toUpperCase() + (lowerRest ? str.slice(1).toLowerCase() : str.slice(1));
|
|
65
67
|
|
|
66
|
-
|
|
68
|
+
const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01923456789", 10);
|
|
69
|
+
function randomId(prefix, length) {
|
|
70
|
+
const id = nanoid(length);
|
|
71
|
+
return prefix ? `${prefix}-${id}` : id;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export { randomId as A, isNull as a, isNil as b, capitalize as c, isDefined as d, ensureArray as e, isString as f, isStringFull as g, hasLength as h, isUndefined as i, isArray as j, isArrayFull as k, isArrayStrings as l, isObject as m, isObjectFull as n, isNumber as o, isFalse as p, isTrue as q, isIn as r, isBoolean as s, isNumeric as t, isDate as u, isValue as v, hasValue as w, isFunction as x, isPlainObject as y, isURL as z };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const randomId = require('./flow-rdf-core.f50908f0.cjs');
|
|
4
4
|
|
|
5
5
|
const doNotMemoize = Symbol("Do not memoize");
|
|
6
6
|
function memoize(originalFunction, options) {
|
|
@@ -32,7 +32,7 @@ function debounce(func, wait, options) {
|
|
|
32
32
|
const leading = options.leading;
|
|
33
33
|
const trailing = options.trailing;
|
|
34
34
|
const maxWait = options.maxWait;
|
|
35
|
-
const maxing =
|
|
35
|
+
const maxing = randomId.isNumber(maxWait);
|
|
36
36
|
let lastArgs;
|
|
37
37
|
let lastThis;
|
|
38
38
|
let result;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const mobx = require('mobx');
|
|
4
|
-
const
|
|
4
|
+
const randomId = require('./flow-rdf-core.f50908f0.cjs');
|
|
5
5
|
const maplibreSpec = require('@emuanalytics/maplibre-gl-style-spec');
|
|
6
6
|
const mobxUtils = require('mobx-utils');
|
|
7
7
|
const P = require('parsimmon');
|
|
8
8
|
const colorbrewer = require('colorbrewer');
|
|
9
|
-
const nanoid$1 = require('nanoid');
|
|
10
9
|
const Debug = require('debug');
|
|
11
10
|
|
|
12
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
@@ -291,9 +290,9 @@ function fromPalette(expr, parentExpression) {
|
|
|
291
290
|
const property = expr[2];
|
|
292
291
|
let colorStops = expr.slice(3);
|
|
293
292
|
let palette;
|
|
294
|
-
if (
|
|
293
|
+
if (randomId.isString(paletteIdOrArray)) {
|
|
295
294
|
palette = palettes[paletteIdOrArray]?.colors || palettes["Greys"].colors;
|
|
296
|
-
} else if (
|
|
295
|
+
} else if (randomId.isArray(paletteIdOrArray) && paletteIdOrArray[0] === "literal") {
|
|
297
296
|
palette = paletteIdOrArray[1];
|
|
298
297
|
} else {
|
|
299
298
|
throw new FlowExpressionError(parentExpression.expression, "evaluationError", ["from-palette requires palette id as string or custom palette array"]);
|
|
@@ -371,7 +370,7 @@ function stateCustomFunction(expr, parentExpression) {
|
|
|
371
370
|
}
|
|
372
371
|
const path = expr.slice(1).join(".");
|
|
373
372
|
const val = parentExpression.store.get(path);
|
|
374
|
-
if (
|
|
373
|
+
if (randomId.isNil(val)) {
|
|
375
374
|
return null;
|
|
376
375
|
} else if (typeof val === "object") {
|
|
377
376
|
return ["literal", val];
|
|
@@ -406,7 +405,7 @@ const _ReactiveExpression = class _ReactiveExpression {
|
|
|
406
405
|
{ name: this.formatName(expression) }
|
|
407
406
|
);
|
|
408
407
|
this._expression = expression;
|
|
409
|
-
if (
|
|
408
|
+
if (randomId.isDefined(parsedExpression)) {
|
|
410
409
|
this.parsedResult = {
|
|
411
410
|
status: true,
|
|
412
411
|
value: parsedExpression
|
|
@@ -425,7 +424,7 @@ const _ReactiveExpression = class _ReactiveExpression {
|
|
|
425
424
|
}
|
|
426
425
|
static parseProgram(program) {
|
|
427
426
|
const parsedProgram = this.parser.parseProgram(program);
|
|
428
|
-
if (
|
|
427
|
+
if (randomId.isString(program) && program.length === 0) {
|
|
429
428
|
return {};
|
|
430
429
|
}
|
|
431
430
|
if (parsedProgram.status) {
|
|
@@ -532,7 +531,7 @@ const _MapDataSource = class _MapDataSource {
|
|
|
532
531
|
..._MapDataSource.defaultOptions,
|
|
533
532
|
...options
|
|
534
533
|
};
|
|
535
|
-
if (!
|
|
534
|
+
if (!randomId.isIn(options.type, ["vector", "geojson", "raster"])) {
|
|
536
535
|
throw new FlowError(`${this.formattedName()}: unrecognized type '${options.type}'`);
|
|
537
536
|
}
|
|
538
537
|
this.setSrcExpression(options.src);
|
|
@@ -564,13 +563,13 @@ const _MapDataSource = class _MapDataSource {
|
|
|
564
563
|
}
|
|
565
564
|
get dataSourceSpecification() {
|
|
566
565
|
let src = this._srcExpression ? mobx__namespace.toJS(this._srcExpression.value) : this._options.src;
|
|
567
|
-
if (
|
|
566
|
+
if (randomId.isString(src)) {
|
|
568
567
|
src = this.expandSrc(src, this._options.type);
|
|
569
568
|
}
|
|
570
569
|
let ds;
|
|
571
570
|
switch (this._options.type) {
|
|
572
571
|
case "vector":
|
|
573
|
-
ds =
|
|
572
|
+
ds = randomId.isStringFull(src) ? {
|
|
574
573
|
type: "vector",
|
|
575
574
|
url: src
|
|
576
575
|
} : (
|
|
@@ -585,7 +584,7 @@ const _MapDataSource = class _MapDataSource {
|
|
|
585
584
|
}
|
|
586
585
|
return ds;
|
|
587
586
|
case "raster":
|
|
588
|
-
ds =
|
|
587
|
+
ds = randomId.isStringFull(src) ? {
|
|
589
588
|
type: "raster",
|
|
590
589
|
url: src
|
|
591
590
|
} : (
|
|
@@ -628,7 +627,7 @@ const _MapDataSource = class _MapDataSource {
|
|
|
628
627
|
this.setSrcExpression(val);
|
|
629
628
|
}
|
|
630
629
|
setParameter(name, expression) {
|
|
631
|
-
if (
|
|
630
|
+
if (randomId.isNil(expression)) {
|
|
632
631
|
delete this._parameters[name];
|
|
633
632
|
} else {
|
|
634
633
|
const expr = new ReactiveExpression(expression);
|
|
@@ -643,8 +642,8 @@ const _MapDataSource = class _MapDataSource {
|
|
|
643
642
|
return `MapDataSource<${id || this._options.id}>`;
|
|
644
643
|
}
|
|
645
644
|
setSrcExpression(src) {
|
|
646
|
-
if (
|
|
647
|
-
if (
|
|
645
|
+
if (randomId.isString(src)) {
|
|
646
|
+
if (randomId.isURL(src))
|
|
648
647
|
src = `'${src}'`;
|
|
649
648
|
this._srcExpression = new ReactiveExpression(src);
|
|
650
649
|
this._srcExpression.bindState(this._state);
|
|
@@ -662,7 +661,7 @@ const _MapDataSource = class _MapDataSource {
|
|
|
662
661
|
expandSrc(src, type) {
|
|
663
662
|
const host = this._options.flowHost;
|
|
664
663
|
let isGeoJSON = false;
|
|
665
|
-
if (!
|
|
664
|
+
if (!randomId.isURL(src)) {
|
|
666
665
|
switch (type) {
|
|
667
666
|
case "vector":
|
|
668
667
|
case "raster":
|
|
@@ -678,7 +677,7 @@ const _MapDataSource = class _MapDataSource {
|
|
|
678
677
|
}
|
|
679
678
|
const urlObj = new URL(src);
|
|
680
679
|
const combinedParams = new URLSearchParams(urlObj.searchParams);
|
|
681
|
-
Object.entries(this._parameters).filter(([_, expr]) => !
|
|
680
|
+
Object.entries(this._parameters).filter(([_, expr]) => !randomId.isNil(expr.value)).forEach(([key, expr]) => combinedParams.append(key, expr.value));
|
|
682
681
|
if (this._options.flowHost && src.startsWith(this._options.flowHost) && !combinedParams.has("apikey") && this._options.flowApiKey) {
|
|
683
682
|
combinedParams.append("apikey", this._options.flowApiKey);
|
|
684
683
|
}
|
|
@@ -758,25 +757,25 @@ const _MapLayer = class _MapLayer {
|
|
|
758
757
|
type: this._options.type,
|
|
759
758
|
source: this._options.source
|
|
760
759
|
};
|
|
761
|
-
if (
|
|
760
|
+
if (randomId.isDefined(this._options.minZoom)) {
|
|
762
761
|
layer.minzoom = this._options.minZoom;
|
|
763
762
|
}
|
|
764
|
-
if (
|
|
763
|
+
if (randomId.isDefined(this._options.maxZoom)) {
|
|
765
764
|
layer.maxzoom = this._options.maxZoom;
|
|
766
765
|
}
|
|
767
|
-
if (
|
|
766
|
+
if (randomId.isDefined(this._options.sourceLayer)) {
|
|
768
767
|
layer["source-layer"] = this._options.sourceLayer;
|
|
769
768
|
}
|
|
770
|
-
if (
|
|
769
|
+
if (randomId.isDefined(this._filter)) {
|
|
771
770
|
layer.filter = this._filter.maplibreExpression;
|
|
772
771
|
}
|
|
773
|
-
if (
|
|
772
|
+
if (randomId.isObjectFull(this._paintProps)) {
|
|
774
773
|
layer.paint = Object.keys(this._paintProps).reduce((accum, key) => {
|
|
775
774
|
accum[key] = this._paintProps[key].maplibreExpression;
|
|
776
775
|
return accum;
|
|
777
776
|
}, {});
|
|
778
777
|
}
|
|
779
|
-
if (
|
|
778
|
+
if (randomId.isObjectFull(this._layoutProps)) {
|
|
780
779
|
layer.layout = Object.keys(this._layoutProps).reduce((accum, key) => {
|
|
781
780
|
let expr = this._layoutProps[key].maplibreExpression;
|
|
782
781
|
if (key === "visibility") {
|
|
@@ -853,7 +852,7 @@ const _MapLayer = class _MapLayer {
|
|
|
853
852
|
setStyleProperty(property, expression) {
|
|
854
853
|
const metadata = this.getPropertyMetadata(property, this._options.type);
|
|
855
854
|
const props = metadata.type === "paint" ? this._paintProps : this._layoutProps;
|
|
856
|
-
if (
|
|
855
|
+
if (randomId.isNil(expression)) {
|
|
857
856
|
delete props[property];
|
|
858
857
|
} else {
|
|
859
858
|
const expr = new ReactiveExpression(expression).bindState(this._state);
|
|
@@ -865,7 +864,7 @@ const _MapLayer = class _MapLayer {
|
|
|
865
864
|
}
|
|
866
865
|
setFilter(expression) {
|
|
867
866
|
this._filter = null;
|
|
868
|
-
if (
|
|
867
|
+
if (randomId.isDefined(expression)) {
|
|
869
868
|
let expr = new ReactiveExpression(expression).bindState(this._state);
|
|
870
869
|
if (expr.parseError) {
|
|
871
870
|
throw expr.parseError;
|
|
@@ -933,12 +932,6 @@ function die(message) {
|
|
|
933
932
|
throw new FlowError(message);
|
|
934
933
|
}
|
|
935
934
|
|
|
936
|
-
const nanoid = nanoid$1.customAlphabet("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01923456789", 10);
|
|
937
|
-
const randomId = (prefix, length) => {
|
|
938
|
-
const id = nanoid(length);
|
|
939
|
-
return prefix ? `${prefix}-${id}` : id;
|
|
940
|
-
};
|
|
941
|
-
|
|
942
935
|
var __defProp$3 = Object.defineProperty;
|
|
943
936
|
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
944
937
|
var __publicField$3 = (obj, key, value) => {
|
|
@@ -1102,7 +1095,7 @@ class PluginManager {
|
|
|
1102
1095
|
getPlugin(pluginOrName) {
|
|
1103
1096
|
let name;
|
|
1104
1097
|
let pluginInstance;
|
|
1105
|
-
if (
|
|
1098
|
+
if (randomId.isString(pluginOrName)) {
|
|
1106
1099
|
pluginInstance = Array.from(this._plugins.values()).find((p) => p.name === pluginOrName);
|
|
1107
1100
|
name = pluginOrName;
|
|
1108
1101
|
} else {
|
|
@@ -1117,7 +1110,7 @@ class PluginManager {
|
|
|
1117
1110
|
removePlugin(pluginOrName) {
|
|
1118
1111
|
let pluginConstructor;
|
|
1119
1112
|
let pluginInstance;
|
|
1120
|
-
if (
|
|
1113
|
+
if (randomId.isString(pluginOrName)) {
|
|
1121
1114
|
const pair = Array.from(this._plugins.entries()).find(([_, p]) => p.name === pluginOrName);
|
|
1122
1115
|
pluginConstructor = pair && pair[0];
|
|
1123
1116
|
pluginInstance = pair && pair[1];
|
|
@@ -1154,7 +1147,7 @@ class PluginManager {
|
|
|
1154
1147
|
return this._keyboardShortcutManager.addListener(keyboardShortcuts, priority);
|
|
1155
1148
|
}
|
|
1156
1149
|
forwardEvent(eventName, ...args) {
|
|
1157
|
-
const handlerName = `handle${
|
|
1150
|
+
const handlerName = `handle${randomId.capitalize(eventName)}`;
|
|
1158
1151
|
this._plugins.forEach((plugin) => {
|
|
1159
1152
|
if (this._exclusivePlugins.size && !this._exclusivePlugins.has(plugin))
|
|
1160
1153
|
return;
|
|
@@ -1390,4 +1383,3 @@ exports.PluginManager = PluginManager;
|
|
|
1390
1383
|
exports.ReactiveExpression = ReactiveExpression;
|
|
1391
1384
|
exports.assert = assert;
|
|
1392
1385
|
exports.die = die;
|
|
1393
|
-
exports.randomId = randomId;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const invariant = require('@turf/invariant');
|
|
4
|
-
const
|
|
4
|
+
const randomId = require('./flow-rdf-core.f50908f0.cjs');
|
|
5
5
|
|
|
6
6
|
const isPoint = (val) => {
|
|
7
|
-
if (!
|
|
7
|
+
if (!randomId.isPlainObject(val)) {
|
|
8
8
|
return false;
|
|
9
9
|
}
|
|
10
10
|
return invariant.getType(val) === "Point";
|
|
11
11
|
};
|
|
12
12
|
const isLineString = (val) => {
|
|
13
|
-
if (!
|
|
13
|
+
if (!randomId.isPlainObject(val)) {
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
16
|
return invariant.getType(val) === "LineString";
|
|
17
17
|
};
|
|
18
18
|
const isPolygon = (val) => {
|
|
19
|
-
if (!
|
|
19
|
+
if (!randomId.isPlainObject(val)) {
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
22
|
return invariant.getType(val) === "Polygon";
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as mobx from 'mobx';
|
|
2
2
|
import { makeObservable, observable, computed, action, onBecomeObserved, onBecomeUnobserved, runInAction } from 'mobx';
|
|
3
|
-
import { f as isString, j as isArray, b as isNil, d as isDefined, r as isIn, g as isStringFull, z as isURL, n as isObjectFull, c as capitalize } from './flow-rdf-core.
|
|
3
|
+
import { f as isString, j as isArray, b as isNil, d as isDefined, r as isIn, g as isStringFull, z as isURL, n as isObjectFull, c as capitalize } from './flow-rdf-core.25e5f6d7.mjs';
|
|
4
4
|
import * as maplibreSpec from '@emuanalytics/maplibre-gl-style-spec';
|
|
5
5
|
import { toStream } from 'mobx-utils';
|
|
6
6
|
import P from 'parsimmon';
|
|
7
7
|
import colorbrewer from 'colorbrewer';
|
|
8
|
-
import { customAlphabet } from 'nanoid';
|
|
9
8
|
import Debug from 'debug';
|
|
10
9
|
|
|
11
10
|
class FlowError extends Error {
|
|
@@ -912,12 +911,6 @@ function die(message) {
|
|
|
912
911
|
throw new FlowError(message);
|
|
913
912
|
}
|
|
914
913
|
|
|
915
|
-
const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01923456789", 10);
|
|
916
|
-
const randomId = (prefix, length) => {
|
|
917
|
-
const id = nanoid(length);
|
|
918
|
-
return prefix ? `${prefix}-${id}` : id;
|
|
919
|
-
};
|
|
920
|
-
|
|
921
914
|
var __defProp$3 = Object.defineProperty;
|
|
922
915
|
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
923
916
|
var __publicField$3 = (obj, key, value) => {
|
|
@@ -1355,4 +1348,4 @@ class MapFeatureStream {
|
|
|
1355
1348
|
}
|
|
1356
1349
|
}
|
|
1357
1350
|
|
|
1358
|
-
export { FlowError as F, MapEvent as M, PluginManager as P, ReactiveExpression as R, assert as a, MapFeatureStream as b, FlowMapError as c, MapDataSource as d, MapLayer as e, MapStyleChangeEvent as f, MapSourceEvent as g, MapLoadingEvent as h, MapMouseEvent as i, die as j
|
|
1351
|
+
export { FlowError as F, MapEvent as M, PluginManager as P, ReactiveExpression as R, assert as a, MapFeatureStream as b, FlowMapError as c, MapDataSource as d, MapLayer as e, MapStyleChangeEvent as f, MapSourceEvent as g, MapLoadingEvent as h, MapMouseEvent as i, die as j };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const nanoid$1 = require('nanoid');
|
|
4
|
+
|
|
3
5
|
const isUndefined = (val) => typeof val === "undefined";
|
|
4
6
|
const isNull = (val) => val === null;
|
|
5
7
|
const isNil = (val) => isUndefined(val) || isNull(val);
|
|
@@ -65,6 +67,12 @@ function ensureArray(a, ...rest) {
|
|
|
65
67
|
|
|
66
68
|
const capitalize = (str, lowerRest = false) => str.slice(0, 1).toUpperCase() + (lowerRest ? str.slice(1).toLowerCase() : str.slice(1));
|
|
67
69
|
|
|
70
|
+
const nanoid = nanoid$1.customAlphabet("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01923456789", 10);
|
|
71
|
+
function randomId(prefix, length) {
|
|
72
|
+
const id = nanoid(length);
|
|
73
|
+
return prefix ? `${prefix}-${id}` : id;
|
|
74
|
+
}
|
|
75
|
+
|
|
68
76
|
exports.capitalize = capitalize;
|
|
69
77
|
exports.ensureArray = ensureArray;
|
|
70
78
|
exports.hasLength = hasLength;
|
|
@@ -91,3 +99,4 @@ exports.isTrue = isTrue;
|
|
|
91
99
|
exports.isURL = isURL;
|
|
92
100
|
exports.isUndefined = isUndefined;
|
|
93
101
|
exports.isValue = isValue;
|
|
102
|
+
exports.randomId = randomId;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emuanalytics/flow-rdf-core",
|
|
3
|
-
"version": "4.0.0
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -63,6 +63,9 @@
|
|
|
63
63
|
"react": "^18.2.0",
|
|
64
64
|
"react-dom": "^18.2.0",
|
|
65
65
|
"storybook": "^7.1.1",
|
|
66
|
+
"typedoc": "^0.26.8",
|
|
67
|
+
"typedoc-plugin-markdown": "^4.2.9",
|
|
68
|
+
"typedoc-vitepress-theme": "^1.0.2",
|
|
66
69
|
"tsx": "^4.19.1",
|
|
67
70
|
"typescript": "^5.6.3",
|
|
68
71
|
"unbuild": "^2.0.0",
|
|
@@ -103,6 +106,7 @@
|
|
|
103
106
|
"build": "pnpm run build:css && unbuild && pnpm run build:fix",
|
|
104
107
|
"build:fix": "tsx scripts/fix-up-build-output.mts",
|
|
105
108
|
"build:css": "postcss src/css/flow-rdf-core.css -o styles/flow-rdf-core.css --config postcss.custom-config.js",
|
|
109
|
+
"build:docs": "typedoc",
|
|
106
110
|
"dev": "vitest dev",
|
|
107
111
|
"lint": "eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test",
|
|
108
112
|
"lint:fix": "eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w",
|