kit: Missing "." export in "@sveltejs/kit" package
Describe the bug
When issue npm run build
get this error
Reproduction
npm run build
My svelte.config.js
import preprocess from 'svelte-preprocess';
const config = {
kit: {
amp: false,
appDir: '_app',
files: {
assets: 'static',
//hooks: 'src/hooks',
lib: 'src/lib',
routes: 'src/routes',
serviceWorker: 'src/service-worker.ts',
template: 'src/app.html'
},
floc: false,
hydrate: true,
package: {
files: {
exclude: ['**/*.test.ts']
}
},
prerender: {
crawl: true,
enabled: true,
onError: 'continue',
pages: ['*']
},
router: true,
ssr: true,
target: '#svelte',
trailingSlash: 'never'
},
preprocess: preprocess({
replace: [['process.env.NODE_ENV', JSON.stringify(process.env.NODE_ENV)]],
}),
};
export default config;
My package.json
{
"name": "~TODO~",
"version": "0.0.1",
"scripts": {
"dev": "svelte-kit dev",
"build": "svelte-kit build",
"preview": "svelte-kit preview",
"check": "svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
"format": "prettier --write --plugin-search-dir=. .",
"test": "jest"
},
"//": "force install svelte-jester on version 1.8.2, 2.1.1 is broken and being fixed",
"devDependencies": {
"@sveltejs/kit": "next",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/svelte": "^3.0.3",
"@types/jest": "^27.0.1",
"@typescript-eslint/eslint-plugin": "^4.19.0",
"@typescript-eslint/parser": "^4.19.0",
"eslint": "^7.22.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-svelte3": "^3.2.0",
"jest": "^27.1.0",
"jest-localstorage-mock": "^2.4.17",
"prettier": "~2.2.1",
"prettier-plugin-svelte": "^2.2.0",
"svelte": "^3.34.0",
"svelte-check": "^2.0.0",
"svelte-jester": "1.8.2",
"svelte-preprocess": "^4.0.0",
"ts-jest": "^27.0.5",
"tslib": "^2.0.0",
"typescript": "^4.0.0"
},
"type": "module"
}
Logs
npm run build
> ~TODO~@0.0.1 build
> svelte-kit build
vite v2.5.4 building for production...
✓ 30 modules transformed.
.svelte-kit/output/client/_app/manifest.json 1.30 KiB
.svelte-kit/output/client/_app/error.svelte-89ee8862.js 1.55 KiB / brotli: 0.64 KiB
.svelte-kit/output/client/_app/pages/__layout.svelte-a8251f0c.js 0.72 KiB / brotli: 0.41 KiB
.svelte-kit/output/client/_app/assets/start-61d1577b.css 0.16 KiB / brotli: 0.11 KiB
.svelte-kit/output/client/_app/assets/pages/__layout.svelte-3c7a1a64.css 0.72 KiB / brotli: 0.37 KiB
.svelte-kit/output/client/_app/assets/pages/index.svelte-7545cfa0.css 2.71 KiB / brotli: 0.65 KiB
.svelte-kit/output/client/_app/chunks/vendor-401acf23.js 7.57 KiB / brotli: 2.79 KiB
.svelte-kit/output/client/_app/pages/index.svelte-0ea4a5cb.js 10.38 KiB / brotli: 3.38 KiB
.svelte-kit/output/client/_app/start-2fb977ed.js 17.60 KiB / brotli: 5.62 KiB
vite v2.5.4 building SSR bundle for production...
Bundling package for SSR due to resolve failure. Failed to resolve entry for package "@sveltejs/kit". The package may have incorrect main/module/exports specified in its package.json: Missing "." export in "@sveltejs/kit" package
Bundling package for SSR due to resolve failure. Failed to resolve entry for package "@types/jest". The package may have incorrect main/module/exports specified in its package.json: Failed to resolve entry for package "@types/jest". The package may have incorrect main/module/exports specified in its package.json.
✓ 29 modules transformed.
.svelte-kit/output/server/app.js 83.31 KiB
vite v2.5.4 building for production...
✓ 2 modules transformed.
.svelte-kit/output/client/service-worker.js 0.41 KiB / brotli: 0.20 KiB
Run npm run preview to preview your production build locally.
System Info
node version: v16.3.0
svelte-kit, 1.0.0-next.164
Severity
serious, but I can work around it
Additional Information
No response
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Reactions: 5
- Comments: 16 (10 by maintainers)
Commits related to this issue
- weird errors during build,(no showstopper) created a ticket https://github.com/sveltejs/kit/issues/2384 — committed to jacobbogers/sw-common by jacobbogers 3 years ago
In case this helps anyone, I ran into the same problem after replacing all occurrences of
import type { ... }
withimport { ... }
.It seems that some imports, such as those importing from
@svelte/kit
or those in<script context="module">
still need explicit type imports (I’m not sure which is the cause). Another solution is to use JS and a@type
hint such as in the Svelte docs.From the errors, looks like it’s coming from Vite’s dep scanner, which uses esbuild to process TS, and it tries to resolve
@sveltejs/kit
because it’s not a type import. I guess we can add an extra heuristic where if it fails to resolve, it checks if there’s a type condition and suggest that. But it would be a fair refactor before we can do that. I’ll put this in my todo list 🙂This message will be silenced in the next Vite release https://github.com/vitejs/vite/pull/4873
Bump. Same here.
SvelteKit v1.0.0-next.164
Bundling package for SSR due to resolve failure. Failed to resolve entry for package “@sveltejs/kit”. The package may have incorrect main/module/exports specified in its package.json: Missing “.” export in “@sveltejs/kit” package
Does this have a fix yet? I get the same or a similar bug when I add
import { error } from "@sveltejs/kit"
to a svelte componentthe bug states:
[vite] Internal server error: Failed to resolve entry for package "@sveltejs/kit". The package may have incorrect main/module/exports specified in its package.json: No known conditions for "." entry in "@sveltejs/kit" package
Bump. Same error upon even making a brand new repo.
Simply running:
npm init svelte@next test cd test npm run dev
produces:
Bundling package for SSR due to resolve failure. Failed to resolve entry for package "@sveltejs/kit". The package may have incorrect main/module/exports specified in its package.json: Missing "." export in "@sveltejs/kit" package
Thanks for the hint, but then why doesnt sveltekit produce a meaningful error message? This is cropping up again and again and it always takes a while until you figure out where its wrong.
If the import consists of type imports only, you need to use
import type
I cut a release with a new version of Vite
I get the same thing once I upgraded to sveltekit 1.0.0-next.164. The two packages for me though are: sveltejs/adapter-vercel sveltejs/kit