chore: bootstrap pnpm workspace and package manifests
CI / Frozen lockfile install (pull_request) Successful in 48s
CI / Frozen lockfile install (pull_request) Successful in 48s
E00-S01-T01: create workspace/package manifests - root package.json pins packageManager pnpm@11.23.0 - pnpm-workspace.yaml separates apps/*, packages/*, extensions/* entries - skeleton manifests for apps/server, packages/core, extensions/example - committed frozen lockfile generated by pnpm 11.23.0 - minimal CI: pnpm install --frozen-lockfile + workspace verification
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
frozen-install:
|
||||
name: Frozen lockfile install
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Node.js 24
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '24'
|
||||
- name: Enable pnpm (corepack, pinned to 11.23.0 via packageManager)
|
||||
run: corepack enable
|
||||
- name: Install dependencies (frozen lockfile)
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Verify workspace groups
|
||||
run: pnpm -r list --depth -1
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# Dependencies
|
||||
node_modules/
|
||||
.pnpm-store/
|
||||
|
||||
# Build output
|
||||
dist/
|
||||
coverage/
|
||||
|
||||
# Local environment files (a committed .env.example lands in E00-S04)
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
|
||||
# OS / editor
|
||||
.DS_Store
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "@personal-blog/server",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "EPPP public server application. Bootstrap placeholder — the Fastify 5 application shell lands in a later story."
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "@personal-blog/example-extension",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Placeholder extension that exercises the extensions/ workspace group. Real extensions (e.g. theme-amber) replace it in later stories."
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "personal-blog",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "EPPP — a modular personal blogging platform. Workspace bootstrap (E00-S01).",
|
||||
"packageManager": "pnpm@11.23.0"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "@personal-blog/core",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "EPPP application core. Bootstrap placeholder — owns application lifecycle, site identity and content primitives in later stories."
|
||||
}
|
||||
Generated
+15
@@ -0,0 +1,15 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.: {}
|
||||
|
||||
apps/server: {}
|
||||
|
||||
extensions/example: {}
|
||||
|
||||
packages/core: {}
|
||||
@@ -0,0 +1,4 @@
|
||||
packages:
|
||||
- 'apps/*'
|
||||
- 'packages/*'
|
||||
- 'extensions/*'
|
||||
Reference in New Issue
Block a user