A Chrome Extension offering some BigQuery enhancements.
- Insert saved queries and query snippets.
- Share queries via URL without saving.
- Open external sites related to table cell data.
- Copy table cell content to clipboard.
- Parse/format table cell content.
-
Install dependencies:
npm install
-
Build the extension:
npm run build
This bundles all source files and dependencies into the
dist/directory using esbuild. -
Load the extension in Chrome:
- Go to
chrome://extensions - Enable "Developer mode"
- Click "Load unpacked"
- Select the project root directory (contains
manifest.json)
- Go to
-
Development workflow:
- After making changes to source files, run
npm run buildto rebuild - Click the extension icon to open the popup, which includes a "Reload Extension" button in the Developer section
- Use this button to quickly reload the extension without visiting
chrome://extensions
- After making changes to source files, run
# Development build (with sourcemaps)
npm run build
# Production build (minified, no sourcemaps)
npm run build:prod
# Watch mode (auto-rebuild on file changes)
npm run watch# Check for linting issues
npm run lint
# Auto-fix linting issues
npm run lint:fix
# Check code formatting
npm run format:check
# Auto-format code
npm run format# Run unit tests
npm test
# Run tests in watch mode (auto-rerun on file changes)
npm run test:watch
# Run tests with coverage report
npm run test:coverage
# Run integration tests
npm run integration
# Run integration tests in CI mode
npm run integration:ciTo create a production build and pack the extension:
npm run packRequirements:
- The
privatekeyfile must exist in the project root (used to sign the.crx) - Chrome must be installed at
/Applications/Google Chrome.app/(macOS)
What it does:
- Runs
npm run build:prodto create minified bundles indist/ - Creates a
build/dev/directory with:- Bundled files from
dist/ - Manifest, icons, locales, and license files
- Bundled files from
- Uses Chrome to create a signed
.crxfile:pigquery-{version}.crx
Testing the production build:
You can test the production build by loading the build/prod/ directory unpacked in Chrome.
-
Install Playwright:
npm install npx playwright install ffmpeg
-
Set up a local Chrome profile:
- Build the extension first:
npm run build
- Run the script once:
npm run browser
- In the Chrome window that opens:
- Log in to BigQuery
- Go to chrome://extensions
- Enable "Developer mode"
- Click "Load unpacked" and select the
build/devdirectory
- Close Chrome
- Build the extension first:
Note: The profile is saved locally in the profile/ directory.
npm run record -- --lang en
npm run record -- --lang de


