What version of @strapi/sdk-plugin are you using?
- Npm version: 10.8.2
- Node.js version: 20.18.3
- React version: 18.3.1
- Strapi version: 5.23.3
- @strapi/sdk-plugin version: 5.3.2
- Browser: Chrome
What's Wrong?
When building a Strapi plugin with TypeScript, the generated type definitions (.d.ts) are placed in a nested folder (e.g. dist/<plugin-name>/admin/src/index.d.ts).
However, the default package.json configuration expects the types in dist/admin/src/index.d.ts and dist/server/src/index.d.ts, causing verification errors when running the script:
"verify": "strapi-plugin verify"
The error output:
[ERROR] Missing files for exports:
./dist/admin/src/index.d.ts
./dist/server/src/index.d.ts
To Reproduce
-
Create or update a Strapi plugin with TypeScript in a monorepo (Nx or similar).
-
Use the default build scripts and tsconfig.build.json.
-
Run the build and verify commands:
npm run build
npm run verify
-
Observe that the type files are generated in dist/<plugin-name>/admin/src and dist/<plugin-name>/server/src.
-
The verification fails due to missing files in the expected export paths.
Expected Behaviour
-
The plugin build should generate type files in the exact paths expected by the package.json exports field, or the package.json should be updated to match the actual output structure.
-
After updating the package.json to:
"types": "./dist/<plugin-name>/admin/src/index.d.ts"
and
"types": "./dist/<plugin-name>/server/src/index.d.ts"
the verification passes and the plugin works as expected
Additional Notes
- If you run
watch: strapi-plugin watch before running verify, the verification will pass without errors. This is because the watch command generates the type files in the expected locations before verification.
What version of
@strapi/sdk-pluginare you using?What's Wrong?
When building a Strapi plugin with TypeScript, the generated type definitions (
.d.ts) are placed in a nested folder (e.g.dist/<plugin-name>/admin/src/index.d.ts).However, the default
package.jsonconfiguration expects the types indist/admin/src/index.d.tsanddist/server/src/index.d.ts, causing verification errors when running the script:The error output:
To Reproduce
Create or update a Strapi plugin with TypeScript in a monorepo (Nx or similar).
Use the default build scripts and
tsconfig.build.json.Run the build and verify commands:
Observe that the type files are generated in
dist/<plugin-name>/admin/srcanddist/<plugin-name>/server/src.The verification fails due to missing files in the expected export paths.
Expected Behaviour
The plugin build should generate type files in the exact paths expected by the
package.jsonexports field, or thepackage.jsonshould be updated to match the actual output structure.After updating the
package.jsonto:and
the verification passes and the plugin works as expected
Additional Notes
watch:strapi-plugin watchbefore runningverify, the verification will pass without errors. This is because the watch command generates the type files in the expected locations before verification.