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

Package path ./dist/types/utility/type.js is not exported from package #1168

Open
mckinlde opened this issue Sep 21, 2023 · 2 comments
Open
Labels
bug Something isn't working needs assessment This needs to be looked at by a team member

Comments

@mckinlde
Copy link

Reproduction example

NA - Doesn't Build

Prerequisites

npm run build

application-architecture-boilerplate@0.1.0 build
react-scripts build

Creating an optimized production build...
Failed to compile.

Module not found: Error: Package path ./dist/types/utility/type.js is not exported from package /app/node_modules/@testing-library/user-event (see exports field in /app/node_modules/@testing-library/user-event/package.json)

Expected behavior

app/node_modules/@testing-library/user-event/package.json::

{
"name": "@testing-library/user-event",
"version": "14.5.1",
"description": "Fire events the same way the user does",
"keywords": [
"react-testing-library",
"dom-testing-library",
"react",
"testing"
],
"author": "Giorgio Polvara polvara@gmail.com",
"license": "MIT",
"engines": {
"node": ">=12",
"npm": ">=6"
},
"repository": {
"type": "git",
"url": "https://github.com/testing-library/user-event"
},
"bugs": {
"url": "https://github.com/testing-library/user-event/issues"
},
"homepage": "https://github.com/testing-library/user-event#readme",
"files": [
"dist"
],
"scripts": {
"build": "scripts ts-build2 --cjs --target es2019",
"lint": "kcd-scripts lint",
"setup": "npm install && npm run validate -s",
"setup:env": "node --experimental-import-meta-resolve scripts/setup.js",
"test": "kcd-scripts test",
"test:jest": "kcd-scripts test",
"test:toolbox": "NODE_OPTIONS='--experimental-vm-modules --experimental-modules --experimental-import-meta-resolve' node scripts/test.js",
"test:debug": "kcd-scripts --inspect-brk test --runInBand",
"test:update": "npm test -- --updateSnapshot --coverage",
"validate": "kcd-scripts typecheck"
},
"devDependencies": {
"@ph.fritsche/scripts-config": "^2.4.0",
"@ph.fritsche/toolbox": "^1.0.0-alpha.1",
"@testing-library/dom": "^8.19.0",
"@testing-library/jest-dom": "^5.16.3",
"@testing-library/react": "^13.4.0",
"@types/jest-in-case": "^1.0.3",
"@types/react": "^18.0.25",
"@types/sinonjs__fake-timers": "^8.1.2",
"css.escape": "^1.5.1",
"eslint-import-resolver-typescript": "^3.5.2",
"eslint-plugin-local-rules": "^1.3.2",
"expect": "^28.1.3",
"is-ci": "^3.0.1",
"istanbul-lib-coverage": "^3.2.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.1",
"istanbul-reports": "^3.1.5",
"jest-in-case": "^1.0.2",
"jest-mock": "^28.1.3",
"jest-serializer-ansi": "^1.0.3",
"jsdom": "^20.0.3",
"kcd-scripts": "^12.1.0",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"shared-scripts": "^1.5.1",
"ts-node": "^10.9.1",
"typescript": "^4.9.3"
},
"peerDependencies": {
"@testing-library/dom": ">=7.21.4"
},
"dependencies": {},
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"types": "./dist/types/index.d.ts",
"exports": {
".": {
"types": "./dist/types/index.d.ts",
"require": "./dist/cjs/index.js",
"default": "./dist/esm/index.js"
},
"./dist/cjs/": "./dist/cjs/",
"./dist/esm/": "./dist/esm/"
},
"typesVersions": {
"": {
"dist/types/
": [
"./dist/types/"
],
"dist/cjs/
.js": [
"./dist/types/.d.ts"
],
"dist/esm/
.js": [
"./dist/types/.d.ts"
],
"
": [
"./dist/types/*.d.ts"
]
}
}
}

Actual behavior

nom build should succeed

User-event version

14.5.1

Environment

Testing Library framework:

"@testing-library/react": "^13.4.0",

JS framework:

npm --v react
9.6.7

Test environment:

DOM implementation:

Additional context

I just want to npm run build. I don't even use this library in my app.

@mckinlde mckinlde added bug Something isn't working needs assessment This needs to be looked at by a team member labels Sep 21, 2023
@mckinlde
Copy link
Author

I solved this problem for myself by removing the library; it was a legacy inclusion from a template by Anton Kalik, specifically https://github.com/antonkalik/session-react-router

If some hapless Googler finds this the way I did, I recommend you follow up with Anton if this issue hasn't been resolved; it may still affect that repo

@antoniosZ
Copy link

antoniosZ commented Nov 22, 2023

When trying to lint with ESLint: 8.54.0 and @testing-library/user-event 14.4.3 or 14.5.1 I get a similar error:

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './dist/types/setup/directApi' is not defined by "exports" in ...node_modules/@testing-library/user-event/package.json

If I go to node_modules/@testing-library/user-event/package.json
and remove the whole exports block:

"exports": {
    ".": {
      "types": "./dist/types/index.d.ts",
      "require": "./dist/cjs/index.js",
      "default": "./dist/esm/index.js"
    },
    "./dist/cjs/*": "./dist/cjs/*",
    "./dist/esm/*": "./dist/esm/*"
  },

ESlint works without issues...
Please note that my project is using NPM Workspaces (if that matters).

update: it appears to be related with https://www.npmjs.com/package/eslint-import-resolver-typescript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs assessment This needs to be looked at by a team member
Projects
None yet
Development

No branches or pull requests

2 participants