diff --git a/ui/package.json b/ui/package.json index ce7e8f7077..a3851bd637 100644 --- a/ui/package.json +++ b/ui/package.json @@ -130,9 +130,8 @@ }, "dependencies": { "@influxdata/clockface": "2.1.0", - "@influxdata/flux": "^0.4.0", + "@influxdata/flux": "^0.5.1", "@influxdata/flux-lsp-browser": "^0.5.6", - "@influxdata/flux-parser": "^0.3.0", "@influxdata/giraffe": "0.18.0", "@influxdata/influx": "0.5.5", "@influxdata/influxdb-templates": "0.9.0", diff --git a/ui/src/external/parser.ts b/ui/src/external/parser.ts new file mode 100644 index 0000000000..1dc0e19f71 --- /dev/null +++ b/ui/src/external/parser.ts @@ -0,0 +1,25 @@ +import {File} from 'src/types/ast' + +/* + NOTE: This is a work around for flux being generated (from rust) for the browser and jest tests running in + a node environment (this is only for handling tests). If a test requires a specific AST result + then you will need to mock that out in the test. +*/ +export const parse = (script): File => { + if (window) { + return require('@influxdata/flux').parse(script) + } else { + return { + type: 'File', + package: { + name: { + name: 'fake', + type: 'Identifier', + }, + type: 'PackageClause', + }, + imports: [], + body: [], + } + } +} diff --git a/ui/src/shared/utils/getMinDurationFromAST.ts b/ui/src/shared/utils/getMinDurationFromAST.ts index 4ebbe47d19..6a4abca4af 100644 --- a/ui/src/shared/utils/getMinDurationFromAST.ts +++ b/ui/src/shared/utils/getMinDurationFromAST.ts @@ -179,7 +179,6 @@ function isTimeCall(node: CallExpression): boolean { function isRangeNode(node: Node) { return ( - get(node, 'type') === 'CallExpression' && get(node, 'callee.type') === 'Identifier' && get(node, 'callee.name') === 'range' ) diff --git a/ui/src/timeMachine/actions/queries.ts b/ui/src/timeMachine/actions/queries.ts index 0cbac8d6ab..7f5f17ab69 100644 --- a/ui/src/timeMachine/actions/queries.ts +++ b/ui/src/timeMachine/actions/queries.ts @@ -1,5 +1,5 @@ // Libraries -import {parse} from '@influxdata/flux-parser' +import {parse} from 'src/external/parser' import {get} from 'lodash' // API diff --git a/ui/src/variables/utils/getWindowVars.test.ts b/ui/src/variables/utils/getWindowVars.test.ts index 4dcde99296..ec557598a5 100644 --- a/ui/src/variables/utils/getWindowVars.test.ts +++ b/ui/src/variables/utils/getWindowVars.test.ts @@ -22,7 +22,7 @@ describe('getWindowPeriodVariable', () => { }) test('should return a dynamic windowPeriod depending on the timeRange that is input', () => { - jest.mock('@influxdata/flux-parser', () => { + jest.mock('src/external/parser', () => { return { parse: jest.fn(() => ({ type: 'File', diff --git a/ui/src/variables/utils/getWindowVars.ts b/ui/src/variables/utils/getWindowVars.ts index 710a2a0dc9..372cec0975 100644 --- a/ui/src/variables/utils/getWindowVars.ts +++ b/ui/src/variables/utils/getWindowVars.ts @@ -1,5 +1,5 @@ // APIs -import {parse} from '@influxdata/flux-parser' +import {parse} from 'src/external/parser' // Utils import {getMinDurationFromAST} from 'src/shared/utils/getMinDurationFromAST' diff --git a/ui/webpack.common.ts b/ui/webpack.common.ts index 6369799a36..2c8abc3b9a 100644 --- a/ui/webpack.common.ts +++ b/ui/webpack.common.ts @@ -43,10 +43,6 @@ module.exports = { }, module: { rules: [ - { - test: /flux_parser_bg.wasm$/, - type: 'webassembly/experimental', - }, { test: /flux_bg.wasm$/, type: 'webassembly/experimental', diff --git a/ui/yarn.lock b/ui/yarn.lock index 491ff0673b..40f4ef0b16 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1021,15 +1021,10 @@ resolved "https://registry.yarnpkg.com/@influxdata/flux-lsp-browser/-/flux-lsp-browser-0.5.6.tgz#ca0d57c713ca4bbca4828b9c26b86c3ec4781249" integrity sha512-9NP4zl2nLNy4C9lyGfqf09C41w1ENINXg1X5O+LZFgqbc2oRF3HyZFgDbUfPRgsWUAQrjahSNm29bt/KnOgy2w== -"@influxdata/flux-parser@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@influxdata/flux-parser/-/flux-parser-0.3.0.tgz#b63123ac814ad32c65e46a4097ba3d8b959416a5" - integrity sha512-nsm801l60kXFulcSWA2YH2YRz9oSsMlTK9Evn6Og9BoQnQMcwUsSUEug8mQRIUljnkNYV58JSs0W0mP8h7Y/ZQ== - -"@influxdata/flux@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@influxdata/flux/-/flux-0.4.0.tgz#7780f1344175c3dc784fb935e7224c6758d44846" - integrity sha512-m678aFy2fUMlBFwbZ8dG1yawuLUAzOEJm6jPdZR6ezUW/Z07mLk1XwMEbCMk7vFkx1f7cbZ0Yxe/sDt0uwRcxA== +"@influxdata/flux@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@influxdata/flux/-/flux-0.5.1.tgz#e39e7a7af9163fc9494422c8fed77f3ae1b68f56" + integrity sha512-GHlkXBhSdJ2m56JzDkbnKPAqLj3/lexPooacu14AWTO4f2sDGLmzM7r0AxgdtU1M2x7EXNBwgGOI5EOAdN6mkw== "@influxdata/giraffe@0.18.0": version "0.18.0"