From 855669deef911c90aebad71230aea6188e01bc61 Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" Date: Wed, 21 Feb 2024 10:23:23 -0500 Subject: [PATCH] fix: Failed to execute importScripts on worker-css --- .../src/components/AsyncAceEditor/index.tsx | 4 ++++ superset-frontend/src/types/ace-builds.ts | 19 +++++++++++++++++++ superset-frontend/webpack.config.js | 4 ++++ 3 files changed, 27 insertions(+) create mode 100644 superset-frontend/src/types/ace-builds.ts diff --git a/superset-frontend/src/components/AsyncAceEditor/index.tsx b/superset-frontend/src/components/AsyncAceEditor/index.tsx index 2e499e150bb4..1b755f50ef3d 100644 --- a/superset-frontend/src/components/AsyncAceEditor/index.tsx +++ b/superset-frontend/src/components/AsyncAceEditor/index.tsx @@ -24,11 +24,15 @@ import { TextMode as OrigTextMode, } from 'brace'; import AceEditor, { IAceEditorProps } from 'react-ace'; +import { config } from 'ace-builds'; import { acequire } from 'ace-builds/src-noconflict/ace'; import AsyncEsmComponent, { PlaceholderProps, } from 'src/components/AsyncEsmComponent'; import useEffectEvent from 'src/hooks/useEffectEvent'; +import cssWorkerUrl from 'ace-builds/src-noconflict/worker-css'; + +config.setModuleUrl('ace/mode/css_worker', cssWorkerUrl); export interface AceCompleterKeywordData { name: string; diff --git a/superset-frontend/src/types/ace-builds.ts b/superset-frontend/src/types/ace-builds.ts new file mode 100644 index 000000000000..0c34a854034e --- /dev/null +++ b/superset-frontend/src/types/ace-builds.ts @@ -0,0 +1,19 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +declare module 'ace-builds/src-noconflict/worker-css'; diff --git a/superset-frontend/webpack.config.js b/superset-frontend/webpack.config.js index 36321e8f9bdf..d531a01cc949 100644 --- a/superset-frontend/webpack.config.js +++ b/superset-frontend/webpack.config.js @@ -345,6 +345,10 @@ const config = { ], use: [babelLoader], }, + { + test: /ace-builds.*\/worker-.*$/, + type: 'asset/resource', + }, // react-hot-loader use "ProxyFacade", which is a wrapper for react Component // see https://github.com/gaearon/react-hot-loader/issues/1311 // TODO: refactor recurseReactClone