@swoff/cli 0.3.13 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -32
- package/dist/index.js +2 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/cli/help.js +3 -8
- package/dist/lib/cli/help.js.map +1 -1
- package/dist/lib/commands/add.js +29 -87
- package/dist/lib/commands/add.js.map +1 -1
- package/dist/lib/commands/generate-guide.js +16 -30
- package/dist/lib/commands/generate-guide.js.map +1 -1
- package/dist/lib/commands/generate.js +31 -6
- package/dist/lib/commands/generate.js.map +1 -1
- package/dist/lib/commands/init.js +188 -11
- package/dist/lib/commands/init.js.map +1 -1
- package/dist/lib/commands/validate.js +2 -4
- package/dist/lib/commands/validate.js.map +1 -1
- package/dist/lib/config/loader.js +34 -25
- package/dist/lib/config/loader.js.map +1 -1
- package/dist/lib/config/validator.js +202 -96
- package/dist/lib/config/validator.js.map +1 -1
- package/dist/lib/generators/file-generators/api-config.js +1 -1
- package/dist/lib/generators/file-generators/api-config.js.map +1 -1
- package/dist/lib/generators/file-generators/auth-adapter.js +13 -0
- package/dist/lib/generators/file-generators/auth-adapter.js.map +1 -0
- package/dist/lib/generators/file-generators/auth-check.js +40 -0
- package/dist/lib/generators/file-generators/auth-check.js.map +1 -0
- package/dist/lib/generators/file-generators/auth-store.js +2 -5
- package/dist/lib/generators/file-generators/auth-store.js.map +1 -1
- package/dist/lib/generators/file-generators/background-sync.js +1 -1
- package/dist/lib/generators/file-generators/background-sync.js.map +1 -1
- package/dist/lib/generators/file-generators/cache.js +2 -1
- package/dist/lib/generators/file-generators/cache.js.map +1 -1
- package/dist/lib/generators/file-generators/client-injector-bundle.js +15 -0
- package/dist/lib/generators/file-generators/client-injector-bundle.js.map +1 -0
- package/dist/lib/generators/file-generators/client-injector.js +2 -1
- package/dist/lib/generators/file-generators/client-injector.js.map +1 -1
- package/dist/lib/generators/file-generators/connectivity-manager.js +12 -0
- package/dist/lib/generators/file-generators/connectivity-manager.js.map +1 -0
- package/dist/lib/generators/file-generators/connectivity.js +12 -0
- package/dist/lib/generators/file-generators/connectivity.js.map +1 -0
- package/dist/lib/generators/file-generators/context.js +7 -0
- package/dist/lib/generators/file-generators/context.js.map +1 -1
- package/dist/lib/generators/file-generators/fetch-wrapper.js +1 -1
- package/dist/lib/generators/file-generators/fetch-wrapper.js.map +1 -1
- package/dist/lib/generators/file-generators/generate-framework-adapters.js +29 -20
- package/dist/lib/generators/file-generators/generate-framework-adapters.js.map +1 -1
- package/dist/lib/generators/file-generators/gql-wrapper.js +2 -2
- package/dist/lib/generators/file-generators/gql-wrapper.js.map +1 -1
- package/dist/lib/generators/file-generators/guide-generator.js +51 -1
- package/dist/lib/generators/file-generators/guide-generator.js.map +1 -1
- package/dist/lib/generators/file-generators/invalidation-tags.js +2 -3
- package/dist/lib/generators/file-generators/invalidation-tags.js.map +1 -1
- package/dist/lib/generators/file-generators/mutation-queue.js +2 -2
- package/dist/lib/generators/file-generators/mutation-queue.js.map +1 -1
- package/dist/lib/generators/file-generators/mutation-state.js +1 -1
- package/dist/lib/generators/file-generators/mutation-state.js.map +1 -1
- package/dist/lib/generators/file-generators/notification-generator.js +6 -0
- package/dist/lib/generators/file-generators/notification-generator.js.map +1 -0
- package/dist/lib/generators/file-generators/open-db.js +6 -0
- package/dist/lib/generators/file-generators/open-db.js.map +1 -0
- package/dist/lib/generators/file-generators/push.js +1 -2
- package/dist/lib/generators/file-generators/push.js.map +1 -1
- package/dist/lib/generators/file-generators/pwa-install.js +2 -6
- package/dist/lib/generators/file-generators/pwa-install.js.map +1 -1
- package/dist/lib/generators/file-generators/server-push.js +1 -1
- package/dist/lib/generators/file-generators/server-push.js.map +1 -1
- package/dist/lib/generators/file-generators/storage-generator.js +6 -0
- package/dist/lib/generators/file-generators/storage-generator.js.map +1 -0
- package/dist/lib/generators/file-generators/storage-notify.js +6 -0
- package/dist/lib/generators/file-generators/storage-notify.js.map +1 -0
- package/dist/lib/generators/file-generators/storage.js +6 -0
- package/dist/lib/generators/file-generators/storage.js.map +1 -0
- package/dist/lib/generators/file-generators/sw-generator-build.js +96 -45
- package/dist/lib/generators/file-generators/sw-generator-build.js.map +1 -1
- package/dist/lib/generators/file-generators/sw-injector.js +0 -4
- package/dist/lib/generators/file-generators/sw-injector.js.map +1 -1
- package/dist/lib/generators/file-generators/sw-template.js +8 -9
- package/dist/lib/generators/file-generators/sw-template.js.map +1 -1
- package/dist/lib/generators/file-generators/sw-version-gen.js +32 -0
- package/dist/lib/generators/file-generators/sw-version-gen.js.map +1 -0
- package/dist/lib/generators/file-generators/swoff-api-bundle.js +51 -0
- package/dist/lib/generators/file-generators/swoff-api-bundle.js.map +1 -0
- package/dist/lib/generators/sw-build-utils.js +69 -0
- package/dist/lib/generators/sw-build-utils.js.map +1 -0
- package/dist/lib/generators/sw-generator.js +23 -34
- package/dist/lib/generators/sw-generator.js.map +1 -1
- package/dist/lib/generators/sw-sections/activate-handler.js +74 -23
- package/dist/lib/generators/sw-sections/activate-handler.js.map +1 -1
- package/dist/lib/generators/sw-sections/assemble-sw.js +15 -94
- package/dist/lib/generators/sw-sections/assemble-sw.js.map +1 -1
- package/dist/lib/generators/sw-sections/background-sync-handler.js +74 -72
- package/dist/lib/generators/sw-sections/background-sync-handler.js.map +1 -1
- package/dist/lib/generators/sw-sections/batch-refresh-queue.js +102 -0
- package/dist/lib/generators/sw-sections/batch-refresh-queue.js.map +1 -0
- package/dist/lib/generators/sw-sections/config-header.js +2 -3
- package/dist/lib/generators/sw-sections/config-header.js.map +1 -1
- package/dist/lib/generators/sw-sections/default-template.js +59 -6
- package/dist/lib/generators/sw-sections/default-template.js.map +1 -1
- package/dist/lib/generators/sw-sections/fetch-handler.js +621 -495
- package/dist/lib/generators/sw-sections/fetch-handler.js.map +1 -1
- package/dist/lib/generators/sw-sections/install-handler.js +40 -23
- package/dist/lib/generators/sw-sections/install-handler.js.map +1 -1
- package/dist/lib/generators/sw-sections/message-handler.js +25 -8
- package/dist/lib/generators/sw-sections/message-handler.js.map +1 -1
- package/dist/lib/generators/sw-sections/server-push-handler.js +10 -14
- package/dist/lib/generators/sw-sections/server-push-handler.js.map +1 -1
- package/dist/lib/generators/sw-sections/shared.js +68 -0
- package/dist/lib/generators/sw-sections/shared.js.map +1 -0
- package/dist/lib/generators/sw-sections/sw-push.js +2 -6
- package/dist/lib/generators/sw-sections/sw-push.js.map +1 -1
- package/dist/lib/generators/sw-sections/tag-management.js +55 -86
- package/dist/lib/generators/sw-sections/tag-management.js.map +1 -1
- package/dist/lib/generators/swoff-files-generator.js +183 -59
- package/dist/lib/generators/swoff-files-generator.js.map +1 -1
- package/dist/lib/shared/config-types.js +67 -63
- package/dist/lib/shared/config-types.js.map +1 -1
- package/dist/lib/shared/feature-registry.js +198 -0
- package/dist/lib/shared/feature-registry.js.map +1 -0
- package/dist/lib/utils/detect-framework.js +52 -9
- package/dist/lib/utils/detect-framework.js.map +1 -1
- package/dist/runtime/api-config.js +2 -2
- package/dist/runtime/api-config.js.map +1 -1
- package/dist/runtime/auth-adapter.js +179 -0
- package/dist/runtime/auth-adapter.js.map +1 -0
- package/dist/runtime/auth-state.js +16 -6
- package/dist/runtime/auth-state.js.map +1 -1
- package/dist/runtime/auth-store.js +219 -213
- package/dist/runtime/auth-store.js.map +1 -1
- package/dist/runtime/auth-user.js +5 -19
- package/dist/runtime/auth-user.js.map +1 -1
- package/dist/runtime/background-sync.js +5 -2
- package/dist/runtime/background-sync.js.map +1 -1
- package/dist/runtime/cache.js +91 -3
- package/dist/runtime/cache.js.map +1 -1
- package/dist/runtime/client-injector-bundle.js +314 -0
- package/dist/runtime/client-injector-bundle.js.map +1 -0
- package/dist/runtime/client-injector.js +173 -30
- package/dist/runtime/client-injector.js.map +1 -1
- package/dist/runtime/connectivity-manager.js +83 -0
- package/dist/runtime/connectivity-manager.js.map +1 -0
- package/dist/runtime/connectivity.js +83 -0
- package/dist/runtime/connectivity.js.map +1 -0
- package/dist/runtime/fetch-wrapper.js +26 -59
- package/dist/runtime/fetch-wrapper.js.map +1 -1
- package/dist/runtime/gql-wrapper.js +15 -9
- package/dist/runtime/gql-wrapper.js.map +1 -1
- package/dist/runtime/invalidation-tags.js +12 -89
- package/dist/runtime/invalidation-tags.js.map +1 -1
- package/dist/runtime/mutation-queue.js +83 -31
- package/dist/runtime/mutation-queue.js.map +1 -1
- package/dist/runtime/mutation-state.js +3 -3
- package/dist/runtime/mutation-state.js.map +1 -1
- package/dist/runtime/notification.js +65 -0
- package/dist/runtime/notification.js.map +1 -0
- package/dist/runtime/open-db.js +41 -0
- package/dist/runtime/open-db.js.map +1 -0
- package/dist/runtime/push.js +15 -27
- package/dist/runtime/push.js.map +1 -1
- package/dist/runtime/pwa-injector.js +3 -32
- package/dist/runtime/pwa-injector.js.map +1 -1
- package/dist/runtime/pwa-prompt.js +35 -3
- package/dist/runtime/pwa-prompt.js.map +1 -1
- package/dist/runtime/reset.js +39 -42
- package/dist/runtime/reset.js.map +1 -1
- package/dist/runtime/server-push.js +23 -13
- package/dist/runtime/server-push.js.map +1 -1
- package/dist/runtime/storage.js +32 -0
- package/dist/runtime/storage.js.map +1 -0
- package/dist/runtime/sw-injector.js +19 -178
- package/dist/runtime/sw-injector.js.map +1 -1
- package/dist/runtime/sw-version.js +13 -0
- package/dist/runtime/sw-version.js.map +1 -0
- package/dist/runtime/swoff-api-bundle.js +1491 -0
- package/dist/runtime/swoff-api-bundle.js.map +1 -0
- package/dist/runtime/type-definitions.js +8 -7
- package/dist/runtime/type-definitions.js.map +1 -1
- package/dist/runtime/utils.js +4 -0
- package/dist/runtime/utils.js.map +1 -1
- package/dist/swoff-nkdhhmw8. +18 -0
- package/dist/swoff.js +5 -0
- package/package.json +1 -1
- package/templates/react/useAuth.jsx +7 -4
- package/templates/react/useAuth.tsx +14 -14
- package/templates/react/useBackgroundSync.jsx +5 -4
- package/templates/react/useBackgroundSync.tsx +5 -4
- package/templates/react/useCachedFetch.jsx +8 -0
- package/templates/react/useCachedFetch.tsx +8 -0
- package/templates/react/useMutation.jsx +60 -56
- package/templates/react/useMutation.tsx +65 -64
- package/templates/react/useMutationQueue.jsx +5 -1
- package/templates/react/useMutationQueue.tsx +8 -2
- package/templates/react/useMutationState.jsx +3 -4
- package/templates/react/useMutationState.tsx +4 -8
- package/templates/react/useNetworkStatus.jsx +57 -17
- package/templates/react/useNetworkStatus.tsx +42 -20
- package/templates/react/useOfflineAnalytics.jsx +42 -0
- package/templates/react/useOfflineAnalytics.tsx +50 -0
- package/templates/react/usePwaInstall.jsx +26 -0
- package/templates/react/usePwaInstall.tsx +26 -0
- package/templates/react/useSWUpdate.jsx +7 -52
- package/templates/react/useSWUpdate.tsx +12 -51
- package/templates/react/useStorageEstimate.jsx +56 -0
- package/templates/react/useStorageEstimate.tsx +67 -0
- package/dist/__tests__/assemble-sw.test.js +0 -145
- package/dist/__tests__/assemble-sw.test.js.map +0 -1
- package/dist/__tests__/cli-integration.test.js +0 -231
- package/dist/__tests__/cli-integration.test.js.map +0 -1
- package/dist/__tests__/config-types.test.js +0 -124
- package/dist/__tests__/config-types.test.js.map +0 -1
- package/dist/__tests__/detect-language.test.js +0 -51
- package/dist/__tests__/detect-language.test.js.map +0 -1
- package/dist/__tests__/file-generators.test.js +0 -228
- package/dist/__tests__/file-generators.test.js.map +0 -1
- package/dist/__tests__/glob-matcher.test.js +0 -86
- package/dist/__tests__/glob-matcher.test.js.map +0 -1
- package/dist/__tests__/invalidation-tags.test.js +0 -283
- package/dist/__tests__/invalidation-tags.test.js.map +0 -1
- package/dist/__tests__/loader.test.js +0 -77
- package/dist/__tests__/loader.test.js.map +0 -1
- package/dist/__tests__/validator.test.js +0 -340
- package/dist/__tests__/validator.test.js.map +0 -1
- package/templates/react/useCacheInvalidation.jsx +0 -19
- package/templates/react/useCacheInvalidation.tsx +0 -52
- package/templates/react/useIsFetching.jsx +0 -32
- package/templates/react/useIsFetching.tsx +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-sync.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/background-sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,MAAM,UAAU,sBAAsB,CAAC,GAAqB;IAC1D,SAAS,
|
|
1
|
+
{"version":3,"file":"background-sync.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/background-sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,MAAM,UAAU,sBAAsB,CAAC,GAAqB;IAC1D,SAAS,CACP,GAAG,EACH,iBAAiB,GAAG,CAAC,GAAG,EAAE,EAC1B,0BAA0B,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { writeFile } from "./context.js";
|
|
2
2
|
import { generateCacheCode } from "../../../runtime/cache.js";
|
|
3
3
|
export function generateCache(ctx) {
|
|
4
|
-
|
|
4
|
+
const cascading = ctx.config.features.tagInvalidation.cascading ?? {};
|
|
5
|
+
writeFile(ctx, `cache/invalidate.${ctx.ext}`, generateCacheCode({ ts: ctx.ext === "ts", ext: ctx.ext }, cascading));
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,GAAqB;IACjD,SAAS,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,GAAqB;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC;IACtE,SAAS,CAAC,GAAG,EAAE,oBAAoB,GAAG,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AACtH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates client-injector.bundle.{js|ts} — a self-contained IIFE that
|
|
3
|
+
* auto-initializes the SW, connectivity heartbeat, and basic event listeners.
|
|
4
|
+
* No imports, no bundler needed — just <script src="...">.
|
|
5
|
+
*/
|
|
6
|
+
import { writeFile } from "./context.js";
|
|
7
|
+
import { generateClientInjectorBundleCode } from "../../../runtime/client-injector-bundle.js";
|
|
8
|
+
export function generateClientInjectorBundle(ctx) {
|
|
9
|
+
const ext = ctx.ext;
|
|
10
|
+
const ts = ext === "ts";
|
|
11
|
+
const sw = ctx.config.features.serviceWorker;
|
|
12
|
+
const code = generateClientInjectorBundleCode({ ts, ext }, sw.autoActivate, ctx.config.build?.swFilename || "sw", ctx.config.features.pwa.enabled, sw.navigation.mode, ctx.config.features.auth.enabled, ctx.config.features.mutationQueue.enabled);
|
|
13
|
+
writeFile(ctx, `client-injector.bundle.${ext}`, code);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=client-injector-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-injector-bundle.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/client-injector-bundle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAE9F,MAAM,UAAU,4BAA4B,CAAC,GAAqB;IAChE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;IAE7C,MAAM,IAAI,GAAG,gCAAgC,CAC3C,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,EAAE,CAAC,YAAY,EACf,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,EACpC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAC/B,EAAE,CAAC,UAAU,CAAC,IAAI,EAClB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAC1C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,0BAA0B,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { writeFile } from "./context.js";
|
|
5
5
|
import { generateClientInjectorCode } from "../../../runtime/client-injector.js";
|
|
6
|
+
import { shouldIncludeServerPush } from "../sw-sections/shared.js";
|
|
6
7
|
export function generateClientInjector(ctx) {
|
|
7
8
|
const ext = ctx.ext;
|
|
8
9
|
const ts = ext === "ts";
|
|
9
|
-
const code = generateClientInjectorCode({ ts, ext }, ctx.config.features.pwa.enabled, ctx.config.features.mutationQueue.enabled, ctx.config.features.
|
|
10
|
+
const code = generateClientInjectorCode({ ts, ext }, ctx.config.features.pwa.enabled, ctx.config.features.mutationQueue.enabled, shouldIncludeServerPush(ctx.config), ctx.config.features.serviceWorker.navigation.mode, ctx.config.features.auth.enabled, ctx.config.features.connectivity.enabled || ctx.config.features.auth.enabled, ctx.config.features.tagInvalidation.enabled || ctx.config.features.mutationQueue.enabled || ctx.config.features.graphql.enabled);
|
|
10
11
|
writeFile(ctx, `client-injector.${ext}`, code);
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=client-injector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-injector.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/client-injector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"client-injector.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/client-injector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,UAAU,sBAAsB,CAAC,GAAqB;IAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,0BAA0B,CACrC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAC/B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EACzC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EACnC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EACjD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAC5E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAChI,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates connectivity-manager.{js|ts} - core connectivity manager logic only.
|
|
3
|
+
*/
|
|
4
|
+
import { writeFile } from "./context.js";
|
|
5
|
+
import { generateConnectivityManagerCode } from "../../../runtime/connectivity-manager.js";
|
|
6
|
+
export function generateConnectivityManager(ctx) {
|
|
7
|
+
writeFile(ctx, `connectivity-manager.${ctx.ext}`, generateConnectivityManagerCode({
|
|
8
|
+
ts: ctx.ext === "ts",
|
|
9
|
+
ext: ctx.ext,
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=connectivity-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectivity-manager.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/connectivity-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,MAAM,UAAU,2BAA2B,CAAC,GAAqB;IAC/D,SAAS,CACP,GAAG,EACH,wBAAwB,GAAG,CAAC,GAAG,EAAE,EACjC,+BAA+B,CAAC;QAC9B,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates connectivity.{js|ts} - core connectivity logic only.
|
|
3
|
+
*/
|
|
4
|
+
import { writeFile } from "./context.js";
|
|
5
|
+
import { generateConnectivityCode } from "../../../runtime/connectivity.js";
|
|
6
|
+
export function generateConnectivity(ctx) {
|
|
7
|
+
writeFile(ctx, `connectivity.${ctx.ext}`, generateConnectivityCode({
|
|
8
|
+
ts: ctx.ext === "ts",
|
|
9
|
+
ext: ctx.ext,
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=connectivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/connectivity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,SAAS,CACP,GAAG,EACH,gBAAgB,GAAG,CAAC,GAAG,EAAE,EACzB,wBAAwB,CAAC;QACvB,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
6
6
|
import { join, dirname } from "path";
|
|
7
|
+
const BUNDLER_FRAMEWORKS = new Set([
|
|
8
|
+
"nextjs", "remix", "tanstack-start-react", "astro",
|
|
9
|
+
"nuxt", "sveltekit", "react-spa", "vue", "svelte",
|
|
10
|
+
]);
|
|
11
|
+
export function hasBundler(frameworkName) {
|
|
12
|
+
return BUNDLER_FRAMEWORKS.has(frameworkName);
|
|
13
|
+
}
|
|
7
14
|
export function ensureDir(dir) {
|
|
8
15
|
if (!existsSync(dir))
|
|
9
16
|
mkdirSync(dir, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGrC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO;IAClD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ;CAClD,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CAAC,aAAqB;IAC9C,OAAO,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC;AAaD,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAqB,EAAE,QAAgB,EAAE,IAAY;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { generateFetchWrapperCode } from "../../../runtime/fetch-wrapper.js";
|
|
|
7
7
|
export function generateFetchWrapper(ctx) {
|
|
8
8
|
const ext = ctx.ext;
|
|
9
9
|
const ts = ext === "ts";
|
|
10
|
-
const code = generateFetchWrapperCode({ ts, ext }, ctx.config.features.auth.enabled, ctx.config.features.
|
|
10
|
+
const code = generateFetchWrapperCode({ ts, ext }, ctx.config.features.auth.enabled, ctx.config.features.mutationQueue.enabled, ctx.config.features.requestBatchWindowMs);
|
|
11
11
|
writeFile(ctx, `fetch/core.${ext}`, code);
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=fetch-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-wrapper.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/fetch-wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,wBAAwB,CACnC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"fetch-wrapper.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/fetch-wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,wBAAwB,CACnC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EACzC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CACzC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -4,40 +4,49 @@ import { fileURLToPath } from "url";
|
|
|
4
4
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
const templatesDir = join(__dirname, "../../../../templates");
|
|
6
6
|
function copyAdapter(frameworkDir, name, ext, outputDir) {
|
|
7
|
-
const
|
|
8
|
-
if (existsSync(
|
|
9
|
-
copyFileSync(
|
|
7
|
+
const primarySrc = join(frameworkDir, `${name}.${ext}x`);
|
|
8
|
+
if (existsSync(primarySrc)) {
|
|
9
|
+
copyFileSync(primarySrc, join(outputDir, `${name}.${ext}x`));
|
|
10
|
+
return;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
12
|
+
const fallbackExt = ext === "ts" ? "jsx" : "tsx";
|
|
13
|
+
const fallbackSrc = join(frameworkDir, `${name}.${fallbackExt}`);
|
|
14
|
+
if (existsSync(fallbackSrc)) {
|
|
15
|
+
copyFileSync(fallbackSrc, join(outputDir, `${name}.${ext}x`));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
const ADAPTERS = [
|
|
19
|
-
{ name: "useNetworkStatus" },
|
|
20
|
-
{ name: "
|
|
21
|
-
{ name: "
|
|
22
|
-
{ name: "
|
|
23
|
-
{ name: "
|
|
24
|
-
{ name: "
|
|
19
|
+
{ name: "useNetworkStatus", condition: (c) => c.config.features.connectivity.enabled },
|
|
20
|
+
{ name: "useStorageEstimate" },
|
|
21
|
+
{ name: "useCachedFetch", condition: (c) => c.config.features.tagInvalidation.enabled },
|
|
22
|
+
{ name: "useMutation", condition: (c) => c.config.features.mutationQueue.enabled },
|
|
23
|
+
{ name: "usePrefetch", condition: (c) => c.config.features.tagInvalidation.enabled },
|
|
24
|
+
{ name: "useMutationState", condition: (c) => c.config.features.mutationQueue.enabled },
|
|
25
25
|
{ name: "useSwoffReset" },
|
|
26
|
-
{ name: "
|
|
27
|
-
{ name: "useSWUpdate"
|
|
26
|
+
{ name: "useOfflineAnalytics" },
|
|
27
|
+
{ name: "useSWUpdate" },
|
|
28
28
|
{ name: "useAuth", condition: (c) => c.config.features.auth.enabled },
|
|
29
29
|
{ name: "useMutationQueue", condition: (c) => c.config.features.mutationQueue.enabled },
|
|
30
|
-
{ name: "
|
|
31
|
-
{ name: "
|
|
30
|
+
{ name: "usePwaInstall", condition: (c) => c.config.features.pwa.enabled },
|
|
31
|
+
{ name: "usePushSubscription", condition: (c) => c.config.features.pushNotifications },
|
|
32
|
+
{ name: "useBackgroundSync", condition: (c) => !!c.config.features.mutationQueue.backgroundSync },
|
|
32
33
|
];
|
|
34
|
+
const BASE_FRAMEWORK = {
|
|
35
|
+
nextjs: "react",
|
|
36
|
+
remix: "react",
|
|
37
|
+
"react-spa": "react",
|
|
38
|
+
"tanstack-start-react": "react",
|
|
39
|
+
astro: "react",
|
|
40
|
+
};
|
|
33
41
|
const OUTPUT_SUBDIRS = {
|
|
34
42
|
react: "adapters",
|
|
35
43
|
};
|
|
36
44
|
export function generateFrameworkAdapters(ctx) {
|
|
37
|
-
const
|
|
45
|
+
const baseFramework = BASE_FRAMEWORK[ctx.frameworkName] ?? ctx.frameworkName;
|
|
46
|
+
const subdir = OUTPUT_SUBDIRS[baseFramework];
|
|
38
47
|
if (!subdir)
|
|
39
48
|
return;
|
|
40
|
-
const frameworkDir = join(templatesDir,
|
|
49
|
+
const frameworkDir = join(templatesDir, baseFramework);
|
|
41
50
|
if (!existsSync(frameworkDir))
|
|
42
51
|
return;
|
|
43
52
|
const outDir = join(ctx.swoffDir, subdir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-framework-adapters.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/generate-framework-adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAE9D,SAAS,WAAW,CAAC,YAAoB,EAAE,IAAY,EAAE,GAAW,EAAE,SAAiB;IACrF,MAAM,
|
|
1
|
+
{"version":3,"file":"generate-framework-adapters.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/generate-framework-adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAE9D,SAAS,WAAW,CAAC,YAAoB,EAAE,IAAY,EAAE,GAAW,EAAE,SAAiB;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAOD,MAAM,QAAQ,GAAiB;IAC7B,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;IACtF,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC9B,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE;IACvF,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;IAClF,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE;IACpF,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;IACvF,EAAE,IAAI,EAAE,eAAe,EAAE;IACzB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC/B,EAAE,IAAI,EAAE,aAAa,EAAE;IACvB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;IACrE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;IACvF,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE;IAC1E,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE;IACtF,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE;CAClG,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,OAAO;IACpB,sBAAsB,EAAE,OAAO;IAC/B,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC7C,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,GAAqB;IAC7D,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC;IAC7E,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -3,8 +3,8 @@ import { generateGqlWrapperCode } from "../../../runtime/gql-wrapper.js";
|
|
|
3
3
|
export function generateGqlWrapper(ctx) {
|
|
4
4
|
const ext = ctx.ext;
|
|
5
5
|
const ts = ext === "ts";
|
|
6
|
-
const
|
|
7
|
-
const code = generateGqlWrapperCode({ ts, ext },
|
|
6
|
+
const endpoints = ctx.config.features.graphql.endpoints;
|
|
7
|
+
const code = generateGqlWrapperCode({ ts, ext }, endpoints);
|
|
8
8
|
writeFile(ctx, `graphql/index.${ext}`, code);
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=gql-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql-wrapper.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/gql-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"gql-wrapper.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/gql-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;IAExD,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -5,10 +5,46 @@ import { writeFile } from "./context.js";
|
|
|
5
5
|
export function generateGuide(ctx) {
|
|
6
6
|
const lines = [];
|
|
7
7
|
const w = (s) => lines.push(s);
|
|
8
|
+
const ext = ctx.ext;
|
|
9
|
+
const auth = ctx.config.features.auth;
|
|
8
10
|
w("# Swoff — Generated Files");
|
|
9
11
|
w("");
|
|
10
12
|
w("Your project was generated with Swoff. All generated files live in `swoff/`.");
|
|
11
13
|
w("");
|
|
14
|
+
if (auth.enabled) {
|
|
15
|
+
w(`## Auth (${auth.type})`);
|
|
16
|
+
w("");
|
|
17
|
+
if (ctx.hasBundler) {
|
|
18
|
+
w("Edit `swoff/auth/adapter." + ext + "` to match your backend:");
|
|
19
|
+
w("");
|
|
20
|
+
w("- `getHeaders()`: return auth headers for fetch requests");
|
|
21
|
+
w("- `fetchUser()`: implement fetching current user from `/api/me`");
|
|
22
|
+
if (auth.type !== "cookie") {
|
|
23
|
+
w("- `refresh()`: implement token/session refresh");
|
|
24
|
+
}
|
|
25
|
+
w("");
|
|
26
|
+
w("Use `{ auth: true }` in `fetchWithCache()` for authenticated requests:");
|
|
27
|
+
w("");
|
|
28
|
+
w("```ts");
|
|
29
|
+
w("import { fetchWithCache } from \"./swoff/fetch/core." + ext + "\";");
|
|
30
|
+
w('const data = await fetchWithCache("/api/me", { auth: true }).then(r => r.json());');
|
|
31
|
+
w("```");
|
|
32
|
+
w("");
|
|
33
|
+
w("Call `clearAuth()` from `swoff/auth/store." + ext + "` on logout: memory, IndexedDB, and runtime caches are cleaned. Cross-tab sync happens automatically via the service worker.");
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
w("Auth is handled by the bundled script. The SW intercepts 401 responses and co-ordinates auth state across tabs.");
|
|
37
|
+
w("");
|
|
38
|
+
w("To configure the auth adapter, edit `swoff/auth/adapter." + ext + "`:");
|
|
39
|
+
w("");
|
|
40
|
+
w("- `getHeaders()`: return auth headers for fetch requests");
|
|
41
|
+
w("- `fetchUser()`: implement fetching current user from `/api/me`");
|
|
42
|
+
if (auth.type !== "cookie") {
|
|
43
|
+
w("- `refresh()`: implement token/session refresh");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
w("");
|
|
47
|
+
}
|
|
12
48
|
if (ctx.config.features.pwa.enabled) {
|
|
13
49
|
w("## PWA Assets");
|
|
14
50
|
w("");
|
|
@@ -28,7 +64,21 @@ export function generateGuide(ctx) {
|
|
|
28
64
|
w("After generation, reference these assets in your HTML <head>. The tool prints the exact <link> and <meta> tags to copy-paste.");
|
|
29
65
|
w("");
|
|
30
66
|
}
|
|
31
|
-
w("
|
|
67
|
+
w("## Integration Guides");
|
|
68
|
+
w("");
|
|
69
|
+
w("Walk through features step by step in [/docs/guides/](./docs/guides/README.md):");
|
|
70
|
+
w("");
|
|
71
|
+
w("- [PWA foundation](./docs/guides/01-pwa.md) — SW generation, install prompt, versioning");
|
|
72
|
+
w("- [Data fetching & caching](./docs/guides/02-data-fetching.md) — fetchWithCache, 6 strategies");
|
|
73
|
+
w("- [Navigation caching](./docs/guides/03-navigation-caching.md) — SPA/SSR navigation, preload, fallback");
|
|
74
|
+
w("- [Auth](./docs/guides/04-auth.md) — auth headers, 401 detection, token refresh");
|
|
75
|
+
w("- [Tag invalidation](./docs/guides/05-tag-invalidation.md) — auto-tags, glob, cascading, cross-tab");
|
|
76
|
+
w("- [GraphQL](./docs/guides/06-graphql.md) — body-hash caching, operation-name auto-tags");
|
|
77
|
+
w("- [Offline mutations](./docs/guides/07-offline-mutations.md) — queue writes offline, background sync");
|
|
78
|
+
w("- [Push notifications](./docs/guides/08-push.md) — subscribe, notify, unsubscribe");
|
|
79
|
+
w("- [Server push](./docs/guides/09-server-push.md) — SSE/WS from SW, live tag invalidation");
|
|
80
|
+
w("");
|
|
81
|
+
w("For the full reference documentation, visit:");
|
|
32
82
|
w("");
|
|
33
83
|
w("- **Documentation** — https://swoff.dev/docs");
|
|
34
84
|
w("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-generator.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/guide-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,UAAU,aAAa,CAAC,GAAqB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"guide-generator.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/guide-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export function generateInvalidationTags(ctx) {
|
|
|
8
8
|
const ext = ctx.ext;
|
|
9
9
|
const ts = ext === "ts";
|
|
10
10
|
const tiConfig = ctx.config.features.tagInvalidation;
|
|
11
|
-
const prefixes = tiConfig.
|
|
11
|
+
const prefixes = tiConfig.skipPrefixes ?? [
|
|
12
12
|
"api",
|
|
13
13
|
"v1",
|
|
14
14
|
"v2",
|
|
@@ -19,8 +19,7 @@ export function generateInvalidationTags(ctx) {
|
|
|
19
19
|
];
|
|
20
20
|
const patterns = tiConfig.patterns ?? {};
|
|
21
21
|
const singularization = tiConfig.singularization ?? {};
|
|
22
|
-
const
|
|
23
|
-
const code = generateInvalidationTagsCode({ ts, ext }, prefixes, patterns, singularization, cascading);
|
|
22
|
+
const code = generateInvalidationTagsCode({ ts, ext }, prefixes, patterns, singularization);
|
|
24
23
|
writeFile(ctx, `cache/tags.${ext}`, code);
|
|
25
24
|
}
|
|
26
25
|
//# sourceMappingURL=invalidation-tags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalidation-tags.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/invalidation-tags.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,MAAM,UAAU,wBAAwB,CAAC,GAAqB;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"invalidation-tags.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/invalidation-tags.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,MAAM,UAAU,wBAAwB,CAAC,GAAqB;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,IAAI;QACxC,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,SAAS;QACT,KAAK;KACN,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;IAEvD,MAAM,IAAI,GAAG,4BAA4B,CACvC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,CAChB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -5,7 +5,7 @@ export function generateMutationQueue(ctx) {
|
|
|
5
5
|
const ts = ext === "ts";
|
|
6
6
|
const authEnabled = ctx.config.features.auth.enabled;
|
|
7
7
|
const mqConfig = ctx.config.features.mutationQueue;
|
|
8
|
-
const code = generateMutationQueueCode({ ts, ext }, authEnabled, mqConfig.batchSize, mqConfig.batchDelayMs, mqConfig.maxRetries, mqConfig.
|
|
9
|
-
writeFile(ctx, `
|
|
8
|
+
const code = generateMutationQueueCode({ ts, ext }, authEnabled, mqConfig.batchSize, mqConfig.batchDelayMs, mqConfig.retry.maxRetries, mqConfig.retry.backoffMs, mqConfig.retry.maxBackoffMs, mqConfig.retry.jitterMs);
|
|
9
|
+
writeFile(ctx, `mutation/queue.${ext}`, code);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=mutation-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-queue.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/mutation-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;IAEnD,MAAM,IAAI,GAAG,yBAAyB,CACpC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,WAAW,EACX,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"mutation-queue.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/mutation-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;IAEnD,MAAM,IAAI,GAAG,yBAAyB,CACpC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,WAAW,EACX,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,KAAK,CAAC,UAAU,EACzB,QAAQ,CAAC,KAAK,CAAC,SAAS,EACxB,QAAQ,CAAC,KAAK,CAAC,YAAY,EAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CACxB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
import { writeFile } from "./context.js";
|
|
7
7
|
import { generateMutationStateCode } from "../../../runtime/mutation-state.js";
|
|
8
8
|
export function generateMutationState(ctx) {
|
|
9
|
-
writeFile(ctx, `
|
|
9
|
+
writeFile(ctx, `mutation/state.${ctx.ext}`, generateMutationStateCode({ ts: ctx.ext === "ts", ext: ctx.ext }));
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=mutation-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-state.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/mutation-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,SAAS,
|
|
1
|
+
{"version":3,"file":"mutation-state.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/mutation-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,SAAS,CACP,GAAG,EACH,kBAAkB,GAAG,CAAC,GAAG,EAAE,EAC3B,yBAAyB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAClE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { writeFile } from "./context.js";
|
|
2
|
+
import { generateNotificationCode } from "../../../runtime/notification.js";
|
|
3
|
+
export function generateNotification(ctx) {
|
|
4
|
+
writeFile(ctx, `notification.${ctx.ext}`, generateNotificationCode({ ts: ctx.ext === "ts", ext: ctx.ext }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=notification-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-generator.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/notification-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9G,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { writeFile } from "./context.js";
|
|
2
|
+
import { generateOpenDBCode } from "../../../runtime/open-db.js";
|
|
3
|
+
export function generateOpenDB(ctx) {
|
|
4
|
+
writeFile(ctx, `db.${ctx.ext}`, generateOpenDBCode({ ts: ctx.ext === "ts", ext: ctx.ext }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=open-db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-db.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/open-db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,UAAU,cAAc,CAAC,GAAqB;IAClD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { writeFile } from "./context.js";
|
|
2
2
|
import { generatePushCode } from "../../../runtime/push.js";
|
|
3
3
|
export function generatePush(ctx) {
|
|
4
|
-
writeFile(ctx, `
|
|
4
|
+
writeFile(ctx, `push-notification/index.${ctx.ext}`, generatePushCode({
|
|
5
5
|
ts: ctx.ext === "ts",
|
|
6
6
|
ext: ctx.ext,
|
|
7
|
-
vapidKey: ctx.config.features.pushNotifications?.vapidPublicKey ?? "",
|
|
8
7
|
}));
|
|
9
8
|
}
|
|
10
9
|
//# sourceMappingURL=push.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,UAAU,YAAY,CAAC,GAAqB;IAChD,SAAS,CACP,GAAG,EACH,
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,UAAU,YAAY,CAAC,GAAqB;IAChD,SAAS,CACP,GAAG,EACH,2BAA2B,GAAG,CAAC,GAAG,EAAE,EACpC,gBAAgB,CAAC;QACf,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Generates pwa/ files —
|
|
2
|
+
* Generates pwa/ files — prompt.
|
|
3
3
|
*/
|
|
4
4
|
import { writeFile } from "./context.js";
|
|
5
|
-
import { generatePwaInjectorCode } from "../../../runtime/pwa-injector.js";
|
|
6
5
|
import { generatePwaPromptCode } from "../../../runtime/pwa-prompt.js";
|
|
7
|
-
import { generatePwaIndexCode } from "../../../runtime/pwa-index.js";
|
|
8
6
|
export function generatePwaInstall(ctx) {
|
|
9
7
|
const opts = { ts: ctx.ext === "ts", ext: ctx.ext };
|
|
10
|
-
writeFile(ctx, `pwa/
|
|
8
|
+
writeFile(ctx, `pwa/prompt.${ctx.ext}`, generatePwaPromptCode({
|
|
11
9
|
...opts,
|
|
12
10
|
preventDefaultInstall: ctx.config.features.pwa.preventDefaultInstall,
|
|
13
11
|
}));
|
|
14
|
-
writeFile(ctx, `pwa/prompt.${ctx.ext}`, generatePwaPromptCode(opts));
|
|
15
|
-
writeFile(ctx, `pwa/index.${ctx.ext}`, generatePwaIndexCode(opts));
|
|
16
12
|
}
|
|
17
13
|
//# sourceMappingURL=pwa-install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pwa-install.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/pwa-install.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pwa-install.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/pwa-install.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC;QAC5D,GAAG,IAAI;QACP,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB;KACrE,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -10,6 +10,6 @@ export function generateServerPush(ctx) {
|
|
|
10
10
|
const ts = ext === "ts";
|
|
11
11
|
const sp = ctx.config.features.serverPush;
|
|
12
12
|
const code = generateServerPushCode({ ts, ext }, sp.type, sp.endpoint, sp.reconnectDelayMs);
|
|
13
|
-
writeFile(ctx, `
|
|
13
|
+
writeFile(ctx, `server-push/client.${ext}`, code);
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=server-push.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-push.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/server-push.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IAE1C,MAAM,IAAI,GAAG,sBAAsB,CACjC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,gBAAgB,CACpB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"server-push.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/server-push.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IAE1C,MAAM,IAAI,GAAG,sBAAsB,CACjC,EAAE,EAAE,EAAE,GAAG,EAAE,EACX,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,gBAAgB,CACpB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,sBAAsB,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { writeFile } from "./context.js";
|
|
2
|
+
import { generateNotificationCode } from "../../../runtime/notification.js";
|
|
3
|
+
export function generateStorage(ctx) {
|
|
4
|
+
writeFile(ctx, `storage.${ctx.ext}`, generateNotificationCode({ ts: ctx.ext === "ts", ext: ctx.ext }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=storage-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-generator.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/storage-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,UAAU,eAAe,CAAC,GAAqB;IACnD,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { writeFile } from "./context.js";
|
|
2
|
+
import { generateNotificationCode } from "../../../runtime/notification.js";
|
|
3
|
+
export function generateStorageNotify(ctx) {
|
|
4
|
+
writeFile(ctx, `storage-notify.${ctx.ext}`, generateNotificationCode({ ts: ctx.ext === "ts", ext: ctx.ext }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=storage-notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-notify.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/storage-notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAChH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { writeFile } from "./context.js";
|
|
2
|
+
import { generateStorageCode } from "../../../runtime/storage.js";
|
|
3
|
+
export function generateStorage(ctx) {
|
|
4
|
+
writeFile(ctx, `storage.${ctx.ext}`, generateStorageCode({ ts: ctx.ext === "ts", ext: ctx.ext }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/lib/generators/file-generators/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,UAAU,eAAe,CAAC,GAAqB;IACnD,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpG,CAAC"}
|