equi
equi

Reputation: 164

Module "util" has been externalized for browser compatibility. Cannot access "util.promisify" in client code

I am trying to scrape LinkedIn profile using this library: https://www.npmjs.com/package/@n-h-n/linkedin-profile-scraper. This is my code:

<script>
import { LinkedInProfileScraper } from '@matidiaz/linkedin-profile-scraper';
    import { onMount } from 'svelte';
    import { session } from '$app/stores';

    onMount(async () => {
        const token = session?.provider_token;
    console.log(token);
        const scraper = new LinkedInProfileScraper({
            sessionCookieValue: token,
            keepAlive: false
        });

        // Prepare the scraper
        // Loading it in memory
        await scraper.setup();

        const result = await scraper.run('https://www.linkedin.com/in/jvandenaardweg/');

        console.log(result);
    });
</script>

I am using sveltekit to get the information, can someone point out how to solve this problem, I am not finding much information online.

Upvotes: 6

Views: 14115

Answers (3)

Jerry
Jerry

Reputation: 367

https://www.npmjs.com/package/@browsery/util

npm i @browsery/util -s

Vite config alias add:

util: "@browsery/util"

Upvotes: 0

planet9
planet9

Reputation: 141

Hi what worked for me was to fix the vite.config.ts to add resolve.alias options like this:

resolve: {  
    alias: {
        process: "process/browser",
        stream: "stream-browserify",
        zlib: "browserify-zlib",    
        util: "util/",
        '@': path.resolve(__dirname, './src'),
    }
}

where we actually resolve the alias of util and add to it 'util/'

Upvotes: 14

equi
equi

Reputation: 164

npm i util,

however this lib continues giving errors so I removed it.

Upvotes: 0

Related Questions