feat: organize preset exports

This commit is contained in:
Ayo Ayco 2025-04-07 23:44:01 +01:00
parent 8d7e5df515
commit 2ae36ffb81
6 changed files with 18 additions and 19 deletions

View file

@ -2,7 +2,8 @@
import { defineConfig } from 'astro/config' import { defineConfig } from 'astro/config'
import node from '@astrojs/node' import node from '@astrojs/node'
import serviceWorker from '../package/src/astro-sw' import serviceWorker from '@ayco/astro-sw'
import { deleteOldCaches, staleWhileRevalidate } from '@ayco/astro-sw/presets'
export default defineConfig({ export default defineConfig({
output: 'static', output: 'static',
@ -13,6 +14,7 @@ export default defineConfig({
integrations: [ integrations: [
serviceWorker({ serviceWorker({
path: './src/example_sw.js', path: './src/example_sw.js',
presets: [staleWhileRevalidate(), deleteOldCaches()],
customRoutes: [ customRoutes: [
// '/threads' // '/threads'
], ],

View file

@ -16,9 +16,13 @@
"types": "./dist/eslint/globals.d.ts", "types": "./dist/eslint/globals.d.ts",
"default": "./dist/eslint/globals.js" "default": "./dist/eslint/globals.js"
}, },
"./presets/**": { "./presets": {
"types": "./dist/presets/**/index.d.ts", "types": "./dist/presets/index.d.ts",
"default": "./dist/presets/**/index.js" "default": "./dist/presets/index.js"
},
"./presets/*": {
"types": "./dist/presets/*/index.d.ts",
"default": "./dist/presets/*/index.js"
} }
}, },
"files": [ "files": [
@ -30,7 +34,7 @@
"node": ">=18.0.0" "node": ">=18.0.0"
}, },
"scripts": { "scripts": {
"build": "tsup src/**/index.ts src/eslint/globals.ts --format esm --dts --clean", "build": "tsup src/index.ts src/presets/index.ts src/presets/**/index.ts src/eslint/globals.ts --format esm --dts --clean",
"test": "vitest run", "test": "vitest run",
"version:patch": "npm version patch", "version:patch": "npm version patch",
"version:minor": "npm version minor", "version:minor": "npm version minor",

View file

@ -1,8 +1,8 @@
import { ServiceWorkerPreset } from '../../types' import { ServiceWorkerPreset } from '../../types'
import activate from './activate' import activate from './activate'
const deleteOldCaches: ServiceWorkerPreset = { export const deleteOldCaches: () => ServiceWorkerPreset = () => ({
activate, activate,
} })
export default deleteOldCaches export default deleteOldCaches

View file

@ -0,0 +1,2 @@
export { staleWhileRevalidate } from './stale-while-revalidate'
export { deleteOldCaches } from './delete-old-caches'

View file

@ -1,7 +0,0 @@
import { ServiceWorkerPreset } from '../../types'
export const activateFn: ServiceWorkerPreset['activate'] = ({ event }) => {
console.info('activating service worker...', event)
}
export default activateFn

View file

@ -3,14 +3,12 @@
*/ */
import { ServiceWorkerPreset } from '../../types' import { ServiceWorkerPreset } from '../../types'
import activate from './activate'
import install from './install' import install from './install'
import fetch from './fetch' import fetch from './fetch'
export const presetStaleWhileRevalidate: ServiceWorkerPreset = { export const staleWhileRevalidate: () => ServiceWorkerPreset = () => ({
activate,
install, install,
fetch, fetch,
} })
export default presetStaleWhileRevalidate export default staleWhileRevalidate