firebase icon indicating copy to clipboard operation
firebase copied to clipboard

can not find module fs when installing @nativescript/firebase-crashlytics

Open laupas opened this issue 2 years ago • 4 comments

Hi all

When I add "@nativescript/firebase-crashlytics" to my Nativescript app, the compilation fails with the following error:

***** Fatal JavaScript exception - application has been terminated. ***** NativeScript encountered a fatal error: Uncaught Error: Cannot find module 'fs' at webpackMissingModule(file: app/webpack:/myApp1/node_modules/source-map/lib/util.js:35:0) at ./node_modules/source-map/lib/read-wasm.js(file: app/webpack:/myApp1/node_modules/source-map/lib/util.js:35:0) at webpack_require(file: app/webpack:/myApp1/webpack/bootstrap:24:0) at fn(file: app/webpack:/myApp1/webpack/runtime/hot module replacement:62:0) at ./node_modules/source-map/lib/source-map-consumer.js(file: app/webpack:/myApp1/node_modules/source-map/lib/util.js:74:0) at webpack_require(file: app/webpack:/myApp1/webpack/bootstrap:24:0) at fn(file: app/webpack:/myApp1/webpack/runtime/hot module replacement:62:0) at ./node_modules/source-map/source-map.js(file: app/webpack:/myApp1/node_modules/acorn/dist/acorn.mjs:1509:0) at webpack_require(file: app/webpack:/myApp1/webpack/bootstrap:24:0) at fn(file: app/webpack:/myApp1/webpack/runtime/hot module replacement:62:0) at (file: app/webpack:/myApp1/node_modules/acorn/dist/acorn.mjs:1724:6) at ./node_modules/stacktrace-gps/stacktrace-gps.js(file: app/webpack:/myApp1/node_modules/acorn/dist/acorn.mjs:1729:0) at webpack_require(file: app/webpack:/myApp1/webpack/bootstrap:24:0) at fn(file: app/webpack:/myApp1/webpack/runtime/hot module replacement:62:0) at (file: app/webpack:/myApp1/node_modules/acorn/dist/acorn.mjs:2072:0) at ./node_modules/stacktrace-js/stacktrace.js(file: app/webpack:/myApp1/node_modules/acorn/dist/acorn.mjs:2077:0) at webpack_require(fil<…>

ERROR in ./node_modules/source-map/lib/read-wasm.js 29:13-26 Module not found: Error: Can't resolve 'fs' in '/Users/pascal/work/nativescript/myApp1/node_modules/source-map/lib' resolve 'fs' in '/Users/pascal/work/nativescript/myApp1/node_modules/source-map/lib' Parsed request is a module using description file: /Users/pascal/work/nativescript/myApp1/node_modules/source-map/package.json (relative path: ./lib) resolve as module looking for modules in /Users/pascal/work/nativescript/myApp1/node_modules single file module using description file: /Users/pascal/work/nativescript/myApp1/package.json (relative path: ./node_modules/fs) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs is not a file .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs.json doesn't exist existing directory /Users/pascal/work/nativescript/myApp1/node_modules/fs using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: .) using description file: /Users/pascal/work/nativescript/myApp1/package.json (relative path: ./node_modules/fs) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs is not a file .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs.json doesn't exist as directory existing directory /Users/pascal/work/nativescript/myApp1/node_modules/fs using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: .) use ./index.js from main in package.json using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: ./index.js) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js doesn't exist .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.json doesn't exist as directory /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js doesn't exist using path: /Users/pascal/work/nativescript/myApp1/node_modules/fs/index using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: ./index) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs/index doesn't exist .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.json doesn't exist /Users/pascal/work/nativescript/myApp1/node_modules/source-map/lib/node_modules doesn't exist or is not a directory /Users/pascal/work/nativescript/myApp1/node_modules/source-map/node_modules doesn't exist or is not a directory /Users/pascal/work/nativescript/myApp1/node_modules/node_modules doesn't exist or is not a directory looking for modules in /Users/pascal/work/nativescript/myApp1/node_modules single file module using description file: /Users/pascal/work/nativescript/myApp1/package.json (relative path: ./node_modules/fs) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs is not a file .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs.json doesn't exist existing directory /Users/pascal/work/nativescript/myApp1/node_modules/fs using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: .) using description file: /Users/pascal/work/nativescript/myApp1/package.json (relative path: ./node_modules/fs) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs is not a file .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs.json doesn't exist as directory existing directory /Users/pascal/work/nativescript/myApp1/node_modules/fs using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: .) use ./index.js from main in package.json using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: ./index.js) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js doesn't exist .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js.json doesn't exist as directory /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js doesn't exist using path: /Users/pascal/work/nativescript/myApp1/node_modules/fs/index using description file: /Users/pascal/work/nativescript/myApp1/node_modules/fs/package.json (relative path: ./index) no extension /Users/pascal/work/nativescript/myApp1/node_modules/fs/index doesn't exist .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/fs/index.json doesn't exist /Users/pascal/work/nativescript/node_modules doesn't exist or is not a directory /Users/pascal/work/node_modules doesn't exist or is not a directory /Users/pascal/node_modules doesn't exist or is not a directory /Users/node_modules doesn't exist or is not a directory /node_modules doesn't exist or is not a directory @ ./node_modules/source-map/lib/source-map-consumer.js 12:17-44 @ ./node_modules/source-map/source-map.js 7:0-82 @ ./node_modules/stacktrace-gps/stacktrace-gps.js @ ./node_modules/stacktrace-js/stacktrace.js @ ./node_modules/@nativescript/firebase-crashlytics/index.ios.js 2:0-39 59:12-32 @ ./app/app.ts 14:0-44

ERROR in ./node_modules/source-map/lib/read-wasm.js 30:15-30 Module not found: Error: Can't resolve 'path' in '/Users/pascal/work/nativescript/myApp1/node_modules/source-map/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }' - install 'path-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "path": false } resolve 'path' in '/Users/pascal/work/nativescript/myApp1/node_modules/source-map/lib' Parsed request is a module using description file: /Users/pascal/work/nativescript/myApp1/node_modules/source-map/package.json (relative path: ./lib) resolve as module looking for modules in /Users/pascal/work/nativescript/myApp1/node_modules single file module using description file: /Users/pascal/work/nativescript/myApp1/package.json (relative path: ./node_modules/path) no extension /Users/pascal/work/nativescript/myApp1/node_modules/path doesn't exist .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/path.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/path.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/path.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/path.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/path.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/path.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/path.json doesn't exist /Users/pascal/work/nativescript/myApp1/node_modules/path doesn't exist /Users/pascal/work/nativescript/myApp1/node_modules/source-map/lib/node_modules doesn't exist or is not a directory /Users/pascal/work/nativescript/myApp1/node_modules/source-map/node_modules doesn't exist or is not a directory /Users/pascal/work/nativescript/myApp1/node_modules/node_modules doesn't exist or is not a directory looking for modules in /Users/pascal/work/nativescript/myApp1/node_modules single file module using description file: /Users/pascal/work/nativescript/myApp1/package.json (relative path: ./node_modules/path) no extension /Users/pascal/work/nativescript/myApp1/node_modules/path doesn't exist .ios.vue /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.vue doesn't exist .vue /Users/pascal/work/nativescript/myApp1/node_modules/path.vue doesn't exist .ios.ts /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.ts doesn't exist .ts /Users/pascal/work/nativescript/myApp1/node_modules/path.ts doesn't exist .ios.js /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.js doesn't exist .js /Users/pascal/work/nativescript/myApp1/node_modules/path.js doesn't exist .ios.mjs /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.mjs doesn't exist .mjs /Users/pascal/work/nativescript/myApp1/node_modules/path.mjs doesn't exist .ios.css /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.css doesn't exist .css /Users/pascal/work/nativescript/myApp1/node_modules/path.css doesn't exist .ios.scss /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.scss doesn't exist .scss /Users/pascal/work/nativescript/myApp1/node_modules/path.scss doesn't exist .ios.json /Users/pascal/work/nativescript/myApp1/node_modules/path.ios.json doesn't exist .json /Users/pascal/work/nativescript/myApp1/node_modules/path.json doesn't exist /Users/pascal/work/nativescript/myApp1/node_modules/path doesn't exist /Users/pascal/work/nativescript/node_modules doesn't exist or is not a directory /Users/pascal/work/node_modules doesn't exist or is not a directory /Users/pascal/node_modules doesn't exist or is not a directory /Users/node_modules doesn't exist or is not a directory /node_modules doesn't exist or is not a directory @ ./node_modules/source-map/lib/source-map-consumer.js 12:17-44 @ ./node_modules/source-map/source-map.js 7:0-82 @ ./node_modules/stacktrace-gps/stacktrace-gps.js @ ./node_modules/stacktrace-js/stacktrace.js @ ./node_modules/@nativescript/firebase-crashlytics/index.ios.js 2:0-39 59:12-32 @ ./app/app.ts 14:0-44

Is there a way to fix this?

thank you

laupas avatar Mar 05 '23 13:03 laupas

I'm using this in my webpack.config.js, it solved the issue when some other plugin wanted to use fs:

	webpack.mergeWebpack({resolve: {
		fallback: {
			'fs': false
		}
	}})

	return webpack.resolveConfig(); 

BozzaDaniel avatar Apr 05 '23 06:04 BozzaDaniel

This worked for me. This error occurred when updating NS to 8.6.1 and our machine's node version from v14 to v18.18.2. New node was needed for a Cannot find module 'node:process' error, but then this crashlytics issue came up, maybe related to the plain fs in that inner library. Thanks for the workaround! 👍

chimmelb avatar Oct 26 '23 18:10 chimmelb

I needed it to go further

    webpack.mergeWebpack({resolve: {
		fallback: {
            'fs': false,
            'path': false,
            'path-browserify': false,
		}
	}})

sitefinitysteve avatar Dec 11 '23 21:12 sitefinitysteve

I needed it to go further

    webpack.mergeWebpack({resolve: {
		fallback: {
            'fs': false,
            'path': false,
            'path-browserify': false,
		}
	}})

This worked for me. No fix yet?

chris-praxis avatar Jan 04 '24 19:01 chris-praxis