From bd3370f868aadb04e531a2da3fe90ed46500656d Mon Sep 17 00:00:00 2001 From: ayoayco Date: Sun, 6 Apr 2025 14:33:57 +0200 Subject: [PATCH] chore: organize workspaces --- astro.config.mjs => demo/astro.config.mjs | 2 +- demo/package.json | 25 ++++ {public => demo/public}/Thanos.jpg | Bin {public => demo/public}/sample.asset.txt | 0 server.mjs => demo/server.mjs | 0 .../src}/content/blog/building-a-cozy-web.md | 0 {src => demo/src}/content/config.ts | 0 {src => demo/src}/env.d.ts | 0 {src => demo/src}/example_sw.js | 0 {src => demo/src}/pages/404.astro | 0 {src => demo/src}/pages/blog/[...slug].astro | 0 {src => demo/src}/pages/blog/index.astro | 0 {src => demo/src}/pages/exclude.astro | 0 {src => demo/src}/pages/index.astro | 0 eslint.config.mjs | 8 +- package.json | 52 ++----- astro-sw.js => packages/astro-sw/astro-sw.js | 0 globals.js => packages/astro-sw/globals.js | 0 packages/astro-sw/package.json | 40 +++++ .../strategies}/stale-while-revalidate.js | 0 pnpm-lock.yaml | 139 ++++++++++-------- pnpm-workspace.yaml | 3 + 22 files changed, 159 insertions(+), 110 deletions(-) rename astro.config.mjs => demo/astro.config.mjs (95%) create mode 100644 demo/package.json rename {public => demo/public}/Thanos.jpg (100%) rename {public => demo/public}/sample.asset.txt (100%) rename server.mjs => demo/server.mjs (100%) rename {src => demo/src}/content/blog/building-a-cozy-web.md (100%) rename {src => demo/src}/content/config.ts (100%) rename {src => demo/src}/env.d.ts (100%) rename {src => demo/src}/example_sw.js (100%) rename {src => demo/src}/pages/404.astro (100%) rename {src => demo/src}/pages/blog/[...slug].astro (100%) rename {src => demo/src}/pages/blog/index.astro (100%) rename {src => demo/src}/pages/exclude.astro (100%) rename {src => demo/src}/pages/index.astro (100%) rename astro-sw.js => packages/astro-sw/astro-sw.js (100%) rename globals.js => packages/astro-sw/globals.js (100%) create mode 100644 packages/astro-sw/package.json rename {strategies => packages/astro-sw/strategies}/stale-while-revalidate.js (100%) create mode 100644 pnpm-workspace.yaml diff --git a/astro.config.mjs b/demo/astro.config.mjs similarity index 95% rename from astro.config.mjs rename to demo/astro.config.mjs index 68595b1..663eb55 100644 --- a/astro.config.mjs +++ b/demo/astro.config.mjs @@ -2,7 +2,7 @@ import { defineConfig } from 'astro/config' import node from '@astrojs/node' -import serviceWorker from './astro-sw.js' +import serviceWorker from '@ayco/astro-sw' export default defineConfig({ output: 'static', diff --git a/demo/package.json b/demo/package.json new file mode 100644 index 0000000..f378b4a --- /dev/null +++ b/demo/package.json @@ -0,0 +1,25 @@ +{ + "name": "demo", + "private": true, + "version": "1.0.0", + "main": "index.js", + "scripts": { + "start": "astro dev", + "dev": "astro dev", + "build": "astro build", + "build:preview:static": "astro build && astro preview", + "build:preview": "astro build && node ./server.mjs" + }, + "author": "Ayo Ayco", + "license": "MIT", + "description": "", + "devDependencies": { + "astro": "^5.6.1", + "@astrojs/node": "^9.1.3", + "@fastify/middie": "^9.0.3", + "@fastify/static": "^8.1.1", + "astro-eslint-parser": "^1.2.2", + "fastify": "^5.2.2", + "@ayco/astro-sw": "workspace:*" + } +} diff --git a/public/Thanos.jpg b/demo/public/Thanos.jpg similarity index 100% rename from public/Thanos.jpg rename to demo/public/Thanos.jpg diff --git a/public/sample.asset.txt b/demo/public/sample.asset.txt similarity index 100% rename from public/sample.asset.txt rename to demo/public/sample.asset.txt diff --git a/server.mjs b/demo/server.mjs similarity index 100% rename from server.mjs rename to demo/server.mjs diff --git a/src/content/blog/building-a-cozy-web.md b/demo/src/content/blog/building-a-cozy-web.md similarity index 100% rename from src/content/blog/building-a-cozy-web.md rename to demo/src/content/blog/building-a-cozy-web.md diff --git a/src/content/config.ts b/demo/src/content/config.ts similarity index 100% rename from src/content/config.ts rename to demo/src/content/config.ts diff --git a/src/env.d.ts b/demo/src/env.d.ts similarity index 100% rename from src/env.d.ts rename to demo/src/env.d.ts diff --git a/src/example_sw.js b/demo/src/example_sw.js similarity index 100% rename from src/example_sw.js rename to demo/src/example_sw.js diff --git a/src/pages/404.astro b/demo/src/pages/404.astro similarity index 100% rename from src/pages/404.astro rename to demo/src/pages/404.astro diff --git a/src/pages/blog/[...slug].astro b/demo/src/pages/blog/[...slug].astro similarity index 100% rename from src/pages/blog/[...slug].astro rename to demo/src/pages/blog/[...slug].astro diff --git a/src/pages/blog/index.astro b/demo/src/pages/blog/index.astro similarity index 100% rename from src/pages/blog/index.astro rename to demo/src/pages/blog/index.astro diff --git a/src/pages/exclude.astro b/demo/src/pages/exclude.astro similarity index 100% rename from src/pages/exclude.astro rename to demo/src/pages/exclude.astro diff --git a/src/pages/index.astro b/demo/src/pages/index.astro similarity index 100% rename from src/pages/index.astro rename to demo/src/pages/index.astro diff --git a/eslint.config.mjs b/eslint.config.mjs index 7920b6d..2287c2d 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -22,11 +22,9 @@ export default [ ...eslintPluginAstro.configs['jsx-a11y-recommended'], { ignores: [ - 'dist/*', - '.output/*', - '.astro/*', - 'site/*', - 'templates/*', + '**/dist/*', + '**/.output/*', + '**/.astro/*', '**/node_modules/*', '**/env.d.ts', ], diff --git a/package.json b/package.json index df4538e..9ff0e10 100644 --- a/package.json +++ b/package.json @@ -1,64 +1,32 @@ { - "name": "@ayco/astro-sw", - "version": "0.8.14", - "description": "Use your own authored service worker with Astro", - "homepage": "https://ayco.io/n/@ayco/astro-sw", - "repository": { - "type": "git", - "url": "https://git.sr.ht/~ayoayco/astro-sw" - }, - "exports": { - ".": "./astro-sw.js", - "./globals": "./globals.js", - "./strategies/*": "./strategies/*" - }, - "files": [ - "astro-sw.js", - "globals.js", - "strategies/*" - ], - "main": "./astro-sw.js", - "type": "module", - "engines": { - "node": ">=18.0.0" - }, + "name": "astro-sw-monorepo", + "version": "1.0.0", + "private": true, + "description": "> [!NOTE] > This project moved to [SourceHut](https://git.sr.ht/~ayoayco/astro-sw).", "scripts": { - "start": "astro dev", - "dev": "astro dev", - "build": "astro build", - "build:preview:static": "astro build && astro preview", - "build:preview": "astro build && node ./server.mjs", - "test": "echo \"Error: no test specified\" && exit 1", "format": "prettier . --write", "lint": "eslint . --config eslint.config.mjs --cache", "check": "npm run format && npm run lint", "prepare": "husky" }, - "keywords": [ - "withastro", - "perf" - ], + "repository": { + "type": "git", + "url": "git+ssh://git@git.sr.ht/~ayoayco/astro-sw.git" + }, "author": "Ayo Ayco", "license": "MIT", + "homepage": "https://ayco.io/n/@ayco/astro-sw#readme", "devDependencies": { - "@astrojs/node": "^9.1.3", + "@ayco/astro-sw": "workspace:*", "@eslint/js": "^9.24.0", - "@fastify/middie": "^9.0.3", - "@fastify/static": "^8.1.1", - "astro": "^5.6.1", - "astro-eslint-parser": "^1.2.2", "eslint": "^9.24.0", "eslint-plugin-astro": "^1.3.1", "eslint-plugin-jsx-a11y": "^6.10.2", - "fastify": "^5.2.2", "globals": "^16.0.0", "husky": "^9.1.7", "prettier": "^3.5.3", "prettier-plugin-astro": "^0.14.1", "typescript-eslint": "^8.29.0", "vitest": "^3.1.1" - }, - "dependencies": { - "esbuild": "^0.25.2" } } diff --git a/astro-sw.js b/packages/astro-sw/astro-sw.js similarity index 100% rename from astro-sw.js rename to packages/astro-sw/astro-sw.js diff --git a/globals.js b/packages/astro-sw/globals.js similarity index 100% rename from globals.js rename to packages/astro-sw/globals.js diff --git a/packages/astro-sw/package.json b/packages/astro-sw/package.json new file mode 100644 index 0000000..01106f8 --- /dev/null +++ b/packages/astro-sw/package.json @@ -0,0 +1,40 @@ +{ + "name": "@ayco/astro-sw", + "version": "0.8.14", + "description": "Use your own authored service worker with Astro", + "homepage": "https://ayco.io/n/@ayco/astro-sw", + "repository": { + "type": "git", + "url": "https://git.sr.ht/~ayoayco/astro-sw" + }, + "exports": { + ".": "./astro-sw.js", + "./globals": "./globals.js", + "./strategies/*": "./strategies/*" + }, + "files": [ + "astro-sw.js", + "globals.js", + "strategies/*" + ], + "main": "./astro-sw.js", + "type": "module", + "engines": { + "node": ">=18.0.0" + }, + "scripts": { + "test": "vitest run" + }, + "keywords": [ + "withastro", + "perf" + ], + "author": "Ayo Ayco", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.2" + }, + "devDependencies": { + "astro": "^5.6.1" + } +} diff --git a/strategies/stale-while-revalidate.js b/packages/astro-sw/strategies/stale-while-revalidate.js similarity index 100% rename from strategies/stale-while-revalidate.js rename to packages/astro-sw/strategies/stale-while-revalidate.js diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 029a6e9..be61495 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,29 +7,13 @@ settings: importers: .: - dependencies: - esbuild: - specifier: ^0.25.2 - version: 0.25.2 devDependencies: - '@astrojs/node': - specifier: ^9.1.3 - version: 9.1.3(astro@5.6.1(rollup@4.39.0)(typescript@5.5.4)) + '@ayco/astro-sw': + specifier: workspace:* + version: link:packages/astro-sw '@eslint/js': specifier: ^9.24.0 version: 9.24.0 - '@fastify/middie': - specifier: ^9.0.3 - version: 9.0.3 - '@fastify/static': - specifier: ^8.1.1 - version: 8.1.1 - astro: - specifier: ^5.6.1 - version: 5.6.1(rollup@4.39.0)(typescript@5.5.4) - astro-eslint-parser: - specifier: ^1.2.2 - version: 1.2.2 eslint: specifier: ^9.24.0 version: 9.24.0 @@ -39,9 +23,6 @@ importers: eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.24.0) - fastify: - specifier: ^5.2.2 - version: 5.2.2 globals: specifier: ^16.0.0 version: 16.0.0 @@ -56,11 +37,45 @@ importers: version: 0.14.1 typescript-eslint: specifier: ^8.29.0 - version: 8.29.0(eslint@9.24.0)(typescript@5.5.4) + version: 8.29.0(eslint@9.24.0)(typescript@5.8.3) vitest: specifier: ^3.1.1 version: 3.1.1(@types/debug@4.1.12) + demo: + devDependencies: + '@astrojs/node': + specifier: ^9.1.3 + version: 9.1.3(astro@5.6.1(rollup@4.39.0)(typescript@5.8.3)) + '@ayco/astro-sw': + specifier: workspace:* + version: link:../packages/astro-sw + '@fastify/middie': + specifier: ^9.0.3 + version: 9.0.3 + '@fastify/static': + specifier: ^8.1.1 + version: 8.1.1 + astro: + specifier: ^5.6.1 + version: 5.6.1(rollup@4.39.0)(typescript@5.8.3) + astro-eslint-parser: + specifier: ^1.2.2 + version: 1.2.2 + fastify: + specifier: ^5.2.2 + version: 5.2.2 + + packages/astro-sw: + dependencies: + esbuild: + specifier: ^0.25.2 + version: 0.25.2 + devDependencies: + astro: + specifier: ^5.6.1 + version: 5.6.1(rollup@4.39.0)(typescript@5.8.3) + packages: '@astrojs/compiler@2.11.0': @@ -2436,8 +2451,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} hasBin: true @@ -2764,10 +2779,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/node@9.1.3(astro@5.6.1(rollup@4.39.0)(typescript@5.5.4))': + '@astrojs/node@9.1.3(astro@5.6.1(rollup@4.39.0)(typescript@5.8.3))': dependencies: '@astrojs/internal-helpers': 0.6.1 - astro: 5.6.1(rollup@4.39.0)(typescript@5.5.4) + astro: 5.6.1(rollup@4.39.0)(typescript@5.8.3) send: 1.2.0 server-destroy: 1.0.1 transitivePeerDependencies: @@ -3221,32 +3236,32 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.24.0)(typescript@5.5.4))(eslint@9.24.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.24.0)(typescript@5.8.3))(eslint@9.24.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.29.0(eslint@9.24.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.29.0(eslint@9.24.0)(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.29.0 - '@typescript-eslint/type-utils': 8.29.0(eslint@9.24.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.29.0(eslint@9.24.0)(typescript@5.5.4) + '@typescript-eslint/type-utils': 8.29.0(eslint@9.24.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.29.0(eslint@9.24.0)(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.29.0 eslint: 9.24.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.5.4) - typescript: 5.5.4 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.29.0(eslint@9.24.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.29.0(eslint@9.24.0)(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.29.0 '@typescript-eslint/types': 8.29.0 - '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.29.0 debug: 4.4.0 eslint: 9.24.0 - typescript: 5.5.4 + typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -3255,20 +3270,20 @@ snapshots: '@typescript-eslint/types': 8.29.0 '@typescript-eslint/visitor-keys': 8.29.0 - '@typescript-eslint/type-utils@8.29.0(eslint@9.24.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.29.0(eslint@9.24.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.29.0(eslint@9.24.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.29.0(eslint@9.24.0)(typescript@5.8.3) debug: 4.4.0 eslint: 9.24.0 - ts-api-utils: 2.1.0(typescript@5.5.4) - typescript: 5.5.4 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.29.0': {} - '@typescript-eslint/typescript-estree@8.29.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.29.0(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.29.0 '@typescript-eslint/visitor-keys': 8.29.0 @@ -3277,19 +3292,19 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.1 - ts-api-utils: 2.1.0(typescript@5.5.4) - typescript: 5.5.4 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.29.0(eslint@9.24.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.29.0(eslint@9.24.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@9.24.0) '@typescript-eslint/scope-manager': 8.29.0 '@typescript-eslint/types': 8.29.0 - '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.3) eslint: 9.24.0 - typescript: 5.5.4 + typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -3450,7 +3465,7 @@ snapshots: transitivePeerDependencies: - supports-color - astro@5.6.1(rollup@4.39.0)(typescript@5.5.4): + astro@5.6.1(rollup@4.39.0)(typescript@5.8.3): dependencies: '@astrojs/compiler': 2.11.0 '@astrojs/internal-helpers': 0.6.1 @@ -3496,7 +3511,7 @@ snapshots: shiki: 3.2.1 tinyexec: 0.3.2 tinyglobby: 0.2.12 - tsconfck: 3.1.5(typescript@5.5.4) + tsconfck: 3.1.5(typescript@5.8.3) ultrahtml: 1.6.0 unist-util-visit: 5.0.0 unstorage: 1.15.0 @@ -3508,7 +3523,7 @@ snapshots: yocto-spinner: 0.2.1 zod: 3.24.2 zod-to-json-schema: 3.24.5(zod@3.24.2) - zod-to-ts: 1.2.0(typescript@5.5.4)(zod@3.24.2) + zod-to-ts: 1.2.0(typescript@5.8.3)(zod@3.24.2) optionalDependencies: sharp: 0.33.5 transitivePeerDependencies: @@ -5569,13 +5584,13 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@5.5.4): + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: - typescript: 5.5.4 + typescript: 5.8.3 - tsconfck@3.1.5(typescript@5.5.4): + tsconfck@3.1.5(typescript@5.8.3): optionalDependencies: - typescript: 5.5.4 + typescript: 5.8.3 tslib@2.8.1: {} @@ -5618,17 +5633,17 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.29.0(eslint@9.24.0)(typescript@5.5.4): + typescript-eslint@8.29.0(eslint@9.24.0)(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.24.0)(typescript@5.5.4))(eslint@9.24.0)(typescript@5.5.4) - '@typescript-eslint/parser': 8.29.0(eslint@9.24.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.29.0(eslint@9.24.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.24.0)(typescript@5.8.3))(eslint@9.24.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.29.0(eslint@9.24.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.29.0(eslint@9.24.0)(typescript@5.8.3) eslint: 9.24.0 - typescript: 5.5.4 + typescript: 5.8.3 transitivePeerDependencies: - supports-color - typescript@5.5.4: {} + typescript@5.8.3: {} ufo@1.5.4: {} @@ -5894,9 +5909,9 @@ snapshots: dependencies: zod: 3.24.2 - zod-to-ts@1.2.0(typescript@5.5.4)(zod@3.24.2): + zod-to-ts@1.2.0(typescript@5.8.3)(zod@3.24.2): dependencies: - typescript: 5.5.4 + typescript: 5.8.3 zod: 3.24.2 zod@3.24.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..0a85cba --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - "packages/**" + - "demo" \ No newline at end of file