Hi!
I’m using @mobiscroll/angular-ivy
version 5.29.0
with the latest Angular version.
In my tsconfig.json
of my Angular application I recently decided to use moduleResolution: Bundler
.
This breaks mobiscroll because in the package.json
of @mobiscroll/angular-ivy
it’s missing the types
field in the exports
of the main entry point.
This is the patch that fixes it:
diff --git a/node_modules/@mobiscroll/angular-ivy/package.json b/node_modules/@mobiscroll/angular-ivy/package.json
index c57c450..1c9226e 100644
--- a/node_modules/@mobiscroll/angular-ivy/package.json
+++ b/node_modules/@mobiscroll/angular-ivy/package.json
@@ -30,6 +30,7 @@
"exports": {
".": {
"import": "./dist/esm5/mobiscroll.angular.min.js",
+ "types": "./dist/js/mobiscroll.angular.min.d.ts",
"require": "./dist/js/mobiscroll.angular.min.js"
},
"./dist/css/*": "./dist/css/*",
Basically in the package.json
inside the exports
field in the main entry point (.
) the following line should be added:
"types": "./dist/js/mobiscroll.angular.min.d.ts"
I’m aware that if one currently creates a new Angular application, the moduleResolution
is set to node
and there is no error, but in the next Angular major version (18), the default will be moduleResolution: Bundler
:
Adding the line I’m proposing in the package.json
won’t break any existing Angular application that uses moduleResolution: node
, but by adding that line, Mobiscroll will work with both module resolutions (Bundle
, node
and even NodeNext
/Node16
).