Creé un paquete con CRA, Typescript y Storybook.
Hay algunas configuraciones de mi package.json :
"name": "@my-name/my-package", "version": "0.0.7", "main": "./dist/index.js", "exports": { ".": "./dist/index.js", "./interfaces": "./dist/interfaces", "./contexts": "./dist/contexts" }, "types": "./dist/index.d.ts", "typesVersions": { "*": { "interfaces": [ "./dist/interfaces/index.d.ts" ], "contexts": [ "./dist/contexts/index.d.ts" ] } },Cuando importo así, funciona bien:
import { Button } from '@my-name/my-package'; import { ButtonInterface } from '@my-name/my-package/interfaces';Pero cuando trato de importar así:
import { ButtonContext } from '@my-name/my-package/contexts';me sale este error:
Module not found: Can't resolve '@my-name/my-package/contexts' in '/home/my-pc/Documents/my-project/src/pages/Home'Realmente no sé por qué puedo importar interfaces, pero no puedo importar contextos.
Intenté importar el ButtonContext desde mi punto de entrada principal y funcionó. Pero luego trato de importarlo desde la entrada "./contexts", aparece el error de módulo no encontrado.
Aquí está mi tsconfig.json que uso para crear la carpeta dist:
{ "compilerOptions": { "declaration": true, "strictNullChecks": true, "outDir": "dist", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "lib": ["es2015", "dom"], "rootDir": "src", "jsx": "react-jsx", "esModuleInterop": true, "resolveJsonModule": true, "allowJs": true }, "include": ["src"], "exclude": [ "node_modules", "dist", "./src/stories", "./src/**/*.stories.**", "./src/mock", "./src/**/*.test.*", "./src/setupTests.ts" ] }