From 2b840f3178d7ec8ebc62dc699a37426d28c6a59f Mon Sep 17 00:00:00 2001
From: Gustavo Saiani <gus@metabase.com>
Date: Wed, 14 Dec 2022 15:03:23 -0300
Subject: [PATCH] Move expression suggest files out of metabase-lib (#27207)

---
 .../expressions/ExpressionEditorHelpText.tsx          |  2 +-
 .../ExpressionEditorTextfield.jsx                     |  9 ++++-----
 .../ExpressionEditorTextfield.styled.jsx              |  0
 .../ExpressionEditorTextfield}/helper-text-strings.ts |  2 +-
 .../expressions/ExpressionEditorTextfield/index.ts    |  1 +
 .../expressions/ExpressionEditorTextfield}/suggest.js | 11 +++++++----
 .../ExpressionEditorTextfield}/suggest.unit.spec.js   |  8 +++++---
 7 files changed, 19 insertions(+), 14 deletions(-)
 rename frontend/src/metabase/query_builder/components/expressions/{ => ExpressionEditorTextfield}/ExpressionEditorTextfield.jsx (98%)
 rename frontend/src/metabase/query_builder/components/expressions/{ => ExpressionEditorTextfield}/ExpressionEditorTextfield.styled.jsx (100%)
 rename frontend/src/{metabase-lib/expressions => metabase/query_builder/components/expressions/ExpressionEditorTextfield}/helper-text-strings.ts (99%)
 create mode 100644 frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts
 rename frontend/src/{metabase-lib/expressions => metabase/query_builder/components/expressions/ExpressionEditorTextfield}/suggest.js (95%)
 rename frontend/{test/metabase/lib/expressions => src/metabase/query_builder/components/expressions/ExpressionEditorTextfield}/suggest.unit.spec.js (98%)

diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx
index 092ad5e336d..9eb34723023 100644
--- a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx
@@ -6,8 +6,8 @@ import MetabaseSettings from "metabase/lib/settings";
 import ExternalLink from "metabase/core/components/ExternalLink";
 import Icon from "metabase/components/Icon";
 import TippyPopover from "metabase/components/Popover/TippyPopover";
-import { getHelpDocsUrl } from "metabase-lib/expressions/helper-text-strings";
 import { HelpText } from "metabase-lib/expressions/types";
+import { getHelpDocsUrl } from "./ExpressionEditorTextfield/helper-text-strings";
 
 interface ExpressionEditorHelpTextProps {
   helpText: HelpText;
diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.jsx
similarity index 98%
rename from frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx
rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.jsx
index c8f2fe35c38..3e38bae3dd3 100644
--- a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.jsx
@@ -9,22 +9,21 @@ import AceEditor from "react-ace";
 import * as ace from "ace-builds/src-noconflict/ace";
 import ExplicitSize from "metabase/components/ExplicitSize";
 import { format } from "metabase-lib/expressions/format";
-import { suggest } from "metabase-lib/expressions/suggest";
 import { processSource } from "metabase-lib/expressions/process";
 import { diagnose } from "metabase-lib/expressions/diagnostics";
 import { tokenize } from "metabase-lib/expressions/tokenizer";
 
 import { isExpression } from "metabase-lib/expressions";
+import HelpText from "../ExpressionEditorHelpText";
+import ExpressionEditorSuggestions from "../ExpressionEditorSuggestions";
+import ExpressionMode from "../ExpressionMode";
+import { suggest } from "./suggest";
 
-import HelpText from "./ExpressionEditorHelpText";
-import ExpressionEditorSuggestions from "./ExpressionEditorSuggestions";
 import {
   EditorContainer,
   EditorEqualsSign,
 } from "./ExpressionEditorTextfield.styled";
 
-import ExpressionMode from "./ExpressionMode";
-
 ace.config.set("basePath", "/assets/ui/");
 
 const ErrorMessage = ({ error }) => {
diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.styled.jsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.styled.jsx
similarity index 100%
rename from frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.styled.jsx
rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.styled.jsx
diff --git a/frontend/src/metabase-lib/expressions/helper-text-strings.ts b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/helper-text-strings.ts
similarity index 99%
rename from frontend/src/metabase-lib/expressions/helper-text-strings.ts
rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/helper-text-strings.ts
index 94b87e9b1b1..073494e074b 100644
--- a/frontend/src/metabase-lib/expressions/helper-text-strings.ts
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/helper-text-strings.ts
@@ -1,5 +1,5 @@
 import { t } from "ttag";
-import { HelpText } from "./types";
+import { HelpText } from "metabase-lib/expressions/types";
 
 const helperTextStrings: HelpText[] = [
   {
diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts
new file mode 100644
index 00000000000..8365b9fa675
--- /dev/null
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts
@@ -0,0 +1 @@
+export { default } from "./ExpressionEditorTextfield";
diff --git a/frontend/src/metabase-lib/expressions/suggest.js b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.js
similarity index 95%
rename from frontend/src/metabase-lib/expressions/suggest.js
rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.js
index 1ecc15602d2..24a8491e04a 100644
--- a/frontend/src/metabase-lib/expressions/suggest.js
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.js
@@ -1,20 +1,23 @@
 import _ from "underscore";
 
-import { getHelpText } from "metabase-lib/expressions/helper-text-strings";
-import { partialMatch, enclosingFunction } from "./completer";
+import {
+  partialMatch,
+  enclosingFunction,
+} from "metabase-lib/expressions/completer";
 import {
   EXPRESSION_FUNCTIONS,
   AGGREGATION_FUNCTIONS,
   MBQL_CLAUSES,
   getMBQLName,
   EDITOR_FK_SYMBOLS,
-} from "./config";
+} from "metabase-lib/expressions/config";
 import {
   getDimensionName,
   formatDimensionName,
   formatMetricName,
   formatSegmentName,
-} from "./index";
+} from "metabase-lib/expressions/index";
+import { getHelpText } from "./helper-text-strings";
 
 const suggestionText = func => {
   const { displayName, args } = func;
diff --git a/frontend/test/metabase/lib/expressions/suggest.unit.spec.js b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.unit.spec.js
similarity index 98%
rename from frontend/test/metabase/lib/expressions/suggest.unit.spec.js
rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.unit.spec.js
index eacbbcf44ea..e39fc0b055c 100644
--- a/frontend/test/metabase/lib/expressions/suggest.unit.spec.js
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.unit.spec.js
@@ -1,8 +1,10 @@
 import _ from "underscore";
 import { ORDERS, REVIEWS } from "__support__/sample_database_fixture";
-import { suggest as suggest_ } from "metabase-lib/expressions/suggest";
-
-import { aggregationOpts, expressionOpts } from "./__support__/expressions";
+import {
+  aggregationOpts,
+  expressionOpts,
+} from "../../../../../../test/metabase/lib/expressions/__support__/expressions";
+import { suggest as suggest_ } from "./suggest";
 
 // custom metadata defined in __support__/sample_database_fixture
 const SEGMENTS_ORDERS = [{ text: "[Expensive Things]", type: "segments" }];
-- 
GitLab