Giter VIP home page Giter VIP logo

Comments (6)

devinivy avatar devinivy commented on May 18, 2024

Curious! Is jest configured to use any sort of transpilation (e.g. via babel)?

from schwifty.

kmenshov avatar kmenshov commented on May 18, 2024

Ah, why didn't I think about it! Indeed it is:

// test/jest.setup.js
require('@babel/polyfill');

But without it I get the ReferenceError: regeneratorRuntime is not defined in tests. :(

from schwifty.

kmenshov avatar kmenshov commented on May 18, 2024

Yep, seems like it's mutually exclusive. I've tried to replace babel polyfill with regenerator-runtime:

// test/jest.setup.js

// require('@babel/polyfill');
require('regenerator-runtime/runtime');

and got the same Joi validation error as described in the first post.

Can maybe the Joi schema be made less restrictive?

// schwifty/lib/schema.js

// internals.model = Joi.func().class();
internals.model = Joi.func();

from schwifty.

devinivy avatar devinivy commented on May 18, 2024

There's really no need to transpile classes away in nodejs, and I highly suggest testing the code you're going to run in production, which I hope is not transpiled for a variety of reasons. I think the fix here is to your project's test suite. Mostly likely the polyfill itself is not responsible for the transpilation of classes to functions—you likely have @babel/preset-env setup somewhere, and you can try to configure that to omit certain transformations, or to only transpile your client-side directories.

from schwifty.

kmenshov avatar kmenshov commented on May 18, 2024

I was wrong, sorry for bothering you. :) For anyone facing the same problem: indeed, the solution is just to exclude the server (but not the client) code from being transpiled altogether:

// jest.config.js

transformIgnorePatterns: ['<rootDir>/server/', '<rootDir>/node_modules/'],

See details here: https://jestjs.io/docs/en/configuration#transformignorepatterns-array-string

from schwifty.

devinivy avatar devinivy commented on May 18, 2024

Glad you got it sorted out!

from schwifty.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.