From 99923fcd0ff851badb6220f14e3bd821fc566fe1 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Fri, 2 Sep 2022 11:08:14 +0530 Subject: [PATCH] Test - esbuild --- .esbuild/util.cjs | 8 ++++---- jest.config.js | 4 ++-- package.json | 3 +-- yarn.lock | 10 +++++++++- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.esbuild/util.cjs b/.esbuild/util.cjs index 3765242c3..b5b39d494 100644 --- a/.esbuild/util.cjs +++ b/.esbuild/util.cjs @@ -9,6 +9,7 @@ const buildOptions = (override = {}) => { bundle: true, minify: true, keepNames: true, + banner: { js: '"use strict";' }, globalName: 'mermaid', platform: 'browser', tsconfig: 'tsconfig.json', @@ -45,18 +46,17 @@ exports.umdBuild = (override = { minify: true }) => { }); }; +const { Generator } = require('jison'); +let fs = require('fs'); const jisonPlugin = { name: 'jison', setup(build) { - const { Generator } = require('jison'); - let fs = require('fs'); - build.onLoad({ filter: /\.jison$/ }, async (args) => { // Load the file from the file system let source = await fs.promises.readFile(args.path, 'utf8'); try { - let contents = new Generator(source, {}).generate(); + let contents = new Generator(source, { 'token-stack': true }).generate(); return { contents, warnings: [] }; } catch (e) { return { errors: [] }; diff --git a/jest.config.js b/jest.config.js index 65ea3ef58..b7350d2f2 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,11 +1,11 @@ const path = require('path'); - /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ module.exports = { testEnvironment: 'jsdom', preset: 'ts-jest', transform: { - '^.+\\.jsx?$': ['babel-jest', { rootMode: 'upward' }], + '^.+\\.tsx?$': ['jest-esbuild', { banner: '"use strict";' }], + '^.+\\.jsx?$': ['jest-esbuild', { banner: '"use strict";' }], '^.+\\.jison$': [ path.resolve(__dirname, './src/jison/transformer.js'), { 'token-stack': true }, diff --git a/package.json b/package.json index e7ae33c60..c031a9578 100644 --- a/package.json +++ b/package.json @@ -85,8 +85,6 @@ "@types/dompurify": "^2.3.3", "@types/jest": "^28.1.7", "@types/stylis": "^4.0.2", - "babel-jest": "^29.0.1", - "babel-loader": "^8.2.2", "concurrently": "^7.0.0", "coveralls": "^3.0.2", "css-to-string-loader": "^0.1.3", @@ -108,6 +106,7 @@ "identity-obj-proxy": "^3.0.0", "jest": "^28.0.3", "jest-environment-jsdom": "^29.0.1", + "jest-esbuild": "^0.2.9", "jison": "^0.4.18", "js-base64": "3.7.2", "lint-staged": "^13.0.0", diff --git a/yarn.lock b/yarn.lock index dd665f9a8..118937d1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5711,7 +5711,7 @@ esbuild-windows-arm64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.6.tgz#e18a778d354fc2ca2306688f3fedad8a3e57819e" integrity sha512-DB3G2x9OvFEa00jV+OkDBYpufq5x/K7a6VW6E2iM896DG4ZnAvJKQksOsCPiM1DUaa+DrijXAQ/ZOcKAqf/3Hg== -esbuild@^0.14.39: +esbuild@^0.14.39, esbuild@^0.14.48: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== @@ -7860,6 +7860,14 @@ jest-environment-node@^28.1.3: jest-mock "^28.1.3" jest-util "^28.1.3" +jest-esbuild@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/jest-esbuild/-/jest-esbuild-0.2.9.tgz#c4c103e510400ad8a080753fd990dfe5a2a76025" + integrity sha512-GfcQgHf8XPwUydEurYTRdrhrDblVFXtgOsKmE/7KADxbsC0c5xpxQBarak4X7K0wl5XXfTmw7Qtat2V0/ssreg== + dependencies: + debug "^4.3.4" + esbuild "^0.14.48" + jest-get-type@^28.0.2: version "28.0.2" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203"