
Security News
Software Engineering Daily Podcast: Feross on AI, Open Source, and Supply Chain Risk
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.
nanoweb-mono
Advanced tools
This guide covers how to set up, manage, and maintain the **nanoweb** monorepo, including package dependencies, scripts, and automated workflows.
This guide covers how to set up, manage, and maintain the nanoweb monorepo, including package dependencies, scripts, and automated workflows.
The monorepo follows a pnpm workspace setup with multiple packages:
root/
βββ apps/ # Your apps
βββ bin/ # Utility scripts
β βββ clean.js
β βββ create-app.js
β βββ create-package.js
β βββ lint.js
β βββ llm.js
β βββ optimize.js
β βββ release.js
β βββ workspace.js
β βββ write-docs.js
βββ packages/ # All packages in the workspace
β βββ nano-db-fs
β βββ nano-db-fetch
β βββ nano-format
β βββ nanoweb-cli
β βββ nanoweb-fs
β βββ nanoweb-llm
β βββ nanoweb-react
β βββ nanoweb-sync
β βββ nanoweb-sync-ftp
β βββ nanoweb-sync-php
β βββ nanoweb-theme
βββ pnpm-workspace.yaml # Defines workspace packages
βββ package.json # Root package.json (manages workspace commands)
βββ eslint.config.js # ESLint configuration
π’ Work within the monorepo.
Clone the repository:
git clone https://gitlab.com/nan.web/monorepo.git nanoweb && cd nanoweb
Initialize workspace and install dependencies:
pnpm install
pnpm ws:clone
# runs the ws:optimize within the ws:init
pnpm ws:init
This command clones all missing package repositories, ensures correct dependencies, and installs them.
Prepare packages for the usage in the workspace:
pnpm ws:pull
pnpm build
Run optimization (optional, recommended after setup, if did not run within the ws:init):
pnpm ws:optimize
This command:
1οΈβ£ Work only within the specific project.
Change the directory to the specific package, for instance: cd packages/nano-format.
Start the development server:
pnpm dev
Run tests across all packages:
pnpm test:all
Run nanoweb-mono tests:
pnpm test
Build all packages:
pnpm build:all
Lint all packages:
pnpm lint:all
1οΈβ£π’ Work within the specific package and within the monorepo.
Before committing, ensure all workspace: dependencies are replaced with their actual versions:
pnpm ws:latest
If you plan to work on multiple interdependent packages, switch all dependencies to workspace:*:
pnpm ws:workspace
Run the following to check for uncommitted workspace dependencies and pre-commit hooks:
pnpm ws:check
pnpm ws:status
1οΈβ£ Work within the specific package.
Change the directory to the specific package, for instance: cd packages/nano-format.
pnpm release
This will:
git checkout -b feature/my-update
git commit -m "Add new feature"
| Command | Description |
|---|---|
pnpm ws:init | Initialize workspace & install packages |
pnpm ws:check | Validate package.json & pre-commit hooks |
pnpm ws:latest | Replace workspace:* with actual versions |
pnpm ws:workspace | Convert all versions to workspace:* |
pnpm ws:optimize | Clean, install, update, lint, build, test |
pnpm ws:status | Check uncommitted changes in all packages |
pnpm release | Build, test, tag, and publish package |
pnpm clone | Cloning missing packages into the monorepo |
pnpm ws:optimize to clean and reinstall.pnpm ws:latest.pnpm lint and fix reported errors..husky/pre-commit and ensure it includes workspace checks.With these steps, you can efficiently manage and maintain the nanoweb monorepo! πΈ
FAQs
This guide covers how to set up, manage, and maintain the **nanoweb** monorepo, including package dependencies, scripts, and automated workflows.
We found that nanoweb-mono demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.

Security News
GitHub has revoked npm classic tokens for publishing; maintainers must migrate, but OpenJS warns OIDC trusted publishing still has risky gaps for critical projects.

Security News
Rustβs crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.