Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
crossbuilder
Advanced tools
Building web, Electron and Chrome apps, and cross-browser extensions with React, Redux and Webpack. 'Write once, build everywhere' concept in practice.
Building web, Electron, Cordova and Chrome apps, and cross-browser extensions that use Redux actions for messaging.
Redux states are synced between background, injected page, app window, extension popup and badge.
The developing is the same as for the web apps with React and Redux, just use the src/app
boilerplate.
src/app
: React cross-browser application (will be imported in the apps bellow).src/web
: web app sources.src/browser
: extensions sources.src/chromeApp
: Chrome app sourcessrc/electron
: Electron app sourcestest/app
: tests for Redux actions and reducers, and for React components (using enzyme).test/chrome
: tests for Chrome app and extension (using chromedriver, selenium-webdriver).# required node.js/io.js
# clone it
npm install
# build files to './dev'
# watch files change
# start WebpackDevServer
npm run dev
localhost:3000
../dev
folder to Chrome.This boilerplate uses Webpack
and react-transform
. You can hot reload by editing related files of ./src/app
. If the inject page for the extension is on https (like https://github.com
), click the 'shield' icon on the Chrome address bar to allow loading http://localhost
there (after making any changes in dev mode), so hot reload can work for that page.
We use Redux DevTools Extension, install it from Chrome store for debugging.
# build files to './build/web'
npm run build:web
# build files to './build/electron'
npm run build:electron
# or to start it
npm run start:electron
# build files to './build/app'
npm run build:app
# build files to './build/extension'
npm run build:extension
# build files to './build/firefox'
npm run build:firefox
Note that it's not possible for now to load Firefox extensions from local directories, so use npm run compress:firefox
instead to generate an xpi file.
npm install -g cordova
.cordova platform add %PLATFORM%
(where %PLATFORM%
is the platform you deploy for: android and more).cordova run android
or cordova build android
to run or build the app (it will execute npm run build:cordova
automatically as a hook).# build and compress Electron app to [name].dmg, win32-ia32.zip, win32-x64.zip, linux-ia32.zip, linux-x64.zip
npm run compress:electron
# compress Chrome app to app.zip
npm run compress:app
# compress Chrome extension to extension.zip
npm run compress:extension
# compress Firefox extension to firefox.xpi
npm run compress:firefox
# test app
npm run test:app
# start Chromedriver for testing with Chrome
npm run before:test:chrome
# test Chrome extension
npm run test:chrome:extension
# test Chrome app
npm run test:chrome:app
# test Chrome extension and app
npm run test:chrome
# test everything
npm test
FAQs
Building web, Electron and Chrome apps, and cross-browser extensions with React, Redux and Webpack. 'Write once, build everywhere' concept in practice.
The npm package crossbuilder receives a total of 2 weekly downloads. As such, crossbuilder popularity was classified as not popular.
We found that crossbuilder demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.