From c1d3b132a946a09bc9f15757d55da684024fd487 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:40:31 +0000 Subject: [PATCH 1/7] Initial plan From 279fe64ef837cf5fe82c7666d47a5d990c35c3df Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:44:54 +0000 Subject: [PATCH 2/7] Add npm publishing configuration for IBEX frontend Co-authored-by: deepakmaroo <56668629+deepakmaroo@users.noreply.github.com> --- .github/workflows/npm-publish.yml | 69 ++++++++++ README.md | 4 + docs/NPM_PUBLISHING.md | 205 ++++++++++++++++++++++++++++++ frontend/.npmignore | 48 +++++++ frontend/README.md | 3 + frontend/package.json | 35 ++++- 6 files changed, 360 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/npm-publish.yml create mode 100644 docs/NPM_PUBLISHING.md create mode 100644 frontend/.npmignore diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml new file mode 100644 index 00000000..70a78129 --- /dev/null +++ b/.github/workflows/npm-publish.yml @@ -0,0 +1,69 @@ +name: Publish to npm + +# This workflow publishes the IBEX frontend package to npm when a release is created +# To use this workflow: +# 1. Generate an npm access token from https://www.npmjs.com/settings/YOUR_USERNAME/tokens +# 2. Add it as a secret named NPM_TOKEN in your GitHub repository settings +# (Settings > Secrets and variables > Actions > New repository secret) + +on: + release: + types: [created] + workflow_dispatch: # Allows manual triggering from Actions tab + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + registry-url: 'https://registry.npmjs.org' + + - name: Install frontend dependencies + run: | + cd frontend + npm ci + + - name: Lint frontend + run: | + cd frontend + npm run lint + + - name: Package frontend + run: | + cd frontend + npm run package + + - name: Check package name availability (optional) + run: | + cd frontend + # Check if package exists, but don't fail if it does (it might be our own package) + npm view $(node -p "require('./package.json').name") || echo "Package name is available or this is a new version" + + - name: Publish to npm + run: | + cd frontend + npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Create summary + run: | + cd frontend + PACKAGE_NAME=$(node -p "require('./package.json').name") + PACKAGE_VERSION=$(node -p "require('./package.json').version") + echo "### 📦 Package Published Successfully!" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "- **Package**: [\`${PACKAGE_NAME}\`](https://www.npmjs.com/package/${PACKAGE_NAME})" >> $GITHUB_STEP_SUMMARY + echo "- **Version**: \`${PACKAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Install with:" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY + echo "npm install ${PACKAGE_NAME}@${PACKAGE_VERSION}" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY diff --git a/README.md b/README.md index 11cbe1e9..cd95bb2a 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ IBEX (IMAS variaBles EXplorer) is a general purpose graphical tool for exploring [Backend readme](backend/README.md) +## Publishing + +- [NPM Publishing Guide](docs/NPM_PUBLISHING.md) - Instructions for publishing the frontend package to npm + ## Quick Start ### Prerequisites diff --git a/docs/NPM_PUBLISHING.md b/docs/NPM_PUBLISHING.md new file mode 100644 index 00000000..49d29557 --- /dev/null +++ b/docs/NPM_PUBLISHING.md @@ -0,0 +1,205 @@ +# Publishing IBEX Frontend to npm + +This guide explains how to publish the IBEX frontend package to npm. + +## Prerequisites + +Before publishing to npm, ensure you have: + +1. An npm account (create one at https://www.npmjs.com/signup) +2. npm CLI installed (comes with Node.js) +3. Proper permissions to publish the `ibex` package name (or use a scoped package like `@yourorg/ibex`) + +## Setup + +### 1. Login to npm + +```bash +npm login +``` + +Enter your npm username, password, and email when prompted. + +### 2. Verify Your Login + +```bash +npm whoami +``` + +This should display your npm username. + +## Publishing Process + +### 1. Navigate to Frontend Directory + +```bash +cd frontend +``` + +### 2. Update Version Number + +Before publishing, update the version in `package.json` following [Semantic Versioning](https://semver.org/): + +- **Patch release** (bug fixes): `npm version patch` (e.g., 0.1.0 → 0.1.1) +- **Minor release** (new features): `npm version minor` (e.g., 0.1.0 → 0.2.0) +- **Major release** (breaking changes): `npm version major` (e.g., 0.1.0 → 1.0.0) + +Or manually edit the version in `package.json`. + +### 3. Build the Package + +```bash +npm run package +``` + +This creates the electron-forge packaged application in the `out/` directory. + +### 4. Test the Package Locally (Optional but Recommended) + +Before publishing, test the package locally: + +```bash +npm pack +``` + +This creates a `.tgz` file that you can install in another project to test: + +```bash +# In another directory +npm install /path/to/ibex-0.1.0.tgz +``` + +### 5. Publish to npm + +#### For Public Package + +```bash +npm publish +``` + +#### For Scoped Package + +If you're using a scoped package (e.g., `@yourorg/ibex`), update the name in `package.json` first: + +```json +{ + "name": "@yourorg/ibex", + ... +} +``` + +Then publish: + +```bash +npm publish --access public +``` + +### 6. Verify Publication + +Check that your package is published: + +```bash +npm view ibex +``` + +Or visit: https://www.npmjs.com/package/ibex + +## Important Considerations + +### Package Name Availability + +The package name `ibex` may already be taken on npm. If so, you have these options: + +1. **Use a scoped package**: `@yourorg/ibex` or `@deepakmaroo/ibex` +2. **Choose a different name**: `ibex-electron`, `imas-ibex`, etc. + +To check if a name is available: + +```bash +npm view +``` + +If the package doesn't exist, the name is available. + +### License + +The package is licensed under LGPL-3.0. Ensure this is acceptable for your use case and that all dependencies are compatible with this license. + +### Files Included in Package + +The `.npmignore` file controls which files are included. The following are included by default: +- `.webpack/` - Webpack bundled files +- `out/` - Packaged electron application +- `resources/` - Application resources +- `README.md` - Documentation +- `LICENSE.txt` - License file + +## Automated Publishing (Optional) + +You can set up automated publishing using GitHub Actions. Create `.github/workflows/npm-publish.yml`: + +```yaml +name: Publish to npm + +on: + release: + types: [created] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: '18' + registry-url: 'https://registry.npmjs.org' + - name: Install dependencies + run: | + cd frontend + npm install + - name: Build package + run: | + cd frontend + npm run package + - name: Publish to npm + run: | + cd frontend + npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} +``` + +To use this workflow: +1. Generate an npm access token from https://www.npmjs.com/settings/YOUR_USERNAME/tokens +2. Add it as a secret named `NPM_TOKEN` in your GitHub repository settings + +## Updating the Package + +When you need to publish updates: + +1. Make your changes +2. Update the version: `npm version patch/minor/major` +3. Build: `npm run package` +4. Publish: `npm publish` + +## Troubleshooting + +### "Package name already exists" + +Use a scoped package or different name as described above. + +### "You do not have permission to publish" + +Ensure you're logged in with `npm whoami` and have permissions for the package name. + +### "Package.json version already published" + +You need to increment the version number before publishing again. + +## Additional Resources + +- [npm Documentation](https://docs.npmjs.com/) +- [Semantic Versioning](https://semver.org/) +- [npm Publishing Guide](https://docs.npmjs.com/creating-and-publishing-unscoped-public-packages) +- [Electron Forge Documentation](https://www.electronforge.io/) diff --git a/frontend/.npmignore b/frontend/.npmignore new file mode 100644 index 00000000..cf472b51 --- /dev/null +++ b/frontend/.npmignore @@ -0,0 +1,48 @@ +# Source files (not needed if bundled) +src/ +*.ts +*.tsx +!*.d.ts + +# Config files +tsconfig.json +webpack*.ts +forge.config.ts +eslint.config.mjs +.prettierrc +postcss.config.cjs + +# Development and testing +node_modules/ +.vscode/ +.idea/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Testing +coverage/ +.nyc_output/ +ci/ + +# Environment files +.env +.env.local +.env.development +.env.test +.env.production +config.json.exemple + +# Git files +.git +.gitignore +.gitattributes + +# Build artifacts that shouldn't be in npm +*.tgz +.DS_Store +Thumbs.db + +# Optional: Keep only the built/packaged output +# Everything except out/ and .webpack/ diff --git a/frontend/README.md b/frontend/README.md index 6c1374b0..efed7c09 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -2,6 +2,9 @@ Ibex frontend is an Electron application designed to deliver a rich and seamless user experience. Ibex is an application to create and manage configurations for visualizing **HDF5 (H5)** data files from IDS imaspy. It enables users to generate a file tree structure, select data, and plot graphs based on the selected data. +> [!TIP] +> **Publishing to npm**: See [NPM Publishing Guide](../docs/NPM_PUBLISHING.md) for instructions on how to publish this package to npm. + ## Key Features - **React** for building modular and responsive user interfaces. diff --git a/frontend/package.json b/frontend/package.json index f5809eff..3482362d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,8 +1,8 @@ { "name": "ibex", "productName": "ibex", - "version": "dev", - "description": "My Electron application description", + "version": "0.1.0", + "description": "IBEX (IMAS variaBles EXplorer) - A general purpose graphical tool for exploring IMAS structured data", "main": ".webpack/main", "scripts": { "start": "electron-forge start -- --remote-debugging-port=9222", @@ -59,11 +59,38 @@ "typescript": "5.1", "typescript-eslint": "8.35.0" }, - "keywords": [], + "keywords": [ + "electron", + "imas", + "data-visualization", + "hdf5", + "scientific-visualization", + "plotting", + "data-explorer" + ], "author": { "name": "Epsyl-Alcen" }, - "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/deepakmaroo/IBEX.git" + }, + "bugs": { + "url": "https://github.com/deepakmaroo/IBEX/issues" + }, + "homepage": "https://github.com/deepakmaroo/IBEX#readme", + "license": "LGPL-3.0", + "files": [ + ".webpack", + "out", + "resources", + "README.md", + "LICENSE.txt" + ], + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, "dependencies": { "@mantine/core": "7.17.7", "@mantine/form": "7.17.7", From c47959015997c04f070bdfbf13eac6b8c4d29bef Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:46:02 +0000 Subject: [PATCH 3/7] Add NPM setup summary documentation Co-authored-by: deepakmaroo <56668629+deepakmaroo@users.noreply.github.com> --- docs/NPM_SETUP_SUMMARY.md | 133 ++++++++++++++++++++++++++++++++++++++ frontend/package.json | 2 +- 2 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 docs/NPM_SETUP_SUMMARY.md diff --git a/docs/NPM_SETUP_SUMMARY.md b/docs/NPM_SETUP_SUMMARY.md new file mode 100644 index 00000000..e571c777 --- /dev/null +++ b/docs/NPM_SETUP_SUMMARY.md @@ -0,0 +1,133 @@ +# NPM Package Publishing Setup - Summary + +This document summarizes the changes made to enable publishing the IBEX frontend as an npm package. + +## Changes Made + +### 1. Updated `frontend/package.json` + +**Key changes:** +- **Version**: Changed from `"dev"` to `"0.1.0"` for semantic versioning +- **Description**: Updated to properly describe IBEX +- **License**: Changed from `"MIT"` to `"LGPL-3.0"` to match the root LICENSE.txt +- **Keywords**: Added relevant keywords for npm search: electron, imas, data-visualization, hdf5, etc. +- **Repository**: Added GitHub repository URLs +- **Files**: Specified which files to include in the published package (`.webpack`, `out`, `resources`, etc.) +- **publishConfig**: Added npm registry configuration for public access + +### 2. Created `frontend/.npmignore` + +This file excludes unnecessary files from the npm package: +- Source TypeScript files (since the package is bundled) +- Config files (webpack, eslint, prettier, etc.) +- Development files (node_modules, logs, tests) +- Environment files (.env files) + +### 3. Created `docs/NPM_PUBLISHING.md` + +A comprehensive guide that covers: +- Prerequisites for publishing +- Step-by-step publishing process +- Version management with semantic versioning +- How to test the package locally +- Troubleshooting common issues +- Setting up automated publishing with GitHub Actions + +### 4. Created `.github/workflows/npm-publish.yml` + +A GitHub Actions workflow that: +- Triggers on release creation or manual dispatch +- Installs dependencies and lints the code +- Builds the package +- Publishes to npm using NPM_TOKEN secret +- Creates a summary with installation instructions + +### 5. Updated Documentation + +- **README.md**: Added "Publishing" section with link to NPM publishing guide +- **frontend/README.md**: Added tip box with link to NPM publishing guide + +## How to Publish + +### Option 1: Manual Publishing + +1. Navigate to the frontend directory: `cd frontend` +2. Login to npm: `npm login` +3. Update version: `npm version patch/minor/major` +4. Build: `npm run package` +5. Publish: `npm publish` + +See [docs/NPM_PUBLISHING.md](NPM_PUBLISHING.md) for detailed instructions. + +### Option 2: Automated Publishing (Recommended) + +1. Generate an npm access token at https://www.npmjs.com/settings/YOUR_USERNAME/tokens +2. Add it as a secret named `NPM_TOKEN` in GitHub repository settings +3. Create a new release on GitHub +4. The workflow will automatically publish to npm + +## Important Notes + +### Package Name Availability + +The package name `ibex` may already be taken on npm. If publishing fails due to name conflict, you have two options: + +1. **Use a scoped package**: Update `name` in package.json to `@yourorg/ibex` or `@deepakmaroo/ibex` +2. **Choose a different name**: e.g., `ibex-electron`, `imas-ibex`, etc. + +Check availability with: `npm view ` + +### License Considerations + +The package is licensed under LGPL-3.0. Ensure: +- All dependencies are compatible with LGPL-3.0 +- Users understand the license requirements +- Attribution is properly maintained + +### What Gets Published + +The npm package will include: +- `.webpack/` - Bundled webpack output +- `out/` - Electron packaged application +- `resources/` - Application resources +- `README.md` - Documentation +- `LICENSE.txt` - License file + +Source TypeScript files and configuration files are excluded. + +## Testing + +To test what will be included in the package: + +```bash +cd frontend +npm pack --dry-run +``` + +To create a local tarball for testing: + +```bash +cd frontend +npm pack +``` + +Then install it in another project: + +```bash +npm install /path/to/ibex-0.1.0.tgz +``` + +## Next Steps + +1. **Test the build**: Run `npm run package` in the frontend directory +2. **Verify package contents**: Use `npm pack --dry-run` to see what will be published +3. **Check package name**: Verify `ibex` is available on npm, or update to a scoped package +4. **Set up npm token**: If using automated publishing, add NPM_TOKEN to GitHub secrets +5. **Publish**: Follow the manual or automated publishing process + +## Resources + +- [NPM Publishing Guide](NPM_PUBLISHING.md) - Detailed publishing instructions +- [npm Documentation](https://docs.npmjs.com/) +- [Semantic Versioning](https://semver.org/) +- [GitHub Actions npm Publishing](https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages) diff --git a/frontend/package.json b/frontend/package.json index 3482362d..950ae6fd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -73,7 +73,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/deepakmaroo/IBEX.git" + "url": "git+https://github.com/deepakmaroo/IBEX.git" }, "bugs": { "url": "https://github.com/deepakmaroo/IBEX/issues" From 96e0f6c9e4cdc2c4b8334a55a6f5da12011763b0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:46:58 +0000 Subject: [PATCH 4/7] Clarify placeholder in NPM publishing documentation Co-authored-by: deepakmaroo <56668629+deepakmaroo@users.noreply.github.com> --- docs/NPM_PUBLISHING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/NPM_PUBLISHING.md b/docs/NPM_PUBLISHING.md index 49d29557..36b48e57 100644 --- a/docs/NPM_PUBLISHING.md +++ b/docs/NPM_PUBLISHING.md @@ -171,7 +171,7 @@ jobs: ``` To use this workflow: -1. Generate an npm access token from https://www.npmjs.com/settings/YOUR_USERNAME/tokens +1. Generate an npm access token from https://www.npmjs.com/settings/YOUR_USERNAME/tokens (replace YOUR_USERNAME with your actual npm username) 2. Add it as a secret named `NPM_TOKEN` in your GitHub repository settings ## Updating the Package From bfa95c1381aef5c9751da09d27616d00800021a9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:48:29 +0000 Subject: [PATCH 5/7] Improve npm publishing workflow and documentation Co-authored-by: deepakmaroo <56668629+deepakmaroo@users.noreply.github.com> --- .github/workflows/npm-publish.yml | 3 ++- docs/NPM_PUBLISHING.md | 23 ++++++++++++++++++++--- docs/NPM_SETUP_SUMMARY.md | 13 ++++++++++++- frontend/package.json | 1 + 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 70a78129..2b20e0e0 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -2,7 +2,8 @@ name: Publish to npm # This workflow publishes the IBEX frontend package to npm when a release is created # To use this workflow: -# 1. Generate an npm access token from https://www.npmjs.com/settings/YOUR_USERNAME/tokens +# 1. Generate an npm access token from https://www.npmjs.com/settings//tokens +# (replace with your actual npm username) # 2. Add it as a secret named NPM_TOKEN in your GitHub repository settings # (Settings > Secrets and variables > Actions > New repository secret) diff --git a/docs/NPM_PUBLISHING.md b/docs/NPM_PUBLISHING.md index 36b48e57..17ea76a7 100644 --- a/docs/NPM_PUBLISHING.md +++ b/docs/NPM_PUBLISHING.md @@ -71,13 +71,30 @@ npm install /path/to/ibex-0.1.0.tgz ### 5. Publish to npm -#### For Public Package +**Important**: The package build artifacts (`.webpack/` and `out/`) must exist before publishing. +If you haven't run `npm run package` yet, the publish will fail. + +#### Quick Method (Recommended) + +Use the combined script that builds and publishes: + +```bash +npm run publish:npm +``` + +This runs `npm run package` followed by `npm publish`. + +#### Manual Method + +Or do it step by step: + +**For Public Package** ```bash npm publish ``` -#### For Scoped Package +**For Scoped Package** If you're using a scoped package (e.g., `@yourorg/ibex`), update the name in `package.json` first: @@ -171,7 +188,7 @@ jobs: ``` To use this workflow: -1. Generate an npm access token from https://www.npmjs.com/settings/YOUR_USERNAME/tokens (replace YOUR_USERNAME with your actual npm username) +1. Generate an npm access token from https://www.npmjs.com/settings//tokens (replace `` with your actual npm username) 2. Add it as a secret named `NPM_TOKEN` in your GitHub repository settings ## Updating the Package diff --git a/docs/NPM_SETUP_SUMMARY.md b/docs/NPM_SETUP_SUMMARY.md index e571c777..0d119586 100644 --- a/docs/NPM_SETUP_SUMMARY.md +++ b/docs/NPM_SETUP_SUMMARY.md @@ -47,9 +47,20 @@ A GitHub Actions workflow that: - **README.md**: Added "Publishing" section with link to NPM publishing guide - **frontend/README.md**: Added tip box with link to NPM publishing guide +### 6. Added Convenience Script + +Added `publish:npm` script to `package.json` that automatically builds and publishes in one command. + ## How to Publish -### Option 1: Manual Publishing +### Option 1: Quick Publish (Recommended) + +1. Navigate to the frontend directory: `cd frontend` +2. Login to npm: `npm login` +3. Update version: `npm version patch/minor/major` +4. Build and publish: `npm run publish:npm` + +### Option 2: Manual Publishing 1. Navigate to the frontend directory: `cd frontend` 2. Login to npm: `npm login` diff --git a/frontend/package.json b/frontend/package.json index 950ae6fd..ae468166 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "package": "electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish", + "publish:npm": "npm run package && npm publish", "lint": "eslint . --max-warnings=0", "format": "prettier --write .", "debug": "DEBUG=electron-forge:* electron-forge start", From d5fee34a74d1ae5ed38435ed38f4fab7502f0656 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:49:15 +0000 Subject: [PATCH 6/7] Fix numbering and placeholder format in summary doc Co-authored-by: deepakmaroo <56668629+deepakmaroo@users.noreply.github.com> --- docs/NPM_SETUP_SUMMARY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/NPM_SETUP_SUMMARY.md b/docs/NPM_SETUP_SUMMARY.md index 0d119586..8b35787a 100644 --- a/docs/NPM_SETUP_SUMMARY.md +++ b/docs/NPM_SETUP_SUMMARY.md @@ -70,9 +70,9 @@ Added `publish:npm` script to `package.json` that automatically builds and publi See [docs/NPM_PUBLISHING.md](NPM_PUBLISHING.md) for detailed instructions. -### Option 2: Automated Publishing (Recommended) +### Option 3: Automated Publishing (Recommended) -1. Generate an npm access token at https://www.npmjs.com/settings/YOUR_USERNAME/tokens +1. Generate an npm access token at https://www.npmjs.com/settings//tokens (replace `` with your actual npm username) 2. Add it as a secret named `NPM_TOKEN` in GitHub repository settings 3. Create a new release on GitHub 4. The workflow will automatically publish to npm From 7e0b7b4540d1693cefa666103b64c4de56505544 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:50:02 +0000 Subject: [PATCH 7/7] Add explicit permissions to GitHub Actions workflow Co-authored-by: deepakmaroo <56668629+deepakmaroo@users.noreply.github.com> --- .github/workflows/npm-publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 2b20e0e0..bc311fc7 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -15,6 +15,8 @@ on: jobs: publish: runs-on: ubuntu-latest + permissions: + contents: read steps: - name: Checkout code