@easyv/biz-components 0.0.52-beta.0 → 0.0.52-beta.2

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 (24) hide show
  1. package/dist/components/easyv-monaco-editor/easyv-monaco-editor.d.ts +12 -0
  2. package/dist/components/easyv-monaco-editor/easyv-monaco-editor.es.js +15 -2
  3. package/dist/components/easyv-monaco-editor/easyv-monaco-editor.es.js.map +1 -1
  4. package/dist/components/easyv-monaco-editor/monaco-setup.es.js +6 -5
  5. package/dist/components/easyv-monaco-editor/monaco-setup.es.js.map +1 -1
  6. package/dist/index.css +1 -1
  7. package/dist/stats.html +4949 -0
  8. package/package.json +3 -2
  9. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.es.js +0 -70
  10. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.es.js.map +0 -1
  11. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.es.js +0 -21
  12. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.es.js.map +0 -1
  13. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.es.js +0 -78
  14. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.es.js.map +0 -1
  15. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.es.js +0 -273
  16. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.es.js.map +0 -1
  17. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/jsonMode.es.js +0 -2758
  18. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/jsonMode.es.js.map +0 -1
  19. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.es.js +0 -98
  20. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.es.js.map +0 -1
  21. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.es.js +0 -287
  22. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.es.js.map +0 -1
  23. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.es.js +0 -1244
  24. package/dist/node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.es.js.map +0 -1
@@ -6,6 +6,18 @@ interface EasyvMonacoEditorProps {
6
6
  languageMode: 'javascript' | 'json';
7
7
  code: string;
8
8
  onChange?: (v: string) => void;
9
+ /** 定义 monaco-editor 的类型文件。如:
10
+ * - interface User {
11
+ name: string;
12
+ age: number;
13
+ }
14
+ declare const users: User[];
15
+ - 或者 declare const data: {
16
+ name: string;
17
+ age: number;
18
+ };
19
+ */
20
+ globalVarType?: string;
9
21
  }
10
22
  export declare function EasyvMonacoEditor(props: EasyvMonacoEditorProps): JSX.Element;
11
23
  export {};
@@ -8,9 +8,10 @@ import { useWatchValue } from "../../hooks/use-watch-value/use-watch-value.es.js
8
8
  import * as editor_api from "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/editor.api.es.js";
9
9
  function EasyvMonacoEditor(props) {
10
10
  var _a;
11
- const { className, style, languageMode, code, onChange } = props;
11
+ const { className, style, languageMode, code, globalVarType = "", onChange } = props;
12
12
  const editorRef = useRef(null);
13
13
  const editorInstanceRef = useRef();
14
+ const globalDataLibRef = useRef();
14
15
  useMount(() => {
15
16
  if (editorRef.current) {
16
17
  const editorInner = editor_api.editor.create(editorRef.current, {
@@ -76,6 +77,18 @@ function EasyvMonacoEditor(props) {
76
77
  editor_api.editor.setModelLanguage(model2, newLanguage);
77
78
  }
78
79
  });
80
+ useWatchValue({
81
+ value: globalVarType,
82
+ callback() {
83
+ if (globalDataLibRef.current) {
84
+ globalDataLibRef.current.dispose();
85
+ }
86
+ globalDataLibRef.current = editor_api.languages.typescript.javascriptDefaults.addExtraLib(
87
+ globalVarType,
88
+ "global-data.d.ts"
89
+ );
90
+ }
91
+ });
79
92
  useUnmount(() => {
80
93
  var _a2;
81
94
  (_a2 = editorInstanceRef.current) == null ? void 0 : _a2.dispose();
@@ -85,7 +98,7 @@ function EasyvMonacoEditor(props) {
85
98
  getModelMarkers: editor_api.editor.getModelMarkers({}),
86
99
  modelId: model == null ? void 0 : model.getLanguageId()
87
100
  });
88
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: editorRef, className: classNames("min-h-[200px]", className), style });
101
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: editorRef, className: classNames("biz-min-h-[200px]", className), style });
89
102
  }
90
103
  export {
91
104
  EasyvMonacoEditor
@@ -1 +1 @@
1
- {"version":3,"file":"easyv-monaco-editor.es.js","sources":["../../../src/components/easyv-monaco-editor/easyv-monaco-editor.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { useMount, useUnmount } from 'ahooks';\nimport classNames from 'classnames';\nimport { useWatchValue } from '@/hooks';\nimport monaco from './monaco-setup';\n\ninterface EasyvMonacoEditorProps {\n className?: string;\n style?: React.CSSProperties;\n languageMode: 'javascript' | 'json';\n code: string;\n onChange?: (v: string) => void;\n}\n\nexport function EasyvMonacoEditor(props: EasyvMonacoEditorProps) {\n const { className, style, languageMode, code, onChange } = props;\n const editorRef = useRef<HTMLDivElement | null>(null);\n const editorInstanceRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n useMount(() => {\n if (editorRef.current) {\n const editorInner = monaco.editor.create(editorRef.current, {\n value: code,\n language: languageMode,\n theme: 'vs-dark',\n automaticLayout: true,\n minimap: {\n enabled: false,\n },\n // 启用智能提示的关键设置\n suggest: {\n showKeywords: true,\n showSnippets: true,\n },\n quickSuggestions: true,\n suggestOnTriggerCharacters: true,\n hover: { enabled: true }, // 必须启用 hover\n renderValidationDecorations: 'on', // 确保错误渲染开启\n });\n editorInner.layout();\n editorInstanceRef.current = editorInner;\n editorInner.onDidChangeModelContent(() => {\n const currentValue = editorInner.getValue();\n console.log(\n '%c 🐱 cat ==== on did change model content:',\n 'color: orange; font-size: 16px;',\n currentValue,\n );\n // 更新状态\n onChange?.(currentValue);\n });\n }\n\n // 监听诊断变化\n const disposable = monaco.editor.onDidChangeMarkers(() => {\n const markers = monaco.editor.getModelMarkers({});\n console.log('当前错误 ==== :', markers); // 检查是否有诊断数据\n });\n console.log('disposable: ====', disposable);\n monaco.editor.onDidChangeMarkers(() => {\n const markers = monaco.editor.getModelMarkers({});\n markers.forEach((m) => {\n console.log('🔍 Marker:', m.message, m.severity);\n });\n });\n });\n\n useEffect(() => {\n if (editorInstanceRef.current) {\n // 获取当前编辑器的值\n const currentValue = editorInstanceRef.current.getValue();\n // 如果状态中的value和编辑器的当前值不同,则更新编辑器\n if (currentValue !== code) {\n editorInstanceRef.current.setValue(code);\n }\n }\n }, [code]);\n\n useWatchValue({\n value: languageMode,\n callback(newLanguage) {\n const model = editorInstanceRef.current?.getModel();\n if (!model) {\n return;\n }\n monaco.editor.setModelLanguage(model, newLanguage);\n },\n });\n\n useUnmount(() => {\n editorInstanceRef.current?.dispose();\n });\n\n // console.log('%c 🐶 dog ==== easyv monaco props', 'color: green; font-size: 16px;', props);\n const model = editorInstanceRef.current?.getModel();\n console.log('%c 🐶 dog ==== markers:', 'color: green; font-size: 16px;', {\n getModelMarkers: monaco.editor.getModelMarkers({}),\n modelId: model?.getLanguageId(),\n });\n return <div ref={editorRef} className={classNames('min-h-[200px]', className)} style={style} />;\n}\n"],"names":["monaco","model","_a","jsx"],"mappings":";;;;;;;;AAcO,SAAS,kBAAkB,OAA+B;;AAC/D,QAAM,EAAE,WAAW,OAAO,cAAc,MAAM,aAAa;AACrD,QAAA,YAAY,OAA8B,IAAI;AACpD,QAAM,oBAAoB,OAA4C;AAEtE,WAAS,MAAM;AACb,QAAI,UAAU,SAAS;AACrB,YAAM,cAAcA,WAAO,OAAO,OAAO,UAAU,SAAS;AAAA,QAC1D,OAAO;AAAA,QACP,UAAU;AAAA,QACV,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,SAAS;AAAA,UACP,SAAS;AAAA,QACX;AAAA;AAAA,QAEA,SAAS;AAAA,UACP,cAAc;AAAA,UACd,cAAc;AAAA,QAChB;AAAA,QACA,kBAAkB;AAAA,QAClB,4BAA4B;AAAA,QAC5B,OAAO,EAAE,SAAS,KAAK;AAAA;AAAA,QACvB,6BAA6B;AAAA;AAAA,MAAA,CAC9B;AACD,kBAAY,OAAO;AACnB,wBAAkB,UAAU;AAC5B,kBAAY,wBAAwB,MAAM;AAClC,cAAA,eAAe,YAAY,SAAS;AAClC,gBAAA;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,6CAAW;AAAA,MAAY,CACxB;AAAA,IAAA;AAIH,UAAM,aAAaA,WAAO,OAAO,mBAAmB,MAAM;AACxD,YAAM,UAAUA,WAAO,OAAO,gBAAgB,CAAA,CAAE;AACxC,cAAA,IAAI,eAAe,OAAO;AAAA,IAAA,CACnC;AACO,YAAA,IAAI,oBAAoB,UAAU;AACnCA,eAAA,OAAO,mBAAmB,MAAM;AACrC,YAAM,UAAUA,WAAO,OAAO,gBAAgB,CAAA,CAAE;AACxC,cAAA,QAAQ,CAAC,MAAM;AACrB,gBAAQ,IAAI,cAAc,EAAE,SAAS,EAAE,QAAQ;AAAA,MAAA,CAChD;AAAA,IAAA,CACF;AAAA,EAAA,CACF;AAED,YAAU,MAAM;AACd,QAAI,kBAAkB,SAAS;AAEvB,YAAA,eAAe,kBAAkB,QAAQ,SAAS;AAExD,UAAI,iBAAiB,MAAM;AACP,0BAAA,QAAQ,SAAS,IAAI;AAAA,MAAA;AAAA,IACzC;AAAA,EACF,GACC,CAAC,IAAI,CAAC;AAEK,gBAAA;AAAA,IACZ,OAAO;AAAA,IACP,SAAS,aAAa;;AACdC,YAAAA,UAAQC,MAAA,kBAAkB,YAAlB,gBAAAA,IAA2B;AACzC,UAAI,CAACD,QAAO;AACV;AAAA,MAAA;AAEKD,iBAAA,OAAO,iBAAiBC,QAAO,WAAW;AAAA,IAAA;AAAA,EACnD,CACD;AAED,aAAW,MAAM;;AACf,KAAAC,MAAA,kBAAkB,YAAlB,gBAAAA,IAA2B;AAAA,EAAQ,CACpC;AAGK,QAAA,SAAQ,uBAAkB,YAAlB,mBAA2B;AACjC,UAAA,IAAI,6BAA6B,kCAAkC;AAAA,IACzE,iBAAiBF,WAAO,OAAO,gBAAgB,CAAA,CAAE;AAAA,IACjD,SAAS,+BAAO;AAAA,EAAc,CAC/B;AACM,SAAAG,sCAAC,SAAI,KAAK,WAAW,WAAW,WAAW,iBAAiB,SAAS,GAAG,MAAc,CAAA;AAC/F;"}
1
+ {"version":3,"file":"easyv-monaco-editor.es.js","sources":["../../../src/components/easyv-monaco-editor/easyv-monaco-editor.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { useMount, useUnmount } from 'ahooks';\nimport classNames from 'classnames';\nimport { useWatchValue } from '@/hooks';\nimport monaco from './monaco-setup';\n\ninterface EasyvMonacoEditorProps {\n className?: string;\n style?: React.CSSProperties;\n languageMode: 'javascript' | 'json';\n code: string;\n onChange?: (v: string) => void;\n /** 定义 monaco-editor 的类型文件。如:\n * - interface User {\n name: string;\n age: number;\n}\ndeclare const users: User[];\n- 或者 declare const data: {\n name: string;\n age: number;\n};\n */\n globalVarType?: string;\n}\n\nexport function EasyvMonacoEditor(props: EasyvMonacoEditorProps) {\n const { className, style, languageMode, code, globalVarType = '', onChange } = props;\n const editorRef = useRef<HTMLDivElement | null>(null);\n const editorInstanceRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const globalDataLibRef = useRef<monaco.IDisposable>();\n\n useMount(() => {\n if (editorRef.current) {\n const editorInner = monaco.editor.create(editorRef.current, {\n value: code,\n language: languageMode,\n theme: 'vs-dark',\n automaticLayout: true,\n minimap: {\n enabled: false,\n },\n // 启用智能提示的关键设置\n suggest: {\n showKeywords: true,\n showSnippets: true,\n },\n quickSuggestions: true,\n suggestOnTriggerCharacters: true,\n hover: { enabled: true }, // 必须启用 hover\n renderValidationDecorations: 'on', // 确保错误渲染开启\n });\n editorInner.layout();\n editorInstanceRef.current = editorInner;\n editorInner.onDidChangeModelContent(() => {\n const currentValue = editorInner.getValue();\n console.log(\n '%c 🐱 cat ==== on did change model content:',\n 'color: orange; font-size: 16px;',\n currentValue,\n );\n // 更新状态\n onChange?.(currentValue);\n });\n }\n\n // 监听诊断变化\n const disposable = monaco.editor.onDidChangeMarkers(() => {\n const markers = monaco.editor.getModelMarkers({});\n console.log('当前错误 ==== :', markers); // 检查是否有诊断数据\n });\n console.log('disposable: ====', disposable);\n monaco.editor.onDidChangeMarkers(() => {\n const markers = monaco.editor.getModelMarkers({});\n markers.forEach((m) => {\n console.log('🔍 Marker:', m.message, m.severity);\n });\n });\n });\n\n useEffect(() => {\n if (editorInstanceRef.current) {\n // 获取当前编辑器的值\n const currentValue = editorInstanceRef.current.getValue();\n // 如果状态中的value和编辑器的当前值不同,则更新编辑器\n if (currentValue !== code) {\n editorInstanceRef.current.setValue(code);\n }\n }\n }, [code]);\n\n useWatchValue({\n value: languageMode,\n callback(newLanguage) {\n const model = editorInstanceRef.current?.getModel();\n if (!model) {\n return;\n }\n monaco.editor.setModelLanguage(model, newLanguage);\n },\n });\n\n useWatchValue({\n value: globalVarType,\n callback() {\n if (globalDataLibRef.current) {\n globalDataLibRef.current.dispose();\n }\n globalDataLibRef.current = monaco.languages.typescript.javascriptDefaults.addExtraLib(\n globalVarType,\n 'global-data.d.ts',\n );\n },\n });\n\n useUnmount(() => {\n editorInstanceRef.current?.dispose();\n });\n\n // console.log('%c 🐶 dog ==== easyv monaco props', 'color: green; font-size: 16px;', props);\n const model = editorInstanceRef.current?.getModel();\n console.log('%c 🐶 dog ==== markers:', 'color: green; font-size: 16px;', {\n getModelMarkers: monaco.editor.getModelMarkers({}),\n modelId: model?.getLanguageId(),\n });\n return (\n <div ref={editorRef} className={classNames('biz-min-h-[200px]', className)} style={style} />\n );\n}\n"],"names":["monaco","model","_a","jsx"],"mappings":";;;;;;;;AA0BO,SAAS,kBAAkB,OAA+B;;AACzD,QAAA,EAAE,WAAW,OAAO,cAAc,MAAM,gBAAgB,IAAI,aAAa;AACzE,QAAA,YAAY,OAA8B,IAAI;AACpD,QAAM,oBAAoB,OAA4C;AACtE,QAAM,mBAAmB,OAA2B;AAEpD,WAAS,MAAM;AACb,QAAI,UAAU,SAAS;AACrB,YAAM,cAAcA,WAAO,OAAO,OAAO,UAAU,SAAS;AAAA,QAC1D,OAAO;AAAA,QACP,UAAU;AAAA,QACV,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,SAAS;AAAA,UACP,SAAS;AAAA,QACX;AAAA;AAAA,QAEA,SAAS;AAAA,UACP,cAAc;AAAA,UACd,cAAc;AAAA,QAChB;AAAA,QACA,kBAAkB;AAAA,QAClB,4BAA4B;AAAA,QAC5B,OAAO,EAAE,SAAS,KAAK;AAAA;AAAA,QACvB,6BAA6B;AAAA;AAAA,MAAA,CAC9B;AACD,kBAAY,OAAO;AACnB,wBAAkB,UAAU;AAC5B,kBAAY,wBAAwB,MAAM;AAClC,cAAA,eAAe,YAAY,SAAS;AAClC,gBAAA;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,6CAAW;AAAA,MAAY,CACxB;AAAA,IAAA;AAIH,UAAM,aAAaA,WAAO,OAAO,mBAAmB,MAAM;AACxD,YAAM,UAAUA,WAAO,OAAO,gBAAgB,CAAA,CAAE;AACxC,cAAA,IAAI,eAAe,OAAO;AAAA,IAAA,CACnC;AACO,YAAA,IAAI,oBAAoB,UAAU;AACnCA,eAAA,OAAO,mBAAmB,MAAM;AACrC,YAAM,UAAUA,WAAO,OAAO,gBAAgB,CAAA,CAAE;AACxC,cAAA,QAAQ,CAAC,MAAM;AACrB,gBAAQ,IAAI,cAAc,EAAE,SAAS,EAAE,QAAQ;AAAA,MAAA,CAChD;AAAA,IAAA,CACF;AAAA,EAAA,CACF;AAED,YAAU,MAAM;AACd,QAAI,kBAAkB,SAAS;AAEvB,YAAA,eAAe,kBAAkB,QAAQ,SAAS;AAExD,UAAI,iBAAiB,MAAM;AACP,0BAAA,QAAQ,SAAS,IAAI;AAAA,MAAA;AAAA,IACzC;AAAA,EACF,GACC,CAAC,IAAI,CAAC;AAEK,gBAAA;AAAA,IACZ,OAAO;AAAA,IACP,SAAS,aAAa;;AACdC,YAAAA,UAAQC,MAAA,kBAAkB,YAAlB,gBAAAA,IAA2B;AACzC,UAAI,CAACD,QAAO;AACV;AAAA,MAAA;AAEKD,iBAAA,OAAO,iBAAiBC,QAAO,WAAW;AAAA,IAAA;AAAA,EACnD,CACD;AAEa,gBAAA;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AACT,UAAI,iBAAiB,SAAS;AAC5B,yBAAiB,QAAQ,QAAQ;AAAA,MAAA;AAEnC,uBAAiB,UAAUD,WAAO,UAAU,WAAW,mBAAmB;AAAA,QACxE;AAAA,QACA;AAAA,MACF;AAAA,IAAA;AAAA,EACF,CACD;AAED,aAAW,MAAM;;AACf,KAAAE,MAAA,kBAAkB,YAAlB,gBAAAA,IAA2B;AAAA,EAAQ,CACpC;AAGK,QAAA,SAAQ,uBAAkB,YAAlB,mBAA2B;AACjC,UAAA,IAAI,6BAA6B,kCAAkC;AAAA,IACzE,iBAAiBF,WAAO,OAAO,gBAAgB,CAAA,CAAE;AAAA,IACjD,SAAS,+BAAO;AAAA,EAAc,CAC/B;AAEC,SAAAG,sCAAC,SAAI,KAAK,WAAW,WAAW,WAAW,qBAAqB,SAAS,GAAG,MAAc,CAAA;AAE9F;"}
@@ -1,12 +1,12 @@
1
1
  import * as editor_api from "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/editor.api.es.js";
2
2
  import { languages } from "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/editor.api.es.js";
3
- import "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.es.js";
4
- import "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.es.js";
5
- import "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.es.js";
3
+ import "monaco-editor/esm/vs/editor/editor.all.js";
4
+ import "monaco-editor/esm/vs/language/json/monaco.contribution";
5
+ import "monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution";
6
+ import "monaco-editor/esm/vs/language/typescript/monaco.contribution";
6
7
  import WorkerWrapper$2 from "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/editor/editor.worker.es.js";
7
8
  import WorkerWrapper from "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/json/json.worker.es.js";
8
9
  import WorkerWrapper$1 from "../../node_modules/.pnpm/monaco-editor@0.52.2/node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.es.js";
9
- console.log("%c 🐱 cat ==== self:", "color: orange; font-size: 16px;", self);
10
10
  self.MonacoEnvironment = {
11
11
  getWorker(_, label) {
12
12
  if (label === "json") {
@@ -25,7 +25,8 @@ languages.typescript.javascriptDefaults.setCompilerOptions({
25
25
  checkJs: true,
26
26
  // 关键:启用 JS 校验
27
27
  noLib: false,
28
- lib: ["esnext"],
28
+ lib: ["esnext", "dom"],
29
+ // dom 会带上浏览器里可使用的方法 如 console, window
29
30
  typeRoots: ["node_modules/@types"]
30
31
  });
31
32
  languages.typescript.javascriptDefaults.setDiagnosticsOptions({
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-setup.es.js","sources":["../../../src/components/easyv-monaco-editor/monaco-setup.ts"],"sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\nimport 'monaco-editor/esm/vs/language/json/monaco.contribution';\nimport 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution';\nimport 'monaco-editor/esm/vs/language/typescript/monaco.contribution';\nimport editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';\nimport jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';\nimport tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';\n\nconsole.log('%c 🐱 cat ==== self:', 'color: orange; font-size: 16px;', self);\nself.MonacoEnvironment = {\n getWorker(_, label) {\n if (label === 'json') {\n return new jsonWorker();\n }\n\n if (label === 'typescript' || label === 'javascript') {\n return new tsWorker();\n }\n\n return new editorWorker();\n },\n};\n\n// 配置 JavaScript 语言服务\nmonaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n allowNonTsExtensions: true,\n allowJs: true,\n checkJs: true, // 关键:启用 JS 校验\n noLib: false,\n lib: ['esnext'],\n typeRoots: ['node_modules/@types'],\n});\n\nmonaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: false, // 启用语义校验\n noSyntaxValidation: false, // 启用语法校验\n diagnosticCodesToIgnore: [], // 忽略特定错误\n});\n\nexport default monaco;\n"],"names":["jsonWorker","tsWorker","editorWorker","monaco.languages"],"mappings":";;;;;;;;AAQA,QAAQ,IAAI,0BAA0B,mCAAmC,IAAI;AAC7E,KAAK,oBAAoB;AAAA,EACvB,UAAU,GAAG,OAAO;AAClB,QAAI,UAAU,QAAQ;AACpB,aAAO,IAAIA,cAAW;AAAA,IAAA;AAGpB,QAAA,UAAU,gBAAgB,UAAU,cAAc;AACpD,aAAO,IAAIC,gBAAS;AAAA,IAAA;AAGtB,WAAO,IAAIC,gBAAa;AAAA,EAAA;AAE5B;AAGAC,UAAiB,WAAW,mBAAmB,mBAAmB;AAAA,EAChE,QAAQA,UAAiB,WAAW,aAAa;AAAA,EACjD,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,SAAS;AAAA;AAAA,EACT,OAAO;AAAA,EACP,KAAK,CAAC,QAAQ;AAAA,EACd,WAAW,CAAC,qBAAqB;AACnC,CAAC;AAEDA,UAAiB,WAAW,mBAAmB,sBAAsB;AAAA,EACnE,sBAAsB;AAAA;AAAA,EACtB,oBAAoB;AAAA;AAAA,EACpB,yBAAyB,CAAA;AAAA;AAC3B,CAAC;"}
1
+ {"version":3,"file":"monaco-setup.es.js","sources":["../../../src/components/easyv-monaco-editor/monaco-setup.ts"],"sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\nimport 'monaco-editor/esm/vs/editor/editor.all.js';\nimport 'monaco-editor/esm/vs/language/json/monaco.contribution';\nimport 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution';\nimport 'monaco-editor/esm/vs/language/typescript/monaco.contribution';\nimport editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';\nimport jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';\nimport tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';\n\nself.MonacoEnvironment = {\n getWorker(_, label) {\n if (label === 'json') {\n return new jsonWorker();\n }\n\n if (label === 'typescript' || label === 'javascript') {\n return new tsWorker();\n }\n\n return new editorWorker();\n },\n};\n\n// 配置 JavaScript 语言服务\nmonaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n allowNonTsExtensions: true,\n allowJs: true,\n checkJs: true, // 关键:启用 JS 校验\n noLib: false,\n lib: ['esnext', 'dom'], // dom 会带上浏览器里可使用的方法 如 console, window\n typeRoots: ['node_modules/@types'],\n});\n\nmonaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: false, // 启用语义校验\n noSyntaxValidation: false, // 启用语法校验\n diagnosticCodesToIgnore: [], // 忽略特定错误\n});\n\nexport default monaco;\n"],"names":["jsonWorker","tsWorker","editorWorker","monaco.languages"],"mappings":";;;;;;;;;AASA,KAAK,oBAAoB;AAAA,EACvB,UAAU,GAAG,OAAO;AAClB,QAAI,UAAU,QAAQ;AACpB,aAAO,IAAIA,cAAW;AAAA,IAAA;AAGpB,QAAA,UAAU,gBAAgB,UAAU,cAAc;AACpD,aAAO,IAAIC,gBAAS;AAAA,IAAA;AAGtB,WAAO,IAAIC,gBAAa;AAAA,EAAA;AAE5B;AAGAC,UAAiB,WAAW,mBAAmB,mBAAmB;AAAA,EAChE,QAAQA,UAAiB,WAAW,aAAa;AAAA,EACjD,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,SAAS;AAAA;AAAA,EACT,OAAO;AAAA,EACP,KAAK,CAAC,UAAU,KAAK;AAAA;AAAA,EACrB,WAAW,CAAC,qBAAqB;AACnC,CAAC;AAEDA,UAAiB,WAAW,mBAAmB,sBAAsB;AAAA,EACnE,sBAAsB;AAAA;AAAA,EACtB,oBAAoB;AAAA;AAAA,EACpB,yBAAyB,CAAA;AAAA;AAC3B,CAAC;"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }body .biz-flex{display:flex}body .biz-contents{display:contents}body .biz-h-3\.5{height:.875rem}body .biz-h-6{height:1.5rem}body .biz-h-full{height:100%}body .biz-min-h-10{min-height:2.5rem}body .biz-w-3\.5{width:.875rem}body .biz-w-6{width:1.5rem}body .biz-w-\[0\.4rem\]{width:.4rem}body .biz-cursor-pointer{cursor:pointer}body .biz-select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}body .biz-flex-col{flex-direction:column}body .biz-items-center{align-items:center}body .biz-justify-center{justify-content:center}body .biz-justify-between{justify-content:space-between}body .biz-gap-1{gap:.25rem}body .biz-gap-3{gap:.75rem}body .biz-whitespace-pre-wrap{white-space:pre-wrap}body .biz-rounded-full{border-radius:9999px}body .biz-rounded-lg{border-radius:.5rem}body .biz-rounded-md{border-radius:.375rem}body .biz-bg-\[\#FFFFFF14\]{background-color:#ffffff14}body .biz-px-4{padding-left:1rem;padding-right:1rem}body .biz-py-3{padding-bottom:.75rem;padding-top:.75rem}body .biz-text-text-2{--tw-text-opacity:1;color:rgb(180 183 193/var(--tw-text-opacity,1))}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }body .biz-flex{display:flex}body .biz-contents{display:contents}body .biz-h-3\.5{height:.875rem}body .biz-h-6{height:1.5rem}body .biz-h-full{height:100%}body .biz-min-h-10{min-height:2.5rem}body .biz-min-h-\[200px\]{min-height:200px}body .biz-w-3\.5{width:.875rem}body .biz-w-6{width:1.5rem}body .biz-w-\[0\.4rem\]{width:.4rem}body .biz-cursor-pointer{cursor:pointer}body .biz-select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}body .biz-flex-col{flex-direction:column}body .biz-items-center{align-items:center}body .biz-justify-center{justify-content:center}body .biz-justify-between{justify-content:space-between}body .biz-gap-1{gap:.25rem}body .biz-gap-3{gap:.75rem}body .biz-whitespace-pre-wrap{white-space:pre-wrap}body .biz-rounded-full{border-radius:9999px}body .biz-rounded-lg{border-radius:.5rem}body .biz-rounded-md{border-radius:.375rem}body .biz-bg-\[\#FFFFFF14\]{background-color:#ffffff14}body .biz-px-4{padding-left:1rem;padding-right:1rem}body .biz-py-3{padding-bottom:.75rem;padding-top:.75rem}body .biz-text-text-2{--tw-text-opacity:1;color:rgb(180 183 193/var(--tw-text-opacity,1))}