Giter Club home page Giter Club logo

Comments (6)

mohsenmahoski avatar mohsenmahoski commented on September 4, 2024 61

add this to your package.json and run it again

	"browser": {
		"fs": false,
		"path": false,
		"os": false,
		"crypto": false,
		"stream": false,
		"http": false,
		"tls": false,
		"zlib": false,
		"https": false,
		"net": false
	}

from snarkjs.

bleuscyther avatar bleuscyther commented on September 4, 2024 2

I just added, and the console shows no error, but in the browser, I'm getting this error:

index.js:43 Uncaught ReferenceError: global is not defined
at Object../node_modules/buffer/index.js (index.js:43)
at webpack_require (bootstrap:83)
at Object../node_modules/safe-buffer/index.js (index.js:2)
at webpack_require (bootstrap:83)
at Object../node_modules/jws/lib/sign-stream.js (sign-stream.js:2)
at webpack_require (bootstrap:83)
at Object../node_modules/jws/index.js (index.js:2)
at webpack_require (bootstrap:83)
at Object../node_modules/jsonwebtoken/decode.js (decode.js:1)
at webpack_require (bootstrap:83)

@FernandoArteaga add this to your polyfill.ts

(window as any).global = window;
(window as any).process = {};
(window as any).process = window;
(window as any).process.browser = true;
(window as any).process.version = '';
(window as any).process.versions = {node: false};
(window as any).process.nextTick = (() => {
    const canSetImmediate = typeof window !== 'undefined'
        && (window as any).setImmediate;
    const canPost = typeof window !== 'undefined'
        && window.postMessage && window.addEventListener;
    if (canSetImmediate) {
        return (f) => {
            return (window as any).setImmediate(f);
        };
    }
    if (canPost) {
        const queue = [];
        window.addEventListener('message', (ev) => {
            const source = ev.source;
            if ((source === window || source === null) && ev.data === 'process-tick') {
                ev.stopPropagation();
                if (queue.length > 0) {
                    const fn = queue.shift();
                    fn();
                }
            }
        }, true);
        return function nextTick(fn) {
            queue.push(fn);
            window.postMessage('process-tick', '*');
        };
    }
    return function nextTick(fn) {
        setTimeout(fn, 0);
    };
})();
(window as any).global.Buffer = (window as any).global.Buffer || require('buffer').Buffer;

I can't remember if i installed Buffer (if it help, its installed) :

npm  -i -s buffer

from snarkjs.

ochikov avatar ochikov commented on September 4, 2024 1

@FernandoArteaga @bleuscyther
My solution is as follows:
I made a file patch-webpack.js with this code:

const f = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js';

fs.readFile(f, 'utf8', function (err, data) {
	if (err) {
		return console.log(err);
	}
	let result = data.replace(/node: false/g, "node: {crypto: true, stream: true, fs: 'empty', net: 'empty'}");

	fs.writeFile(f, result, 'utf8', function (err) {
		if (err) return console.log(err);
	});
});

then in package.json on postinstall need to put this line:

"postinstall": "node patch-webpack.js"

from snarkjs.

FernandoArteaga avatar FernandoArteaga commented on September 4, 2024

I just added, and the console shows no error, but in the browser, I'm getting this error:

index.js:43 Uncaught ReferenceError: global is not defined
at Object../node_modules/buffer/index.js (index.js:43)
at webpack_require (bootstrap:83)
at Object../node_modules/safe-buffer/index.js (index.js:2)
at webpack_require (bootstrap:83)
at Object../node_modules/jws/lib/sign-stream.js (sign-stream.js:2)
at webpack_require (bootstrap:83)
at Object../node_modules/jws/index.js (index.js:2)
at webpack_require (bootstrap:83)
at Object../node_modules/jsonwebtoken/decode.js (decode.js:1)
at webpack_require (bootstrap:83)

from snarkjs.

jbaylina avatar jbaylina commented on September 4, 2024

New version 0.3 is tested for browser. Please take a look.

from snarkjs.

tanrobles avatar tanrobles commented on September 4, 2024

add this to your package.json and run it again

	"browser": {
		"fs": false,
		"path": false,
		"os": false,
		"crypto": false,
		"stream": false,
		"http": false,
		"tls": false,
		"zlib": false,
		"https": false,
		"net": false
	}

Working Fine in Ionic 5 with Angular 9.
Thanks!

from snarkjs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.