@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.
Files changed (224) hide show
  1. package/README.md +28 -32
  2. package/dist/index.js +2 -13
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/cli/help.js +3 -8
  5. package/dist/lib/cli/help.js.map +1 -1
  6. package/dist/lib/commands/add.js +29 -87
  7. package/dist/lib/commands/add.js.map +1 -1
  8. package/dist/lib/commands/generate-guide.js +16 -30
  9. package/dist/lib/commands/generate-guide.js.map +1 -1
  10. package/dist/lib/commands/generate.js +31 -6
  11. package/dist/lib/commands/generate.js.map +1 -1
  12. package/dist/lib/commands/init.js +188 -11
  13. package/dist/lib/commands/init.js.map +1 -1
  14. package/dist/lib/commands/validate.js +2 -4
  15. package/dist/lib/commands/validate.js.map +1 -1
  16. package/dist/lib/config/loader.js +34 -25
  17. package/dist/lib/config/loader.js.map +1 -1
  18. package/dist/lib/config/validator.js +202 -96
  19. package/dist/lib/config/validator.js.map +1 -1
  20. package/dist/lib/generators/file-generators/api-config.js +1 -1
  21. package/dist/lib/generators/file-generators/api-config.js.map +1 -1
  22. package/dist/lib/generators/file-generators/auth-adapter.js +13 -0
  23. package/dist/lib/generators/file-generators/auth-adapter.js.map +1 -0
  24. package/dist/lib/generators/file-generators/auth-check.js +40 -0
  25. package/dist/lib/generators/file-generators/auth-check.js.map +1 -0
  26. package/dist/lib/generators/file-generators/auth-store.js +2 -5
  27. package/dist/lib/generators/file-generators/auth-store.js.map +1 -1
  28. package/dist/lib/generators/file-generators/background-sync.js +1 -1
  29. package/dist/lib/generators/file-generators/background-sync.js.map +1 -1
  30. package/dist/lib/generators/file-generators/cache.js +2 -1
  31. package/dist/lib/generators/file-generators/cache.js.map +1 -1
  32. package/dist/lib/generators/file-generators/client-injector-bundle.js +15 -0
  33. package/dist/lib/generators/file-generators/client-injector-bundle.js.map +1 -0
  34. package/dist/lib/generators/file-generators/client-injector.js +2 -1
  35. package/dist/lib/generators/file-generators/client-injector.js.map +1 -1
  36. package/dist/lib/generators/file-generators/connectivity-manager.js +12 -0
  37. package/dist/lib/generators/file-generators/connectivity-manager.js.map +1 -0
  38. package/dist/lib/generators/file-generators/connectivity.js +12 -0
  39. package/dist/lib/generators/file-generators/connectivity.js.map +1 -0
  40. package/dist/lib/generators/file-generators/context.js +7 -0
  41. package/dist/lib/generators/file-generators/context.js.map +1 -1
  42. package/dist/lib/generators/file-generators/fetch-wrapper.js +1 -1
  43. package/dist/lib/generators/file-generators/fetch-wrapper.js.map +1 -1
  44. package/dist/lib/generators/file-generators/generate-framework-adapters.js +29 -20
  45. package/dist/lib/generators/file-generators/generate-framework-adapters.js.map +1 -1
  46. package/dist/lib/generators/file-generators/gql-wrapper.js +2 -2
  47. package/dist/lib/generators/file-generators/gql-wrapper.js.map +1 -1
  48. package/dist/lib/generators/file-generators/guide-generator.js +51 -1
  49. package/dist/lib/generators/file-generators/guide-generator.js.map +1 -1
  50. package/dist/lib/generators/file-generators/invalidation-tags.js +2 -3
  51. package/dist/lib/generators/file-generators/invalidation-tags.js.map +1 -1
  52. package/dist/lib/generators/file-generators/mutation-queue.js +2 -2
  53. package/dist/lib/generators/file-generators/mutation-queue.js.map +1 -1
  54. package/dist/lib/generators/file-generators/mutation-state.js +1 -1
  55. package/dist/lib/generators/file-generators/mutation-state.js.map +1 -1
  56. package/dist/lib/generators/file-generators/notification-generator.js +6 -0
  57. package/dist/lib/generators/file-generators/notification-generator.js.map +1 -0
  58. package/dist/lib/generators/file-generators/open-db.js +6 -0
  59. package/dist/lib/generators/file-generators/open-db.js.map +1 -0
  60. package/dist/lib/generators/file-generators/push.js +1 -2
  61. package/dist/lib/generators/file-generators/push.js.map +1 -1
  62. package/dist/lib/generators/file-generators/pwa-install.js +2 -6
  63. package/dist/lib/generators/file-generators/pwa-install.js.map +1 -1
  64. package/dist/lib/generators/file-generators/server-push.js +1 -1
  65. package/dist/lib/generators/file-generators/server-push.js.map +1 -1
  66. package/dist/lib/generators/file-generators/storage-generator.js +6 -0
  67. package/dist/lib/generators/file-generators/storage-generator.js.map +1 -0
  68. package/dist/lib/generators/file-generators/storage-notify.js +6 -0
  69. package/dist/lib/generators/file-generators/storage-notify.js.map +1 -0
  70. package/dist/lib/generators/file-generators/storage.js +6 -0
  71. package/dist/lib/generators/file-generators/storage.js.map +1 -0
  72. package/dist/lib/generators/file-generators/sw-generator-build.js +96 -45
  73. package/dist/lib/generators/file-generators/sw-generator-build.js.map +1 -1
  74. package/dist/lib/generators/file-generators/sw-injector.js +0 -4
  75. package/dist/lib/generators/file-generators/sw-injector.js.map +1 -1
  76. package/dist/lib/generators/file-generators/sw-template.js +8 -9
  77. package/dist/lib/generators/file-generators/sw-template.js.map +1 -1
  78. package/dist/lib/generators/file-generators/sw-version-gen.js +32 -0
  79. package/dist/lib/generators/file-generators/sw-version-gen.js.map +1 -0
  80. package/dist/lib/generators/file-generators/swoff-api-bundle.js +51 -0
  81. package/dist/lib/generators/file-generators/swoff-api-bundle.js.map +1 -0
  82. package/dist/lib/generators/sw-build-utils.js +69 -0
  83. package/dist/lib/generators/sw-build-utils.js.map +1 -0
  84. package/dist/lib/generators/sw-generator.js +23 -34
  85. package/dist/lib/generators/sw-generator.js.map +1 -1
  86. package/dist/lib/generators/sw-sections/activate-handler.js +74 -23
  87. package/dist/lib/generators/sw-sections/activate-handler.js.map +1 -1
  88. package/dist/lib/generators/sw-sections/assemble-sw.js +15 -94
  89. package/dist/lib/generators/sw-sections/assemble-sw.js.map +1 -1
  90. package/dist/lib/generators/sw-sections/background-sync-handler.js +74 -72
  91. package/dist/lib/generators/sw-sections/background-sync-handler.js.map +1 -1
  92. package/dist/lib/generators/sw-sections/batch-refresh-queue.js +102 -0
  93. package/dist/lib/generators/sw-sections/batch-refresh-queue.js.map +1 -0
  94. package/dist/lib/generators/sw-sections/config-header.js +2 -3
  95. package/dist/lib/generators/sw-sections/config-header.js.map +1 -1
  96. package/dist/lib/generators/sw-sections/default-template.js +59 -6
  97. package/dist/lib/generators/sw-sections/default-template.js.map +1 -1
  98. package/dist/lib/generators/sw-sections/fetch-handler.js +621 -495
  99. package/dist/lib/generators/sw-sections/fetch-handler.js.map +1 -1
  100. package/dist/lib/generators/sw-sections/install-handler.js +40 -23
  101. package/dist/lib/generators/sw-sections/install-handler.js.map +1 -1
  102. package/dist/lib/generators/sw-sections/message-handler.js +25 -8
  103. package/dist/lib/generators/sw-sections/message-handler.js.map +1 -1
  104. package/dist/lib/generators/sw-sections/server-push-handler.js +10 -14
  105. package/dist/lib/generators/sw-sections/server-push-handler.js.map +1 -1
  106. package/dist/lib/generators/sw-sections/shared.js +68 -0
  107. package/dist/lib/generators/sw-sections/shared.js.map +1 -0
  108. package/dist/lib/generators/sw-sections/sw-push.js +2 -6
  109. package/dist/lib/generators/sw-sections/sw-push.js.map +1 -1
  110. package/dist/lib/generators/sw-sections/tag-management.js +55 -86
  111. package/dist/lib/generators/sw-sections/tag-management.js.map +1 -1
  112. package/dist/lib/generators/swoff-files-generator.js +183 -59
  113. package/dist/lib/generators/swoff-files-generator.js.map +1 -1
  114. package/dist/lib/shared/config-types.js +67 -63
  115. package/dist/lib/shared/config-types.js.map +1 -1
  116. package/dist/lib/shared/feature-registry.js +198 -0
  117. package/dist/lib/shared/feature-registry.js.map +1 -0
  118. package/dist/lib/utils/detect-framework.js +52 -9
  119. package/dist/lib/utils/detect-framework.js.map +1 -1
  120. package/dist/runtime/api-config.js +2 -2
  121. package/dist/runtime/api-config.js.map +1 -1
  122. package/dist/runtime/auth-adapter.js +179 -0
  123. package/dist/runtime/auth-adapter.js.map +1 -0
  124. package/dist/runtime/auth-state.js +16 -6
  125. package/dist/runtime/auth-state.js.map +1 -1
  126. package/dist/runtime/auth-store.js +219 -213
  127. package/dist/runtime/auth-store.js.map +1 -1
  128. package/dist/runtime/auth-user.js +5 -19
  129. package/dist/runtime/auth-user.js.map +1 -1
  130. package/dist/runtime/background-sync.js +5 -2
  131. package/dist/runtime/background-sync.js.map +1 -1
  132. package/dist/runtime/cache.js +91 -3
  133. package/dist/runtime/cache.js.map +1 -1
  134. package/dist/runtime/client-injector-bundle.js +314 -0
  135. package/dist/runtime/client-injector-bundle.js.map +1 -0
  136. package/dist/runtime/client-injector.js +173 -30
  137. package/dist/runtime/client-injector.js.map +1 -1
  138. package/dist/runtime/connectivity-manager.js +83 -0
  139. package/dist/runtime/connectivity-manager.js.map +1 -0
  140. package/dist/runtime/connectivity.js +83 -0
  141. package/dist/runtime/connectivity.js.map +1 -0
  142. package/dist/runtime/fetch-wrapper.js +26 -59
  143. package/dist/runtime/fetch-wrapper.js.map +1 -1
  144. package/dist/runtime/gql-wrapper.js +15 -9
  145. package/dist/runtime/gql-wrapper.js.map +1 -1
  146. package/dist/runtime/invalidation-tags.js +12 -89
  147. package/dist/runtime/invalidation-tags.js.map +1 -1
  148. package/dist/runtime/mutation-queue.js +83 -31
  149. package/dist/runtime/mutation-queue.js.map +1 -1
  150. package/dist/runtime/mutation-state.js +3 -3
  151. package/dist/runtime/mutation-state.js.map +1 -1
  152. package/dist/runtime/notification.js +65 -0
  153. package/dist/runtime/notification.js.map +1 -0
  154. package/dist/runtime/open-db.js +41 -0
  155. package/dist/runtime/open-db.js.map +1 -0
  156. package/dist/runtime/push.js +15 -27
  157. package/dist/runtime/push.js.map +1 -1
  158. package/dist/runtime/pwa-injector.js +3 -32
  159. package/dist/runtime/pwa-injector.js.map +1 -1
  160. package/dist/runtime/pwa-prompt.js +35 -3
  161. package/dist/runtime/pwa-prompt.js.map +1 -1
  162. package/dist/runtime/reset.js +39 -42
  163. package/dist/runtime/reset.js.map +1 -1
  164. package/dist/runtime/server-push.js +23 -13
  165. package/dist/runtime/server-push.js.map +1 -1
  166. package/dist/runtime/storage.js +32 -0
  167. package/dist/runtime/storage.js.map +1 -0
  168. package/dist/runtime/sw-injector.js +19 -178
  169. package/dist/runtime/sw-injector.js.map +1 -1
  170. package/dist/runtime/sw-version.js +13 -0
  171. package/dist/runtime/sw-version.js.map +1 -0
  172. package/dist/runtime/swoff-api-bundle.js +1491 -0
  173. package/dist/runtime/swoff-api-bundle.js.map +1 -0
  174. package/dist/runtime/type-definitions.js +8 -7
  175. package/dist/runtime/type-definitions.js.map +1 -1
  176. package/dist/runtime/utils.js +4 -0
  177. package/dist/runtime/utils.js.map +1 -1
  178. package/dist/swoff-nkdhhmw8. +18 -0
  179. package/dist/swoff.js +5 -0
  180. package/package.json +1 -1
  181. package/templates/react/useAuth.jsx +7 -4
  182. package/templates/react/useAuth.tsx +14 -14
  183. package/templates/react/useBackgroundSync.jsx +5 -4
  184. package/templates/react/useBackgroundSync.tsx +5 -4
  185. package/templates/react/useCachedFetch.jsx +8 -0
  186. package/templates/react/useCachedFetch.tsx +8 -0
  187. package/templates/react/useMutation.jsx +60 -56
  188. package/templates/react/useMutation.tsx +65 -64
  189. package/templates/react/useMutationQueue.jsx +5 -1
  190. package/templates/react/useMutationQueue.tsx +8 -2
  191. package/templates/react/useMutationState.jsx +3 -4
  192. package/templates/react/useMutationState.tsx +4 -8
  193. package/templates/react/useNetworkStatus.jsx +57 -17
  194. package/templates/react/useNetworkStatus.tsx +42 -20
  195. package/templates/react/useOfflineAnalytics.jsx +42 -0
  196. package/templates/react/useOfflineAnalytics.tsx +50 -0
  197. package/templates/react/usePwaInstall.jsx +26 -0
  198. package/templates/react/usePwaInstall.tsx +26 -0
  199. package/templates/react/useSWUpdate.jsx +7 -52
  200. package/templates/react/useSWUpdate.tsx +12 -51
  201. package/templates/react/useStorageEstimate.jsx +56 -0
  202. package/templates/react/useStorageEstimate.tsx +67 -0
  203. package/dist/__tests__/assemble-sw.test.js +0 -145
  204. package/dist/__tests__/assemble-sw.test.js.map +0 -1
  205. package/dist/__tests__/cli-integration.test.js +0 -231
  206. package/dist/__tests__/cli-integration.test.js.map +0 -1
  207. package/dist/__tests__/config-types.test.js +0 -124
  208. package/dist/__tests__/config-types.test.js.map +0 -1
  209. package/dist/__tests__/detect-language.test.js +0 -51
  210. package/dist/__tests__/detect-language.test.js.map +0 -1
  211. package/dist/__tests__/file-generators.test.js +0 -228
  212. package/dist/__tests__/file-generators.test.js.map +0 -1
  213. package/dist/__tests__/glob-matcher.test.js +0 -86
  214. package/dist/__tests__/glob-matcher.test.js.map +0 -1
  215. package/dist/__tests__/invalidation-tags.test.js +0 -283
  216. package/dist/__tests__/invalidation-tags.test.js.map +0 -1
  217. package/dist/__tests__/loader.test.js +0 -77
  218. package/dist/__tests__/loader.test.js.map +0 -1
  219. package/dist/__tests__/validator.test.js +0 -340
  220. package/dist/__tests__/validator.test.js.map +0 -1
  221. package/templates/react/useCacheInvalidation.jsx +0 -19
  222. package/templates/react/useCacheInvalidation.tsx +0 -52
  223. package/templates/react/useIsFetching.jsx +0 -32
  224. package/templates/react/useIsFetching.tsx +0 -32
@@ -4,10 +4,181 @@
4
4
  import { writeFileSync, existsSync } from "fs";
5
5
  import { join } from "path";
6
6
  import { log } from "../cli/logger.js";
7
- import { defaultInitConfig } from "../shared/config-types.js";
8
- import { detectFramework } from "../utils/detect-framework.js";
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
+ };
9
181
  export async function initCommand(projectRoot, framework) {
10
- // log.header("Initializing Swoff");
11
182
  const configFiles = ["swoff.config.json", "swoff.config.js"];
12
183
  const existingConfig = configFiles.find((f) => existsSync(join(projectRoot, f)));
13
184
  if (existingConfig) {
@@ -15,15 +186,21 @@ export async function initCommand(projectRoot, framework) {
15
186
  log.info("To reinitialize, delete the config file first.");
16
187
  return;
17
188
  }
18
- const detected = framework || detectFramework(projectRoot);
19
- const config = {
20
- $schema: defaultInitConfig.$schema,
21
- configVersion: defaultInitConfig.configVersion,
22
- 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,
23
194
  framework: detected,
24
- build: defaultInitConfig.build,
25
- features: defaultInitConfig.features,
26
- };
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: "/" } };
203
+ }
27
204
  const configPath = join(projectRoot, "swoff.config.json");
28
205
  writeFileSync(configPath, JSON.stringify(config, null, 2));
29
206
  log.info("Created swoff.config.json");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/lib/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAoB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,SAAkB;IACvE,oCAAoC;IAEpC,MAAM,WAAW,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CACjC,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,kBAAkB,cAAc,kBAAkB,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,iBAAiB,CAAC,OAAO;QAClC,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,OAAO,EAAE,iBAAiB,CAAC,OAAO;QAClC,SAAS,EAAE,QAAoC;QAC/C,KAAK,EAAE,iBAAiB,CAAC,KAAK;QAC9B,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;KACrC,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC1D,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAEtC,GAAG,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5B,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAChE,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC5C,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;AAC/D,CAAC"}
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,2BAA2B,CAAC;AAQ1G,SAAS,kBAAkB,CAAC,MAAmB;IAC7C,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CACV,+FAA+F;YAC/F,gFAAgF,CACjF,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,aAAa,GAAG,cAAc,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CACV,oCAAoC,MAAM,CAAC,aAAa,yCAAyC,cAAc,KAAK;YACpH,mFAAmF,CACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,YAAqB;IACnE,MAAM,WAAW,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAE7D,2CAA2C;IAC3C,IAAI,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBAChD,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,qDAAqD,YAAY,8BAA8B,CAAC,CAAC;gBAC9G,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEhC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBAChD,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,qCAAqC,IAAI,8BAA8B,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,wGAAwG,IAAI,IAAI,CACjH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,YAAqB;IAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAyB,CAAC;YACzD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAChD,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,8CAA8C,UAAU,CAAC,UAAU,8BAA8B,CAAC,CAAC;YAChH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"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"}