So I'm making a svelte typescript library and the folder structure is as follows
|- dist/
|- src/
|- components/
|- index.ts
|- tests/
|- src/
|- components/
|- index.ts
|- package.json
|- tsconfig.json
|- rollup.config.js
|- package.json
|- tsconfig.json
|- rollup.config.js
in tests folder I have a separate svelte typescript project to test the library and I'm trying to import the files from outside the tests folder directly to tests project, it gave me this error
[!] Error: Unexpected token (Note that you need plugins to import files that are not JavaScript)
..\src\utilities\navbarStore.ts (1:12)
1: import type { NavThemes } from "src/interfaces";
^
2: import { writable } from "svelte/store";
I've tried several stuff like using paths in tests project tsconfig.json and adding rootDirs, still doesn't fix the problem, anyone knows how to tackle this issue? thanks for your help
here's the main project's tsconfig.json :
{
"include": ["src/**/*"],
"exclude": ["node_modules/*", "public/*", "tests/*", "docs/*", "demo/*"],
"compilerOptions": {
"baseUrl": ".",
"lib": ["es2017", "dom"],
"target": "es2017",
"module": "esnext",
"sourceMap": true,
"rootDir": ".",
"composite": true,
"noEmitOnError": true,
"noErrorTruncation": true,
"declaration": true,
"declarationMap": true,
"noEmit": false,
"strict": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"types": ["svelte", "node"],
"allowSyntheticDefaultImports": true,
"importsNotUsedAsValues": "error",
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"esModuleInterop": true
}
}
here's tests project tsconfig.json :
{
"include": ["src/**/*", "../src/**/*"],
"exclude": ["node_modules/*", "__sapper__/*", "public/*"],
"compilerOptions": {
"lib": ["es2017", "dom"],
"target": "es2017",
"noEmitOnError": true,
"noErrorTruncation": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"types": ["svelte", "node"],
"forceConsistentCasingInFileNames": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"rootDirs": [".", "../"],
"baseUrl": ".",
"paths": {
"svelteprojectts/*": ["../src/*"],
"svelteprojectjs/*": ["../dist/es/*"]
}
}
}