SurfSense icon indicating copy to clipboard operation
SurfSense copied to clipboard

Compiling surfsense_browser_extension requires to install plasmo first yet doesn't build

Open CoruNethron opened this issue 2 months ago • 5 comments

Tried:

git clone https://github.com/MODSetter/SurfSense
cd SurfSense/surfsense_browser_extension
npm run build
sh: plasmo: command not found

Also:

npm i -g plasmo
#...
npm run build  

> [email protected] build
> plasmo build

🟣 Plasmo v0.90.5
🔴 The Browser Extension Framework
🔵 INFO   | Prepare to bundle the extension...
🔵 INFO   | Building for target: chrome-mv3
🔵 INFO   | Loaded environment variables from: []
🔴 ERROR  | Failed to resolve '../../popup.tsx' from './.plasmo/static/popup.tsx'

Don't know how to dig further, probably need to crawl into some source codes or I'm doing something wrong. The surfsense_browser_extension README.md only mentions that This is a [Plasmo extension](https://docs.plasmo.com/) project bootstrapped with [plasmo init](https://www.npmjs.com/package/plasmo). but it doesn't help to understand what should I do to get this extension built and installed in my browser.

P.S. sorry for spamming with issue tickets, hope this info will help you to bring step-by-step instructions for dummies (hello) on how to install all the pre-required stuff.

CoruNethron avatar Oct 07 '25 04:10 CoruNethron

Seems first I had to:

npm install
Gives this error
npm error code 1
npm error path /Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher
npm error command failed
npm error command sh -c node-gyp rebuild
npm error gyp info it worked if it ends with ok
npm error gyp info using [email protected]
npm error gyp info using [email protected] | darwin | arm64
npm error gyp info find Python using Python version 3.13.7 found at "/opt/homebrew/opt/[email protected]/bin/python3.13"
npm error gyp info spawn /opt/homebrew/opt/[email protected]/bin/python3.13
npm error gyp info spawn args [
npm error gyp info spawn args '/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/coru/Library/Caches/node-gyp/22.14.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/Users/coru/Library/Caches/node-gyp/22.14.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/Users/coru/Library/Caches/node-gyp/22.14.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp: binding.gyp not found (cwd: /Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher) while trying to load binding.gyp
npm error gyp ERR! configure error 
npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
npm error gyp ERR! stack at ChildProcess.<anonymous> (/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/lib/configure.js:317:18)
npm error gyp ERR! stack at ChildProcess.emit (node:events:518:28)
npm error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm error gyp ERR! System Darwin 24.5.0
npm error gyp ERR! command "/Users/coru/.nvm/versions/node/v22.14.0/bin/node" "/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher
npm error gyp ERR! node -v v22.14.0
npm error gyp ERR! node-gyp -v v11.2.0
npm error gyp ERR! not ok
npm error A complete log of this run can be found in: /Users/coru/.npm/_logs/2025-10-07T04_18_56_481Z-debug-0.log

Had to delete node_modules/ and package-lock.json and append this:

"overrides": {
    "@parcel/watcher": "2.1.0"
}

Into package.json (right before last closing '}') , as per this comment , then npm install succeded.

Then npm run build is functional as well.

Then go to chrome://extensions/ , enable developer mode, tap "Load unpacked" and choose surfsense_browser_extension/build/chrome-mv3-prod/ directory.

Extension is installed.

But I get this error within extension:

Image

CoruNethron avatar Oct 07 '25 04:10 CoruNethron

There is alternative to install just Crawler in documentation. But I don't really know which one. Probably crawl4ai.com or crawlee.dev or some other? There is no link.

CoruNethron avatar Oct 07 '25 04:10 CoruNethron

Tried:

git clone https://github.com/MODSetter/SurfSense
cd SurfSense/surfsense_browser_extension
npm run build
sh: plasmo: command not found

Also:

npm i -g plasmo
#...
npm run build  

> [email protected] build
> plasmo build

🟣 Plasmo v0.90.5
🔴 The Browser Extension Framework
🔵 INFO   | Prepare to bundle the extension...
🔵 INFO   | Building for target: chrome-mv3
🔵 INFO   | Loaded environment variables from: []
🔴 ERROR  | Failed to resolve '../../popup.tsx' from './.plasmo/static/popup.tsx'

Don't know how to dig further, probably need to crawl into some source codes or I'm doing something wrong. The surfsense_browser_extension README.md only mentions that This is a [Plasmo extension](https://docs.plasmo.com/) project bootstrapped with [plasmo init](https://www.npmjs.com/package/plasmo). but it doesn't help to understand what should I do to get this extension built and installed in my browser.

P.S. sorry for spamming with issue tickets, hope this info will help you to bring step-by-step instructions for dummies (hello) on how to install all the pre-required stuff.

We have the Plasmo dependency listed in the extension’s package.json.

Try using pnpm instead of npm.

Run pnpm install first to install all extension dependencies, and then run pnpm build.

I really appreciate you reporting these issues. Please keep creating more! I’ll be adding all this information to the docs soon.

MODSetter avatar Oct 07 '25 18:10 MODSetter

Seems first I had to:

npm install

Gives this error

npm error code 1
npm error path /Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher
npm error command failed
npm error command sh -c node-gyp rebuild
npm error gyp info it worked if it ends with ok
npm error gyp info using [email protected]
npm error gyp info using [email protected] | darwin | arm64
npm error gyp info find Python using Python version 3.13.7 found at "/opt/homebrew/opt/[email protected]/bin/python3.13"
npm error gyp info spawn /opt/homebrew/opt/[email protected]/bin/python3.13
npm error gyp info spawn args [
npm error gyp info spawn args '/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/coru/Library/Caches/node-gyp/22.14.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/Users/coru/Library/Caches/node-gyp/22.14.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/Users/coru/Library/Caches/node-gyp/22.14.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp: binding.gyp not found (cwd: /Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher) while trying to load binding.gyp
npm error gyp ERR! configure error 
npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
npm error gyp ERR! stack at ChildProcess.<anonymous> (/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/lib/configure.js:317:18)
npm error gyp ERR! stack at ChildProcess.emit (node:events:518:28)
npm error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm error gyp ERR! System Darwin 24.5.0
npm error gyp ERR! command "/Users/coru/.nvm/versions/node/v22.14.0/bin/node" "/Users/coru/.nvm/versions/node/v22.14.0/lib/node_modules/npm/node_modules/@npmcli/run-script/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /Users/coru/pro/SurfSense/surfsense_browser_extension/node_modules/@parcel/watcher
npm error gyp ERR! node -v v22.14.0
npm error gyp ERR! node-gyp -v v11.2.0
npm error gyp ERR! not ok
npm error A complete log of this run can be found in: /Users/coru/.npm/_logs/2025-10-07T04_18_56_481Z-debug-0.log

Had to delete node_modules/ and package-lock.json and append this:

"overrides": {
    "@parcel/watcher": "2.1.0"
}

Into package.json (right before last closing '}') , as per this comment , then npm install succeded.

Then npm run build is functional as well.

Then go to chrome://extensions/ , enable developer mode, tap "Load unpacked" and choose surfsense_browser_extension/build/chrome-mv3-prod/ directory.

Extension is installed.

But I get this error within extension:

Image

Will look into this error, but it shouldn’t affect the runtime of the extension. It should work as intended.

MODSetter avatar Oct 07 '25 18:10 MODSetter

There is alternative to install just Crawler in documentation. But I don't really know which one. Probably crawl4ai.com or crawlee.dev or some other? There is no link.

That feature is temporarily disabled as it needs update and I think can be improved a lot.

MODSetter avatar Oct 07 '25 18:10 MODSetter