@swoff/cli 0.3.12 → 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.
Files changed (230) hide show
  1. package/README.md +32 -30
  2. package/dist/index.js +2 -32
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/cli/help.js +6 -16
  5. package/dist/lib/cli/help.js.map +1 -1
  6. package/dist/lib/cli/logger.js +1 -0
  7. package/dist/lib/cli/logger.js.map +1 -1
  8. package/dist/lib/commands/add.js +29 -87
  9. package/dist/lib/commands/add.js.map +1 -1
  10. package/dist/lib/commands/assets.js +11 -4
  11. package/dist/lib/commands/assets.js.map +1 -1
  12. package/dist/lib/commands/clean.js +2 -10
  13. package/dist/lib/commands/clean.js.map +1 -1
  14. package/dist/lib/commands/generate-guide.js +16 -30
  15. package/dist/lib/commands/generate-guide.js.map +1 -1
  16. package/dist/lib/commands/generate.js +55 -58
  17. package/dist/lib/commands/generate.js.map +1 -1
  18. package/dist/lib/commands/init.js +187 -31
  19. package/dist/lib/commands/init.js.map +1 -1
  20. package/dist/lib/commands/validate.js +2 -4
  21. package/dist/lib/commands/validate.js.map +1 -1
  22. package/dist/lib/config/loader.js +34 -25
  23. package/dist/lib/config/loader.js.map +1 -1
  24. package/dist/lib/config/validator.js +210 -89
  25. package/dist/lib/config/validator.js.map +1 -1
  26. package/dist/lib/generators/file-generators/api-config.js +1 -1
  27. package/dist/lib/generators/file-generators/api-config.js.map +1 -1
  28. package/dist/lib/generators/file-generators/auth-adapter.js +13 -0
  29. package/dist/lib/generators/file-generators/auth-adapter.js.map +1 -0
  30. package/dist/lib/generators/file-generators/auth-check.js +40 -0
  31. package/dist/lib/generators/file-generators/auth-check.js.map +1 -0
  32. package/dist/lib/generators/file-generators/auth-store.js +2 -5
  33. package/dist/lib/generators/file-generators/auth-store.js.map +1 -1
  34. package/dist/lib/generators/file-generators/background-sync.js +1 -1
  35. package/dist/lib/generators/file-generators/background-sync.js.map +1 -1
  36. package/dist/lib/generators/file-generators/cache.js +2 -1
  37. package/dist/lib/generators/file-generators/cache.js.map +1 -1
  38. package/dist/lib/generators/file-generators/client-injector-bundle.js +15 -0
  39. package/dist/lib/generators/file-generators/client-injector-bundle.js.map +1 -0
  40. package/dist/lib/generators/file-generators/client-injector.js +2 -1
  41. package/dist/lib/generators/file-generators/client-injector.js.map +1 -1
  42. package/dist/lib/generators/file-generators/connectivity-manager.js +12 -0
  43. package/dist/lib/generators/file-generators/connectivity-manager.js.map +1 -0
  44. package/dist/lib/generators/file-generators/connectivity.js +12 -0
  45. package/dist/lib/generators/file-generators/connectivity.js.map +1 -0
  46. package/dist/lib/generators/file-generators/context.js +7 -0
  47. package/dist/lib/generators/file-generators/context.js.map +1 -1
  48. package/dist/lib/generators/file-generators/fetch-wrapper.js +1 -1
  49. package/dist/lib/generators/file-generators/fetch-wrapper.js.map +1 -1
  50. package/dist/lib/generators/file-generators/generate-framework-adapters.js +29 -23
  51. package/dist/lib/generators/file-generators/generate-framework-adapters.js.map +1 -1
  52. package/dist/lib/generators/file-generators/gql-wrapper.js +2 -2
  53. package/dist/lib/generators/file-generators/gql-wrapper.js.map +1 -1
  54. package/dist/lib/generators/file-generators/guide-generator.js +57 -16
  55. package/dist/lib/generators/file-generators/guide-generator.js.map +1 -1
  56. package/dist/lib/generators/file-generators/invalidation-tags.js +2 -3
  57. package/dist/lib/generators/file-generators/invalidation-tags.js.map +1 -1
  58. package/dist/lib/generators/file-generators/mutation-queue.js +2 -2
  59. package/dist/lib/generators/file-generators/mutation-queue.js.map +1 -1
  60. package/dist/lib/generators/file-generators/mutation-state.js +1 -1
  61. package/dist/lib/generators/file-generators/mutation-state.js.map +1 -1
  62. package/dist/lib/generators/file-generators/notification-generator.js +6 -0
  63. package/dist/lib/generators/file-generators/notification-generator.js.map +1 -0
  64. package/dist/lib/generators/file-generators/open-db.js +6 -0
  65. package/dist/lib/generators/file-generators/open-db.js.map +1 -0
  66. package/dist/lib/generators/file-generators/push.js +1 -2
  67. package/dist/lib/generators/file-generators/push.js.map +1 -1
  68. package/dist/lib/generators/file-generators/pwa-install.js +2 -6
  69. package/dist/lib/generators/file-generators/pwa-install.js.map +1 -1
  70. package/dist/lib/generators/file-generators/server-push.js +1 -1
  71. package/dist/lib/generators/file-generators/server-push.js.map +1 -1
  72. package/dist/lib/generators/file-generators/storage-generator.js +6 -0
  73. package/dist/lib/generators/file-generators/storage-generator.js.map +1 -0
  74. package/dist/lib/generators/file-generators/storage-notify.js +6 -0
  75. package/dist/lib/generators/file-generators/storage-notify.js.map +1 -0
  76. package/dist/lib/generators/file-generators/storage.js +6 -0
  77. package/dist/lib/generators/file-generators/storage.js.map +1 -0
  78. package/dist/lib/generators/file-generators/sw-generator-build.js +96 -45
  79. package/dist/lib/generators/file-generators/sw-generator-build.js.map +1 -1
  80. package/dist/lib/generators/file-generators/sw-injector.js +1 -4
  81. package/dist/lib/generators/file-generators/sw-injector.js.map +1 -1
  82. package/dist/lib/generators/file-generators/sw-template.js +8 -9
  83. package/dist/lib/generators/file-generators/sw-template.js.map +1 -1
  84. package/dist/lib/generators/file-generators/sw-version-gen.js +32 -0
  85. package/dist/lib/generators/file-generators/sw-version-gen.js.map +1 -0
  86. package/dist/lib/generators/file-generators/swoff-api-bundle.js +51 -0
  87. package/dist/lib/generators/file-generators/swoff-api-bundle.js.map +1 -0
  88. package/dist/lib/generators/sw-build-utils.js +69 -0
  89. package/dist/lib/generators/sw-build-utils.js.map +1 -0
  90. package/dist/lib/generators/sw-generator.js +26 -45
  91. package/dist/lib/generators/sw-generator.js.map +1 -1
  92. package/dist/lib/generators/sw-sections/activate-handler.js +74 -23
  93. package/dist/lib/generators/sw-sections/activate-handler.js.map +1 -1
  94. package/dist/lib/generators/sw-sections/assemble-sw.js +15 -95
  95. package/dist/lib/generators/sw-sections/assemble-sw.js.map +1 -1
  96. package/dist/lib/generators/sw-sections/background-sync-handler.js +74 -72
  97. package/dist/lib/generators/sw-sections/background-sync-handler.js.map +1 -1
  98. package/dist/lib/generators/sw-sections/batch-refresh-queue.js +102 -0
  99. package/dist/lib/generators/sw-sections/batch-refresh-queue.js.map +1 -0
  100. package/dist/lib/generators/sw-sections/config-header.js +2 -3
  101. package/dist/lib/generators/sw-sections/config-header.js.map +1 -1
  102. package/dist/lib/generators/sw-sections/default-template.js +59 -6
  103. package/dist/lib/generators/sw-sections/default-template.js.map +1 -1
  104. package/dist/lib/generators/sw-sections/fetch-handler.js +621 -495
  105. package/dist/lib/generators/sw-sections/fetch-handler.js.map +1 -1
  106. package/dist/lib/generators/sw-sections/install-handler.js +40 -23
  107. package/dist/lib/generators/sw-sections/install-handler.js.map +1 -1
  108. package/dist/lib/generators/sw-sections/message-handler.js +25 -8
  109. package/dist/lib/generators/sw-sections/message-handler.js.map +1 -1
  110. package/dist/lib/generators/sw-sections/server-push-handler.js +10 -14
  111. package/dist/lib/generators/sw-sections/server-push-handler.js.map +1 -1
  112. package/dist/lib/generators/sw-sections/shared.js +68 -0
  113. package/dist/lib/generators/sw-sections/shared.js.map +1 -0
  114. package/dist/lib/generators/sw-sections/sw-push.js +2 -6
  115. package/dist/lib/generators/sw-sections/sw-push.js.map +1 -1
  116. package/dist/lib/generators/sw-sections/tag-management.js +55 -86
  117. package/dist/lib/generators/sw-sections/tag-management.js.map +1 -1
  118. package/dist/lib/generators/swoff-files-generator.js +185 -66
  119. package/dist/lib/generators/swoff-files-generator.js.map +1 -1
  120. package/dist/lib/shared/config-types.js +68 -72
  121. package/dist/lib/shared/config-types.js.map +1 -1
  122. package/dist/lib/shared/feature-registry.js +198 -0
  123. package/dist/lib/shared/feature-registry.js.map +1 -0
  124. package/dist/lib/utils/detect-framework.js +52 -9
  125. package/dist/lib/utils/detect-framework.js.map +1 -1
  126. package/dist/runtime/api-config.js +2 -2
  127. package/dist/runtime/api-config.js.map +1 -1
  128. package/dist/runtime/auth-adapter.js +179 -0
  129. package/dist/runtime/auth-adapter.js.map +1 -0
  130. package/dist/runtime/auth-state.js +16 -6
  131. package/dist/runtime/auth-state.js.map +1 -1
  132. package/dist/runtime/auth-store.js +219 -213
  133. package/dist/runtime/auth-store.js.map +1 -1
  134. package/dist/runtime/auth-user.js +5 -19
  135. package/dist/runtime/auth-user.js.map +1 -1
  136. package/dist/runtime/background-sync.js +5 -2
  137. package/dist/runtime/background-sync.js.map +1 -1
  138. package/dist/runtime/cache.js +91 -3
  139. package/dist/runtime/cache.js.map +1 -1
  140. package/dist/runtime/client-injector-bundle.js +314 -0
  141. package/dist/runtime/client-injector-bundle.js.map +1 -0
  142. package/dist/runtime/client-injector.js +173 -30
  143. package/dist/runtime/client-injector.js.map +1 -1
  144. package/dist/runtime/connectivity-manager.js +83 -0
  145. package/dist/runtime/connectivity-manager.js.map +1 -0
  146. package/dist/runtime/connectivity.js +83 -0
  147. package/dist/runtime/connectivity.js.map +1 -0
  148. package/dist/runtime/fetch-wrapper.js +26 -59
  149. package/dist/runtime/fetch-wrapper.js.map +1 -1
  150. package/dist/runtime/gql-wrapper.js +15 -9
  151. package/dist/runtime/gql-wrapper.js.map +1 -1
  152. package/dist/runtime/invalidation-tags.js +12 -89
  153. package/dist/runtime/invalidation-tags.js.map +1 -1
  154. package/dist/runtime/mutation-queue.js +83 -31
  155. package/dist/runtime/mutation-queue.js.map +1 -1
  156. package/dist/runtime/mutation-state.js +3 -3
  157. package/dist/runtime/mutation-state.js.map +1 -1
  158. package/dist/runtime/notification.js +65 -0
  159. package/dist/runtime/notification.js.map +1 -0
  160. package/dist/runtime/open-db.js +41 -0
  161. package/dist/runtime/open-db.js.map +1 -0
  162. package/dist/runtime/push.js +15 -27
  163. package/dist/runtime/push.js.map +1 -1
  164. package/dist/runtime/pwa-injector.js +3 -32
  165. package/dist/runtime/pwa-injector.js.map +1 -1
  166. package/dist/runtime/pwa-prompt.js +35 -3
  167. package/dist/runtime/pwa-prompt.js.map +1 -1
  168. package/dist/runtime/reset.js +39 -42
  169. package/dist/runtime/reset.js.map +1 -1
  170. package/dist/runtime/server-push.js +23 -13
  171. package/dist/runtime/server-push.js.map +1 -1
  172. package/dist/runtime/storage.js +32 -0
  173. package/dist/runtime/storage.js.map +1 -0
  174. package/dist/runtime/sw-injector.js +19 -178
  175. package/dist/runtime/sw-injector.js.map +1 -1
  176. package/dist/runtime/sw-version.js +13 -0
  177. package/dist/runtime/sw-version.js.map +1 -0
  178. package/dist/runtime/swoff-api-bundle.js +1491 -0
  179. package/dist/runtime/swoff-api-bundle.js.map +1 -0
  180. package/dist/runtime/type-definitions.js +8 -7
  181. package/dist/runtime/type-definitions.js.map +1 -1
  182. package/dist/runtime/utils.js +4 -0
  183. package/dist/runtime/utils.js.map +1 -1
  184. package/dist/swoff-nkdhhmw8. +18 -0
  185. package/dist/swoff.js +5 -0
  186. package/package.json +1 -3
  187. package/templates/react/useAuth.jsx +7 -4
  188. package/templates/react/useAuth.tsx +14 -14
  189. package/templates/react/useBackgroundSync.jsx +5 -4
  190. package/templates/react/useBackgroundSync.tsx +5 -4
  191. package/templates/react/useCachedFetch.jsx +8 -0
  192. package/templates/react/useCachedFetch.tsx +8 -0
  193. package/templates/react/useMutation.jsx +60 -56
  194. package/templates/react/useMutation.tsx +65 -64
  195. package/templates/react/useMutationQueue.jsx +5 -1
  196. package/templates/react/useMutationQueue.tsx +8 -2
  197. package/templates/react/useMutationState.jsx +3 -4
  198. package/templates/react/useMutationState.tsx +4 -8
  199. package/templates/react/useNetworkStatus.jsx +57 -17
  200. package/templates/react/useNetworkStatus.tsx +42 -20
  201. package/templates/react/useOfflineAnalytics.jsx +42 -0
  202. package/templates/react/useOfflineAnalytics.tsx +50 -0
  203. package/templates/react/usePwaInstall.jsx +26 -0
  204. package/templates/react/usePwaInstall.tsx +26 -0
  205. package/templates/react/useSWUpdate.jsx +7 -52
  206. package/templates/react/useSWUpdate.tsx +12 -51
  207. package/templates/react/useStorageEstimate.jsx +56 -0
  208. package/templates/react/useStorageEstimate.tsx +67 -0
  209. package/dist/__tests__/assemble-sw.test.js +0 -145
  210. package/dist/__tests__/assemble-sw.test.js.map +0 -1
  211. package/dist/__tests__/cli-integration.test.js +0 -231
  212. package/dist/__tests__/cli-integration.test.js.map +0 -1
  213. package/dist/__tests__/config-types.test.js +0 -124
  214. package/dist/__tests__/config-types.test.js.map +0 -1
  215. package/dist/__tests__/detect-language.test.js +0 -51
  216. package/dist/__tests__/detect-language.test.js.map +0 -1
  217. package/dist/__tests__/file-generators.test.js +0 -228
  218. package/dist/__tests__/file-generators.test.js.map +0 -1
  219. package/dist/__tests__/glob-matcher.test.js +0 -86
  220. package/dist/__tests__/glob-matcher.test.js.map +0 -1
  221. package/dist/__tests__/invalidation-tags.test.js +0 -283
  222. package/dist/__tests__/invalidation-tags.test.js.map +0 -1
  223. package/dist/__tests__/loader.test.js +0 -77
  224. package/dist/__tests__/loader.test.js.map +0 -1
  225. package/dist/__tests__/validator.test.js +0 -340
  226. package/dist/__tests__/validator.test.js.map +0 -1
  227. package/templates/react/useCacheInvalidation.jsx +0 -19
  228. package/templates/react/useCacheInvalidation.tsx +0 -52
  229. package/templates/react/useIsFetching.jsx +0 -32
  230. package/templates/react/useIsFetching.tsx +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"generate-guide.js","sourceRoot":"","sources":["../../../src/lib/commands/generate-guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-guide.js","sourceRoot":"","sources":["../../../src/lib/commands/generate-guide.ts"],"names":[],"mappings":"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"}
@@ -1,78 +1,75 @@
1
- /**
2
- * generate command - orchestrates SW and file generation.
3
- * Uses direct imports (no subprocess spawning) for a single status line.
4
- */
5
- import { log } from "../cli/logger.js";
6
1
  import { loadConfigAsync } from "../config/loader.js";
2
+ import { validateConfig } from "../config/validator.js";
7
3
  import { detectProjectLanguage } from "../utils/detect-language.js";
8
- import { statusLine, clearStatusLine } from "../utils/tty-status.js";
9
- import { generateSW } from "../generators/sw-generator.js";
10
4
  import { generateFiles } from "../generators/swoff-files-generator.js";
5
+ import { hasBundler } from "../generators/file-generators/context.js";
11
6
  import { join } from "path";
7
+ import { log } from "../cli/logger.js";
12
8
  export async function generateCommand(projectRoot, options = {}) {
13
- const { swOnly = false, filesOnly = false, language, continueOnSwError = false, } = options;
14
- // log.header("Generating Swoff Files");
9
+ const { language, debug } = options;
15
10
  const { config, configPath } = await loadConfigAsync(projectRoot);
16
11
  if (!configPath) {
17
12
  log.warn('No swoff.config.json found. Run "swoff init" first.');
18
13
  return;
19
14
  }
20
- log.info(`Config: ${configPath}`);
21
- const frameworkName = config.framework ?? "vanilla";
22
- log.info(`Framework: ${frameworkName}`);
23
- const detectedLang = (language ?? detectProjectLanguage(projectRoot));
24
- log.info(`Language: ${detectedLang}`);
25
- if (!filesOnly) {
26
- statusLine("→ Service worker...");
27
- try {
28
- await generateSW({
29
- projectRoot,
30
- configPath,
31
- onStatus: (msg) => statusLine(msg),
32
- });
33
- }
34
- catch (err) {
35
- clearStatusLine();
36
- log.error(`Service worker failed: ${err instanceof Error ? err.message : String(err)}`);
37
- if (!continueOnSwError) {
38
- log.error("Generation aborted. Fix the issue and re-run. Use --continue-on-sw-error to skip SW and continue with files.");
39
- process.exit(1);
40
- }
15
+ const cfgErrors = validateConfig(config);
16
+ if (cfgErrors.length > 0) {
17
+ log.error("Configuration validation failed:");
18
+ for (const err of cfgErrors) {
19
+ log.error(` - ${err}`);
41
20
  }
21
+ return;
42
22
  }
43
- if (!swOnly) {
44
- const ext = detectedLang === "ts" ? "ts" : "js";
45
- const swoffDir = join(projectRoot, "swoff");
46
- const generatedFiles = [];
47
- const ctx = {
48
- config,
49
- projectRoot,
50
- swoffDir,
51
- ext,
52
- generatedFiles,
53
- frameworkName,
54
- };
55
- statusLine("→ Files...");
56
- try {
57
- const files = generateFiles(ctx, (name) => statusLine(`→ ${name}...`));
58
- clearStatusLine();
59
- log.success(`Generated ${files.length} supporting files`);
60
- }
61
- catch (err) {
62
- clearStatusLine();
63
- log.error(`File generation failed: ${err instanceof Error ? err.message : String(err)}`);
64
- }
23
+ log.dim(`Config: ${configPath}`);
24
+ log.dim(`Framework: ${config.framework ?? "vanilla"}`);
25
+ const detectedLang = (language ?? detectProjectLanguage(projectRoot));
26
+ log.dim(`Language: ${detectedLang}`);
27
+ const ext = detectedLang === "ts" ? "ts" : "js";
28
+ const swoffDir = join(projectRoot, "swoff");
29
+ const generatedFiles = [];
30
+ const fwName = config.framework ?? "vanilla";
31
+ const ctx = {
32
+ config,
33
+ projectRoot,
34
+ swoffDir,
35
+ ext,
36
+ generatedFiles,
37
+ frameworkName: fwName,
38
+ hasBundler: hasBundler(fwName),
39
+ debug: debug ?? false,
40
+ };
41
+ try {
42
+ const files = generateFiles(ctx);
43
+ log.success(`Generated ${files.length} supporting files`);
44
+ }
45
+ catch (err) {
46
+ log.error(`File generation failed: ${err instanceof Error ? err.message : String(err)}`);
47
+ return;
65
48
  }
66
49
  log.success("Generation complete!");
50
+ if (!config.build.precacheDirs || Object.keys(config.build.precacheDirs).length === 0) {
51
+ log.normal("");
52
+ log.warn("No directories configured for precaching. Only explicit fallback routes will be precached.");
53
+ log.help(" Add precacheDirs to your swoff.config.json build section to precache assets:");
54
+ log.help(` "precacheDirs": { "${config.build.outputDir}": { "prefix": "/" } }`);
55
+ }
67
56
  if (config.features.pwa.enabled) {
68
57
  log.normal("");
69
- log.help("PWA assets: run 'npx @swoff/cli assets --source <path>' to generate icons and splash screens");
58
+ log.help(`For PWA assets: run 'npx @swoff/assets --source <path>' to generate icons, splash screens, and manifest.json`);
59
+ }
60
+ if (config.features.auth.enabled && hasBundler(fwName)) {
61
+ log.normal("");
62
+ log.help(`Auth (${config.features.auth.type})`);
63
+ log.normal(" Edit swoff/auth/adapter.ts to match your backend:");
64
+ log.normal(" - getHeaders(): return auth headers for fetch requests");
65
+ if (config.features.auth.type !== "cookie") {
66
+ log.normal(" - refresh(): implement token/session refresh");
67
+ }
68
+ log.normal(" - fetchUser(): implement fetching current user (/api/me)");
69
+ log.normal(" Use { auth: true } in fetchWithCache for authenticated requests");
70
70
  }
71
71
  log.normal("");
72
- log.help("1. Read swoff/GUIDE.md for documentation links");
73
- log.normal("");
74
- log.help("2. After each build, run the SW generator:");
75
- log.help(" node swoff/sw/generator.js");
76
- log.help(" (Add this to your build script if you want it automated)");
72
+ log.normal("1. After each build, run the SW generator:");
73
+ log.normal(" node swoff/sw/generator.js (Add this to your build script if you want it automated)");
77
74
  }
78
75
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/lib/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/lib/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -3,21 +3,182 @@
3
3
  */
4
4
  import { writeFileSync, existsSync } from "fs";
5
5
  import { join } from "path";
6
- import { createInterface } from "readline";
7
6
  import { log } from "../cli/logger.js";
8
- import { defaultInitConfig, defaultPwaAssets, } from "../shared/config-types.js";
9
- import { detectFramework } from "../utils/detect-framework.js";
10
- function ask(question) {
11
- const rl = createInterface({ input: process.stdin, output: process.stdout });
12
- return new Promise((resolve) => {
13
- rl.question(` ${question} `, (answer) => {
14
- rl.close();
15
- resolve(answer.trim());
16
- });
17
- });
18
- }
7
+ import { defaultInitConfig, deepMerge, } from "../shared/config-types.js";
8
+ import { detectFramework, } from "../utils/detect-framework.js";
9
+ const FRAMEWORK_PRESETS = {
10
+ nextjs: {
11
+ build: {
12
+ outputDir: "public",
13
+ },
14
+ features: {
15
+ serviceWorker: {
16
+ strategy: {
17
+ default: "network-first",
18
+ patterns: {
19
+ "/_next/static/*": "cache-first",
20
+ },
21
+ ignoreQueryParams: ["_rsc"],
22
+ },
23
+ navigation: {
24
+ mode: "ssr",
25
+ },
26
+ },
27
+ },
28
+ },
29
+ remix: {
30
+ features: {
31
+ serviceWorker: {
32
+ strategy: {
33
+ default: "network-first",
34
+ ignoreQueryParams: ["_data"],
35
+ },
36
+ navigation: {
37
+ mode: "ssr",
38
+ },
39
+ },
40
+ },
41
+ },
42
+ astro: {
43
+ features: {
44
+ serviceWorker: {
45
+ navigation: {
46
+ mode: "ssr",
47
+ },
48
+ },
49
+ },
50
+ },
51
+ nuxt: {
52
+ features: {
53
+ serviceWorker: {
54
+ strategy: {
55
+ default: "network-first",
56
+ },
57
+ navigation: {
58
+ mode: "ssr",
59
+ },
60
+ },
61
+ },
62
+ },
63
+ sveltekit: {
64
+ features: {
65
+ serviceWorker: {
66
+ strategy: {
67
+ default: "network-first",
68
+ },
69
+ navigation: {
70
+ mode: "ssr",
71
+ },
72
+ },
73
+ },
74
+ },
75
+ "react-spa": {
76
+ build: {
77
+ outputDir: "dist",
78
+ },
79
+ features: {
80
+ serviceWorker: {
81
+ navigation: {
82
+ mode: "spa",
83
+ },
84
+ },
85
+ },
86
+ },
87
+ "tanstack-start-react": {
88
+ build: {
89
+ outputDir: ".output/public",
90
+ },
91
+ features: {
92
+ serviceWorker: {
93
+ strategy: {
94
+ default: "network-first",
95
+ patterns: {
96
+ "/_serverFn/*": "network-only",
97
+ },
98
+ },
99
+ navigation: {
100
+ mode: "ssr",
101
+ },
102
+ },
103
+ },
104
+ },
105
+ laravel: {
106
+ build: {
107
+ outputDir: "public",
108
+ },
109
+ features: {
110
+ serviceWorker: {
111
+ navigation: {
112
+ mode: "ssr",
113
+ },
114
+ strategy: {
115
+ default: "network-first",
116
+ },
117
+ },
118
+ },
119
+ },
120
+ django: {
121
+ build: {
122
+ outputDir: "static",
123
+ },
124
+ features: {
125
+ serviceWorker: {
126
+ navigation: {
127
+ mode: "ssr",
128
+ },
129
+ strategy: {
130
+ default: "network-first",
131
+ },
132
+ },
133
+ },
134
+ },
135
+ flask: {
136
+ build: {
137
+ outputDir: "static",
138
+ },
139
+ features: {
140
+ serviceWorker: {
141
+ navigation: {
142
+ mode: "ssr",
143
+ },
144
+ strategy: {
145
+ default: "network-first",
146
+ },
147
+ },
148
+ },
149
+ },
150
+ rails: {
151
+ build: {
152
+ outputDir: "public",
153
+ },
154
+ features: {
155
+ serviceWorker: {
156
+ navigation: {
157
+ mode: "ssr",
158
+ },
159
+ strategy: {
160
+ default: "network-first",
161
+ },
162
+ },
163
+ },
164
+ },
165
+ go: {
166
+ build: {
167
+ outputDir: "static",
168
+ },
169
+ features: {
170
+ serviceWorker: {
171
+ navigation: {
172
+ mode: "ssr",
173
+ },
174
+ strategy: {
175
+ default: "network-first",
176
+ },
177
+ },
178
+ },
179
+ },
180
+ };
19
181
  export async function initCommand(projectRoot, framework) {
20
- // log.header("Initializing Swoff");
21
182
  const configFiles = ["swoff.config.json", "swoff.config.js"];
22
183
  const existingConfig = configFiles.find((f) => existsSync(join(projectRoot, f)));
23
184
  if (existingConfig) {
@@ -25,25 +186,20 @@ export async function initCommand(projectRoot, framework) {
25
186
  log.info("To reinitialize, delete the config file first.");
26
187
  return;
27
188
  }
28
- const detected = framework || detectFramework(projectRoot);
29
- const config = {
30
- $schema: defaultInitConfig.$schema,
31
- configVersion: defaultInitConfig.configVersion,
32
- enabled: defaultInitConfig.enabled,
189
+ const detected = (framework || detectFramework(projectRoot));
190
+ const preset = FRAMEWORK_PRESETS[detected] || {};
191
+ // Start with default config, deep-merge the preset
192
+ const config = deepMerge({
193
+ ...defaultInitConfig,
33
194
  framework: detected,
34
- build: defaultInitConfig.build,
35
- features: {
36
- ...defaultInitConfig.features,
37
- pwa: {
38
- ...defaultInitConfig.features.pwa,
39
- assets: { ...defaultPwaAssets },
40
- },
41
- },
42
- };
43
- const logoPath = await ask("Path to your app logo (SVG, PNG, JPG) — leave empty for placeholder:");
44
- if (logoPath) {
45
- config.features.pwa.assets.source = logoPath;
46
- log.info("Logo source saved.");
195
+ }, preset);
196
+ // Validate and adjust build output — ensure all build fields are present
197
+ if (!config.build)
198
+ config.build = defaultInitConfig.build;
199
+ // Auto-populate precacheDirs from outputDir so users get directory precaching out of the box
200
+ const cfgBuild = config.build;
201
+ if (!cfgBuild.precacheDirs || Object.keys(cfgBuild.precacheDirs).length === 0) {
202
+ cfgBuild.precacheDirs = { [cfgBuild.outputDir]: { prefix: "/" } };
47
203
  }
48
204
  const configPath = join(projectRoot, "swoff.config.json");
49
205
  writeFileSync(configPath, JSON.stringify(config, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/lib/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/lib/commands/init.ts"],"names":[],"mappings":"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"}
@@ -20,17 +20,15 @@ export async function validateCommand(projectRoot) {
20
20
  }
21
21
  log.success("Configuration is valid!");
22
22
  log.info("\nConfig summary:");
23
- log.help(`Version: ${config.features.serviceWorker.version}`);
24
- log.help(`Min supported version: ${config.features.serviceWorker.minSupportedVersion}`);
25
23
  log.help(`Default strategy: ${config.features.serviceWorker.strategy.default}`);
26
- log.help(`Auto update: ${config.features.serviceWorker.autoUpdate}`);
24
+ log.help(`Auto activate: ${config.features.serviceWorker.autoActivate}`);
27
25
  log.help(`Features enabled: ${Object.entries(config.features)
28
26
  .filter(([k, v]) => {
29
27
  if (k === "serviceWorker")
30
28
  return false;
31
29
  if (typeof v === "object" && v !== null)
32
30
  return v.enabled === true;
33
- return v === true;
31
+ return typeof v === "boolean" && v === true;
34
32
  })
35
33
  .map(([k]) => k)
36
34
  .join(", ")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/lib/commands/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB;IACvD,gDAAgD;IAEhD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GACxC,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,cAAc,UAAU,KAAK,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,cAAc,CAAC,MAA4C,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9B,GAAG,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CACN,0BAA0B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAC9E,CAAC;IACF,GAAG,CAAC,IAAI,CACN,qBAAqB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CACtE,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CACN,qBAAqB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SACjD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACjB,IAAI,CAAC,KAAK,eAAe;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YACrC,OAAQ,CAA6B,CAAC,OAAO,KAAK,IAAI,CAAC;QACzD,OAAO,CAAC,KAAK,IAAI,CAAC;IACpB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/lib/commands/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB;IACvD,gDAAgD;IAEhD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GACxC,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,cAAc,UAAU,KAAK,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,cAAc,CAAC,MAA4C,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9B,GAAG,CAAC,IAAI,CACN,qBAAqB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CACtE,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IACzE,GAAG,CAAC,IAAI,CACN,qBAAqB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SACjD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACjB,IAAI,CAAC,KAAK,eAAe;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YACrC,OAAQ,CAA6B,CAAC,OAAO,KAAK,IAAI,CAAC;QACzD,OAAO,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;IAC9C,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;AACJ,CAAC"}
@@ -4,17 +4,9 @@
4
4
  */
5
5
  import { readFileSync, existsSync } from "fs";
6
6
  import { join } from "path";
7
- import { defaultConfig, mergeConfigs, CONFIG_VERSION } from "../shared/config-types.js";
8
- function checkConfigVersion(config) {
9
- if (config.configVersion === undefined) {
10
- console.warn("[swoff] Config is missing configVersion — the format may have changed since it was created.\n" +
11
- " Add \"configVersion\": 1 to your swoff.config.json to suppress this warning.");
12
- }
13
- else if (config.configVersion > CONFIG_VERSION) {
14
- console.warn(`[swoff] Config has configVersion ${config.configVersion}, but this CLI version supports up to ${CONFIG_VERSION}.\n` +
15
- " Some settings may not be recognized. Upgrade @swoff/cli for full compatibility.");
16
- }
17
- }
7
+ import { pathToFileURL } from "url";
8
+ import { defaultConfig, mergeConfigs } from "../shared/config-types.js";
9
+ import { log } from "../cli/logger.js";
18
10
  /**
19
11
  * Load config from project root. Tries JSON first, then JS.
20
12
  * Falls back to defaults if no config found or parse fails.
@@ -27,11 +19,10 @@ export function loadConfig(projectRoot, explicitPath) {
27
19
  try {
28
20
  const raw = JSON.parse(readFileSync(explicitPath, "utf8"));
29
21
  const config = mergeConfigs(defaultConfig, raw);
30
- checkConfigVersion(config);
31
22
  return { config, configPath: explicitPath, configSource: "JSON" };
32
23
  }
33
24
  catch {
34
- console.warn(`[swoff] Warning: Failed to parse explicit config "${explicitPath}" — falling back to defaults`);
25
+ log.warn(`Failed to parse explicit config "${explicitPath}" — falling back to defaults`);
35
26
  return { config: defaultConfig, configPath: null, configSource: "defaults" };
36
27
  }
37
28
  }
@@ -45,17 +36,12 @@ export function loadConfig(projectRoot, explicitPath) {
45
36
  try {
46
37
  const raw = JSON.parse(readFileSync(path, "utf8"));
47
38
  const config = mergeConfigs(defaultConfig, raw);
48
- checkConfigVersion(config);
49
39
  return { config, configPath: path, configSource: "JSON" };
50
40
  }
51
41
  catch {
52
- console.warn(`[swoff] Warning: Failed to parse "${path}" — falling back to defaults`);
42
+ log.warn(`Failed to parse "${path}" — falling back to defaults`);
53
43
  }
54
44
  }
55
- // JS configs require the async loader
56
- if (file.endsWith(".js")) {
57
- throw new Error(`JavaScript config files require the async loader. Use loadConfigAsync() instead of loadConfig() for "${path}".`);
58
- }
59
45
  }
60
46
  return { config: defaultConfig, configPath: null, configSource: "defaults" };
61
47
  }
@@ -63,20 +49,43 @@ export function loadConfig(projectRoot, explicitPath) {
63
49
  * Async version that also tries to load .js configs via dynamic import.
64
50
  */
65
51
  export async function loadConfigAsync(projectRoot, explicitPath) {
66
- const syncResult = loadConfig(projectRoot, explicitPath);
67
- if (syncResult.configPath && syncResult.configPath.endsWith(".js")) {
52
+ // Handle explicit JS path directly
53
+ if (explicitPath && existsSync(explicitPath) && explicitPath.endsWith(".js")) {
68
54
  try {
69
- const mod = await import(syncResult.configPath);
55
+ const fileUrl = pathToFileURL(explicitPath).href;
56
+ const mod = await import(fileUrl);
70
57
  const raw = (mod.default || mod);
71
58
  const config = mergeConfigs(defaultConfig, raw);
72
- checkConfigVersion(config);
73
- return { config, configPath: syncResult.configPath, configSource: "JavaScript" };
59
+ return { config, configPath: explicitPath, configSource: "JavaScript" };
74
60
  }
75
61
  catch {
76
- console.warn(`[swoff] Warning: Failed to load JS config "${syncResult.configPath}" — falling back to defaults`);
62
+ log.warn(`Failed to load JS config "${explicitPath}" — falling back to defaults`);
77
63
  return { config: defaultConfig, configPath: null, configSource: "defaults" };
78
64
  }
79
65
  }
66
+ // Try JSON via sync loader (handles explicit JSON and default JSON paths)
67
+ const syncResult = loadConfig(projectRoot, explicitPath);
68
+ if (syncResult.configPath) {
69
+ return syncResult;
70
+ }
71
+ // If an explicit path was given and sync loader didn't find it, stop here
72
+ if (explicitPath) {
73
+ return syncResult;
74
+ }
75
+ // No config found yet — try swoff.config.js
76
+ const jsPath = join(projectRoot, "swoff.config.js");
77
+ if (existsSync(jsPath)) {
78
+ try {
79
+ const fileUrl = pathToFileURL(jsPath).href;
80
+ const mod = await import(fileUrl);
81
+ const raw = (mod.default || mod);
82
+ const config = mergeConfigs(defaultConfig, raw);
83
+ return { config, configPath: jsPath, configSource: "JavaScript" };
84
+ }
85
+ catch {
86
+ log.warn(`Failed to load JS config "${jsPath}" — falling back to defaults`);
87
+ }
88
+ }
80
89
  return syncResult;
81
90
  }
82
91
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"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"}