diff --git a/eslint-local-rules/index.js b/eslint-local-rules/index.js index af02599c90..6806eeefe0 100644 --- a/eslint-local-rules/index.js +++ b/eslint-local-rules/index.js @@ -7,11 +7,11 @@ module.exports = { if ( /^@budibase\/[^/]+\/.*$/.test(importPath) && - importPath !== "@budibase/backend-core/tests" + !["@budibase/backend-core/tests","@budibase/string-templates/js-helpers"].includes(importPath) ) { context.report({ node, - message: `Importing from @budibase is not allowed, except for @budibase/backend-core/tests.`, + message: `Importing from @budibase is not allowed, except for @budibase/backend-core/tests and @budibase/string-templates/js-helpers.`, }) } }, diff --git a/packages/server/src/jsRunner/bundles/index-helpers.ts b/packages/server/src/jsRunner/bundles/index-helpers.ts new file mode 100644 index 0000000000..58ba3c6cc7 --- /dev/null +++ b/packages/server/src/jsRunner/bundles/index-helpers.ts @@ -0,0 +1,10 @@ +import getJsHelperList from '@budibase/string-templates/js-helpers' + +const helpers = getJsHelperList() +module.exports = { + ...helpers, + // pointing stripProtocol to a unexisting function to be able to declare it on isolated-vm + // @ts-ignore + // eslint-disable-next-line no-undef + stripProtocol: helpersStripProtocol, +} diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index c7a4e79c86..9aeb3699af 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -12,6 +12,7 @@ "import": "./dist/bundle.mjs" }, "./package.json": "./package.json", + "./js-helpers": "./src/index-helpers.js", "./index-helpers": "./dist/index-helpers.bundled.js", "./test/utils": "./test/utils.js" },