iop-bpmn-react 0.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.
Files changed (69) hide show
  1. package/README.en.md +294 -0
  2. package/README.md +294 -0
  3. package/dist/favicon.svg +1 -0
  4. package/dist/icons.svg +24 -0
  5. package/dist/index.css +2 -0
  6. package/dist/index.js +83511 -0
  7. package/dist/index.umd.cjs +2430 -0
  8. package/dist/types/components/BpmnModeler/ColorPickerPopup.d.ts +2 -0
  9. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/FlowablePropertiesProvider.d.ts +11 -0
  10. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/FlowablePropertiesProvider.d.ts.map +1 -0
  11. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/index.d.ts +7 -0
  12. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/index.d.ts.map +1 -0
  13. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/AssignmentProperties.d.ts +17 -0
  14. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/AssignmentProperties.d.ts.map +1 -0
  15. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/AsyncProperties.d.ts +17 -0
  16. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/AsyncProperties.d.ts.map +1 -0
  17. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/BusinessRuleTaskProperties.d.ts +17 -0
  18. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/BusinessRuleTaskProperties.d.ts.map +1 -0
  19. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/CallActivityProperties.d.ts +27 -0
  20. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/CallActivityProperties.d.ts.map +1 -0
  21. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/EventDefinitionProperties.d.ts +43 -0
  22. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/EventDefinitionProperties.d.ts.map +1 -0
  23. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ExtensionProperties.d.ts +13 -0
  24. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ExtensionProperties.d.ts.map +1 -0
  25. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ExternalTaskProperties.d.ts +17 -0
  26. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ExternalTaskProperties.d.ts.map +1 -0
  27. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/FieldProperties.d.ts +21 -0
  28. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/FieldProperties.d.ts.map +1 -0
  29. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/FormDataProperties.d.ts +15 -0
  30. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/FormDataProperties.d.ts.map +1 -0
  31. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/FormProperties.d.ts +17 -0
  32. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/FormProperties.d.ts.map +1 -0
  33. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/InitiatorProperties.d.ts +17 -0
  34. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/InitiatorProperties.d.ts.map +1 -0
  35. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ListenerProperties.d.ts +84 -0
  36. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ListenerProperties.d.ts.map +1 -0
  37. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/MultiInstanceProperties.d.ts +18 -0
  38. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/MultiInstanceProperties.d.ts.map +1 -0
  39. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ProcessProperties.d.ts +17 -0
  40. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ProcessProperties.d.ts.map +1 -0
  41. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ScriptTaskProperties.d.ts +17 -0
  42. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ScriptTaskProperties.d.ts.map +1 -0
  43. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ServiceTaskProperties.d.ts +17 -0
  44. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/ServiceTaskProperties.d.ts.map +1 -0
  45. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/index.d.ts +17 -0
  46. package/dist/types/components/BpmnModeler/FlowablePropertiesProvider/properties/index.d.ts.map +1 -0
  47. package/dist/types/components/BpmnModeler/LintingModule.d.ts +21 -0
  48. package/dist/types/components/BpmnModeler/LintingModule.d.ts.map +1 -0
  49. package/dist/types/components/BpmnModeler/index.d.ts +7 -0
  50. package/dist/types/components/BpmnModeler/index.d.ts.map +1 -0
  51. package/dist/types/components/BpmnViewer/index.d.ts +7 -0
  52. package/dist/types/components/BpmnViewer/index.d.ts.map +1 -0
  53. package/dist/types/hooks/useBpmn.d.ts +26 -0
  54. package/dist/types/hooks/useBpmn.d.ts.map +1 -0
  55. package/dist/types/i18n/LanguageContext.d.ts +48 -0
  56. package/dist/types/i18n/LanguageContext.d.ts.map +1 -0
  57. package/dist/types/i18n/en.d.ts +7 -0
  58. package/dist/types/i18n/en.d.ts.map +1 -0
  59. package/dist/types/i18n/index.d.ts +9 -0
  60. package/dist/types/i18n/index.d.ts.map +1 -0
  61. package/dist/types/i18n/ja.d.ts +7 -0
  62. package/dist/types/i18n/ja.d.ts.map +1 -0
  63. package/dist/types/i18n/zh.d.ts +7 -0
  64. package/dist/types/i18n/zh.d.ts.map +1 -0
  65. package/dist/types/index.d.ts +9 -0
  66. package/dist/types/index.d.ts.map +1 -0
  67. package/dist/types/types/index.d.ts +48 -0
  68. package/dist/types/types/index.d.ts.map +1 -0
  69. package/package.json +54 -0
@@ -0,0 +1,48 @@
1
+ import { ReactNode } from 'react';
2
+ /** 支持的语言类型 */
3
+ export type Locale = 'zh' | 'en' | 'ja';
4
+ /** 语言配置 */
5
+ export interface LanguageConfig {
6
+ code: Locale;
7
+ label: string;
8
+ flag: string;
9
+ }
10
+ /** 支持的语言列表 */
11
+ export declare const SUPPORTED_LANGUAGES: LanguageConfig[];
12
+ /** 语言上下文类型 */
13
+ interface LanguageContextType {
14
+ /** 当前语言 */
15
+ locale: Locale;
16
+ /** 设置语言 */
17
+ setLocale: (locale: Locale) => void;
18
+ /** 翻译函数 */
19
+ t: (key: string) => string;
20
+ }
21
+ /** 语言 Provider 属性 */
22
+ interface LanguageProviderProps {
23
+ /** 默认语言 */
24
+ defaultLocale?: Locale;
25
+ /** 子组件 */
26
+ children: ReactNode;
27
+ }
28
+ /**
29
+ * 语言 Provider 组件
30
+ * 提供语言切换和翻译功能
31
+ */
32
+ export declare function LanguageProvider({ defaultLocale, children }: LanguageProviderProps): import("react").JSX.Element;
33
+ /**
34
+ * 使用语言上下文的 Hook
35
+ * @throws 如果在 LanguageProvider 外部使用则抛出错误
36
+ */
37
+ export declare function useLanguage(): LanguageContextType;
38
+ /**
39
+ * 获取翻译函数(不依赖 Context)
40
+ * 用于无法使用 Hook 的场景
41
+ */
42
+ export declare function getTranslation(locale: Locale): (key: string) => string;
43
+ /**
44
+ * 获取指定语言的翻译映射
45
+ */
46
+ export declare function getTranslations(locale: Locale): Record<string, string>;
47
+ export {};
48
+ //# sourceMappingURL=LanguageContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageContext.d.ts","sourceRoot":"","sources":["../../../src/lib/i18n/LanguageContext.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA6D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKjG,cAAc;AACd,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvC,WAAW;AACX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,cAAc;AACd,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAI/C,CAAA;AASD,cAAc;AACd,UAAU,mBAAmB;IAC3B,WAAW;IACX,MAAM,EAAE,MAAM,CAAA;IACd,WAAW;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,WAAW;IACX,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3B;AAID,qBAAqB;AACrB,UAAU,qBAAqB;IAC7B,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU;IACV,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,aAAoB,EAAE,QAAQ,EAAE,EAAE,qBAAqB,+BAoBzF;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,mBAAmB,CAMjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtE"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * English translations
3
+ * Contains bpmn-js core and properties panel translations
4
+ */
5
+ declare const enTranslations: Record<string, string>;
6
+ export default enTranslations;
7
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/lib/i18n/en.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyf1C,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 国际化模块
3
+ */
4
+ export { LanguageProvider, useLanguage, getTranslation, getTranslations, SUPPORTED_LANGUAGES } from './LanguageContext';
5
+ export type { Locale, LanguageConfig } from './LanguageContext';
6
+ export { default as zhTranslations } from './zh';
7
+ export { default as enTranslations } from './en';
8
+ export { default as jaTranslations } from './ja';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/i18n/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvH,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,MAAM,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,MAAM,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,MAAM,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 日本語翻訳コレクション
3
+ * bpmn-js コアおよびプロパティパネルの翻訳を含む
4
+ */
5
+ declare const jaTranslations: Record<string, string>;
6
+ export default jaTranslations;
7
+ //# sourceMappingURL=ja.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.d.ts","sourceRoot":"","sources":["../../../src/lib/i18n/ja.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0f1C,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 中文翻译集合
3
+ * 包含 bpmn-js 核心和属性面板的翻译
4
+ */
5
+ declare const zhTranslations: Record<string, string>;
6
+ export default zhTranslations;
7
+ //# sourceMappingURL=zh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../../src/lib/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA68C1C,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,9 @@
1
+ export { BpmnViewer } from './components/BpmnViewer';
2
+ export { BpmnModeler } from './components/BpmnModeler';
3
+ export { useBpmn } from './hooks/useBpmn';
4
+ export { LanguageProvider, useLanguage, getTranslation, getTranslations, SUPPORTED_LANGUAGES } from './i18n';
5
+ export type { Locale, LanguageConfig } from './i18n';
6
+ export { default as TokenSimulationModule } from 'bpmn-js-token-simulation';
7
+ export { layoutProcess } from 'bpmn-auto-layout';
8
+ export type { BpmnViewerProps, BpmnModelerProps } from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5G,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAGpD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,oCAAoC,CAAA;AAC3C,OAAO,iCAAiC,CAAA;AACxC,OAAO,qDAAqD,CAAA;AAG5D,OAAO,uDAAuD,CAAA;AAG9D,OAAO,kEAAkE,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { CSSProperties } from 'react';
2
+ import { default as Modeler } from 'bpmn-js/lib/Modeler';
3
+ import { default as Viewer } from 'bpmn-js/lib/Viewer';
4
+ /** 支持的语言类型 */
5
+ export type Locale = 'zh' | 'en' | 'ja';
6
+ /** BPMN Viewer 组件属性 */
7
+ export interface BpmnViewerProps {
8
+ /** BPMN 2.0 XML 字符串 */
9
+ xml: string;
10
+ /** 自定义类名 */
11
+ className?: string;
12
+ /** 自定义样式 */
13
+ style?: CSSProperties;
14
+ /** 是否自动布局(为缺少 DI 信息的 XML 生成坐标),默认 false */
15
+ autoLayout?: boolean;
16
+ /** 界面语言,默认 'zh' */
17
+ locale?: Locale;
18
+ /** Viewer 初始化完成回调 */
19
+ onInit?: (viewer: InstanceType<typeof Viewer>) => void;
20
+ }
21
+ /** BPMN Modeler 组件属性 */
22
+ export interface BpmnModelerProps {
23
+ /** BPMN 2.0 XML 字符串 */
24
+ xml: string;
25
+ /** 自定义类名 */
26
+ className?: string;
27
+ /** 自定义样式 */
28
+ style?: CSSProperties;
29
+ /** 属性面板容器类名 */
30
+ panelClassName?: string;
31
+ /** 属性面板容器样式 */
32
+ panelStyle?: CSSProperties;
33
+ /** 保存回调,返回当前 XML */
34
+ onSave?: (xml: string) => void;
35
+ /** 内容变更回调,返回当前 XML */
36
+ onChange?: (xml: string) => void;
37
+ /** 是否自动布局(为缺少 DI 信息的 XML 生成坐标),默认 false */
38
+ autoLayout?: boolean;
39
+ /** 是否启用手绘风格渲染(sketchy),默认 false */
40
+ sketchy?: boolean;
41
+ /** 是否启用规则校验(linting),默认 false */
42
+ linting?: boolean;
43
+ /** 界面语言,默认 'zh' */
44
+ locale?: Locale;
45
+ /** Modeler 初始化完成回调 */
46
+ onInit?: (modeler: InstanceType<typeof Modeler>) => void;
47
+ }
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAE5C,cAAc;AACd,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvC,uBAAuB;AACvB,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY;IACZ,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,KAAK,IAAI,CAAA;CACvD;AAED,wBAAwB;AACxB,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY;IACZ,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,eAAe;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe;IACf,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,oBAAoB;IACpB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,KAAK,IAAI,CAAA;CACzD"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "iop-bpmn-react",
3
+ "version": "0.0.0",
4
+ "type": "module",
5
+ "description": "智能运维与IT工作台前端BPMN流程插件 - React wrapper for bpmn.js",
6
+ "main": "./dist/index.umd.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/types/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.umd.cjs",
13
+ "types": "./dist/types/index.d.ts"
14
+ },
15
+ "./style.css": "./dist/index.css"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "bpmn-auto-layout": "^1.3.0",
22
+ "bpmn-js": "^18.25.1",
23
+ "bpmn-js-color-picker": "^0.7.2",
24
+ "bpmn-js-i18n": "^2.4.0",
25
+ "bpmn-js-properties-panel": "^5.65.0",
26
+ "bpmn-js-sketchy": "^0.8.0",
27
+ "bpmn-js-token-simulation": "^0.40.0",
28
+ "react-colorful": "^5.8.0"
29
+ },
30
+ "peerDependencies": {
31
+ "react": ">=18",
32
+ "react-dom": ">=18"
33
+ },
34
+ "devDependencies": {
35
+ "@types/node": "^24.13.3",
36
+ "@types/react": "^19.2.18",
37
+ "@types/react-dom": "^19.2.4",
38
+ "@vitejs/plugin-react": "^6.1.0",
39
+ "bpmn-js-bpmnlint": "^0.24.0",
40
+ "bpmnlint": "^11.13.0",
41
+ "oxlint": "^1.79.0",
42
+ "react": "^19.2.8",
43
+ "react-dom": "^19.2.8",
44
+ "typescript": "~6.0.2",
45
+ "vite": "^8.2.2",
46
+ "vite-plugin-dts": "^5.0.3"
47
+ },
48
+ "scripts": {
49
+ "dev": "vite",
50
+ "build": "tsc -b && vite build",
51
+ "lint": "oxlint",
52
+ "preview": "vite preview"
53
+ }
54
+ }