Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Old pkg config causes errors on transpile #26

Open
codejedi365 opened this issue Oct 30, 2021 · 0 comments · May be fixed by #27
Open

Old pkg config causes errors on transpile #26

codejedi365 opened this issue Oct 30, 2021 · 0 comments · May be fixed by #27

Comments

@codejedi365
Copy link

I came across an error about 3 layers abstracted from this repository but a simple configuration change to the deployment would prevent issues with support of newer configurations.

My error occurs within DevExpress/testcafe when evaluating a testcase in es2017 javascript. When a testcase is run, it is transposed via Babel prior to execution. Your package is used by @Babel/core@7. During the babel compilation step, your package processed and it processes your test/index.test.ts which has an unresolved module.

This is the error I get:

$> npm exec -- testcafe chrome:headless **/*.test.js
ERROR Cannot prepare tests due to the following error:

Error: Cannot find module 'util.promisify'
Require stack:
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/gensync/test/index.test.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/compiler/test-file/formats/es-next/compiler.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/compiler/compilers.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/compiler/index.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/runner/bootstrapper.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/runner/index.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/testcafe.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/index.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/cli/cli.js
- /<redacted>/eslint-plugin-testcafe-community/example/node_modules/testcafe/lib/cli/index.js

I dug through the code and found this is because of:

// FILE: gensync/test/index.test.js#3
const promisify = require("util.promisify");

This looks like an old implementation of require() that is no longer valid in Node@>=10.24.

I can't figure out why Babel is transpiling the entire module rather than just your package.json[main]. I figure this is an easy fix to just prevent your test code from being included in your package which is likely unintentional.

FYI, New updates in npmv6 & 7 have helped ensure smaller production packages through the use of the files directive.

codejedi365 added a commit to codejedi365/gensync that referenced this issue Oct 30, 2021
@codejedi365 codejedi365 linked a pull request Oct 30, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant