@common.js/next-intl 4.13.1

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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/config.d.ts +4 -0
  4. package/dist/cjs/development/ExtractorCodec-D9Tw618d.cjs +7 -0
  5. package/dist/cjs/development/JSONCodec-CzA8ubPy.cjs +55 -0
  6. package/dist/cjs/development/POCodec-CWGHK-Gp.cjs +111 -0
  7. package/dist/cjs/development/plugin-DlFYUFWh.cjs +1613 -0
  8. package/dist/cjs/development/plugin.cjs +13 -0
  9. package/dist/esm/development/config.js +13 -0
  10. package/dist/esm/development/extractor/ExtractionCompiler.js +284 -0
  11. package/dist/esm/development/extractor/catalog/CatalogLocales.js +398 -0
  12. package/dist/esm/development/extractor/catalog/CatalogManager.js +1515 -0
  13. package/dist/esm/development/extractor/catalog/CatalogPersister.js +341 -0
  14. package/dist/esm/development/extractor/catalog/SaveScheduler.js +314 -0
  15. package/dist/esm/development/extractor/catalogLoader.js +288 -0
  16. package/dist/esm/development/extractor/extractMessages.js +180 -0
  17. package/dist/esm/development/extractor/extractionLoader.js +37 -0
  18. package/dist/esm/development/extractor/extractor/LRUCache.js +68 -0
  19. package/dist/esm/development/extractor/extractor/MessageExtractor.js +273 -0
  20. package/dist/esm/development/extractor/format/ExtractorCodec.js +13 -0
  21. package/dist/esm/development/extractor/format/codecs/JSONCodec.js +91 -0
  22. package/dist/esm/development/extractor/format/codecs/POCodec.js +227 -0
  23. package/dist/esm/development/extractor/format/index.js +289 -0
  24. package/dist/esm/development/extractor/normalizeExtractorConfig.js +91 -0
  25. package/dist/esm/development/extractor/source/SourceFileFilter.js +104 -0
  26. package/dist/esm/development/extractor/source/SourceFileScanner.js +297 -0
  27. package/dist/esm/development/extractor/source/SourceFileWatcher.js +610 -0
  28. package/dist/esm/development/extractor/utils.js +133 -0
  29. package/dist/esm/development/extractor.js +25 -0
  30. package/dist/esm/development/index.react-client.js +59 -0
  31. package/dist/esm/development/index.react-server.js +61 -0
  32. package/dist/esm/development/middleware/getAlternateLinksHeaderValue.js +142 -0
  33. package/dist/esm/development/middleware/middleware.js +231 -0
  34. package/dist/esm/development/middleware/resolveLocale.js +150 -0
  35. package/dist/esm/development/middleware/syncCookie.js +87 -0
  36. package/dist/esm/development/middleware/utils.js +403 -0
  37. package/dist/esm/development/middleware.js +16 -0
  38. package/dist/esm/development/navigation/react-client/createNavigation.js +195 -0
  39. package/dist/esm/development/navigation/react-client/useBasePathname.js +46 -0
  40. package/dist/esm/development/navigation/react-server/createNavigation.js +111 -0
  41. package/dist/esm/development/navigation/react-server/getServerLocale.js +167 -0
  42. package/dist/esm/development/navigation/shared/BaseLink.js +115 -0
  43. package/dist/esm/development/navigation/shared/createSharedNavigationFns.js +214 -0
  44. package/dist/esm/development/navigation/shared/syncLocaleCookie.js +139 -0
  45. package/dist/esm/development/navigation/shared/utils.js +352 -0
  46. package/dist/esm/development/navigation.react-client.js +16 -0
  47. package/dist/esm/development/navigation.react-server.js +16 -0
  48. package/dist/esm/development/plugin/config.js +28 -0
  49. package/dist/esm/development/plugin/createNextIntlPlugin.js +66 -0
  50. package/dist/esm/development/plugin/declaration/createMessagesDeclaration.js +91 -0
  51. package/dist/esm/development/plugin/extractor/initExtractionCompiler.js +64 -0
  52. package/dist/esm/development/plugin/getNextConfig.js +355 -0
  53. package/dist/esm/development/plugin/nextFlags.js +47 -0
  54. package/dist/esm/development/plugin/utils.js +43 -0
  55. package/dist/esm/development/plugin/watchFile.js +32 -0
  56. package/dist/esm/development/plugin.js +16 -0
  57. package/dist/esm/development/react-client/index.js +67 -0
  58. package/dist/esm/development/react-server/NextIntlClientProviderServer.js +327 -0
  59. package/dist/esm/development/react-server/useConfig.js +40 -0
  60. package/dist/esm/development/react-server/useExtracted.js +21 -0
  61. package/dist/esm/development/react-server/useFormatter.js +21 -0
  62. package/dist/esm/development/react-server/useLocale.js +20 -0
  63. package/dist/esm/development/react-server/useMessages.js +21 -0
  64. package/dist/esm/development/react-server/useNow.js +25 -0
  65. package/dist/esm/development/react-server/useTimeZone.js +20 -0
  66. package/dist/esm/development/react-server/useTranslations.js +71 -0
  67. package/dist/esm/development/routing/config.js +82 -0
  68. package/dist/esm/development/routing/defineRouting.js +116 -0
  69. package/dist/esm/development/routing.js +16 -0
  70. package/dist/esm/development/server/react-client/index.js +68 -0
  71. package/dist/esm/development/server/react-server/RequestLocale.js +267 -0
  72. package/dist/esm/development/server/react-server/RequestLocaleCache.js +33 -0
  73. package/dist/esm/development/server/react-server/createRequestConfig.js +16 -0
  74. package/dist/esm/development/server/react-server/getConfig.js +283 -0
  75. package/dist/esm/development/server/react-server/getConfigNow.js +166 -0
  76. package/dist/esm/development/server/react-server/getDefaultNow.js +16 -0
  77. package/dist/esm/development/server/react-server/getExtracted.js +176 -0
  78. package/dist/esm/development/server/react-server/getFormats.js +166 -0
  79. package/dist/esm/development/server/react-server/getFormatter.js +186 -0
  80. package/dist/esm/development/server/react-server/getLocale.js +166 -0
  81. package/dist/esm/development/server/react-server/getMessages.js +194 -0
  82. package/dist/esm/development/server/react-server/getNow.js +164 -0
  83. package/dist/esm/development/server/react-server/getRequestConfig.js +15 -0
  84. package/dist/esm/development/server/react-server/getServerExtractor.js +108 -0
  85. package/dist/esm/development/server/react-server/getServerFormatter.js +81 -0
  86. package/dist/esm/development/server/react-server/getServerTranslator.js +70 -0
  87. package/dist/esm/development/server/react-server/getTimeZone.js +180 -0
  88. package/dist/esm/development/server/react-server/getTranslations.js +179 -0
  89. package/dist/esm/development/server/react-server/validateLocale.js +20 -0
  90. package/dist/esm/development/server.react-client.js +40 -0
  91. package/dist/esm/development/server.react-server.js +53 -0
  92. package/dist/esm/development/shared/NextIntlClientProvider.js +79 -0
  93. package/dist/esm/development/shared/constants.js +12 -0
  94. package/dist/esm/development/shared/use.js +59 -0
  95. package/dist/esm/development/shared/utils.js +201 -0
  96. package/dist/esm/production/config.js +13 -0
  97. package/dist/esm/production/extractor/ExtractionCompiler.js +275 -0
  98. package/dist/esm/production/extractor/catalog/CatalogLocales.js +384 -0
  99. package/dist/esm/production/extractor/catalog/CatalogManager.js +1401 -0
  100. package/dist/esm/production/extractor/catalog/CatalogPersister.js +334 -0
  101. package/dist/esm/production/extractor/catalog/SaveScheduler.js +278 -0
  102. package/dist/esm/production/extractor/catalogLoader.js +251 -0
  103. package/dist/esm/production/extractor/extractMessages.js +178 -0
  104. package/dist/esm/production/extractor/extractionLoader.js +27 -0
  105. package/dist/esm/production/extractor/extractor/LRUCache.js +59 -0
  106. package/dist/esm/production/extractor/extractor/MessageExtractor.js +259 -0
  107. package/dist/esm/production/extractor/format/ExtractorCodec.js +13 -0
  108. package/dist/esm/production/extractor/format/codecs/JSONCodec.js +83 -0
  109. package/dist/esm/production/extractor/format/codecs/POCodec.js +210 -0
  110. package/dist/esm/production/extractor/format/index.js +278 -0
  111. package/dist/esm/production/extractor/normalizeExtractorConfig.js +54 -0
  112. package/dist/esm/production/extractor/source/SourceFileFilter.js +99 -0
  113. package/dist/esm/production/extractor/source/SourceFileScanner.js +293 -0
  114. package/dist/esm/production/extractor/source/SourceFileWatcher.js +579 -0
  115. package/dist/esm/production/extractor/utils.js +108 -0
  116. package/dist/esm/production/extractor.js +25 -0
  117. package/dist/esm/production/index.react-client.js +59 -0
  118. package/dist/esm/production/index.react-server.js +61 -0
  119. package/dist/esm/production/middleware/getAlternateLinksHeaderValue.js +104 -0
  120. package/dist/esm/production/middleware/middleware.js +155 -0
  121. package/dist/esm/production/middleware/resolveLocale.js +99 -0
  122. package/dist/esm/production/middleware/syncCookie.js +81 -0
  123. package/dist/esm/production/middleware/utils.js +315 -0
  124. package/dist/esm/production/middleware.js +16 -0
  125. package/dist/esm/production/navigation/react-client/createNavigation.js +174 -0
  126. package/dist/esm/production/navigation/react-client/useBasePathname.js +32 -0
  127. package/dist/esm/production/navigation/react-server/createNavigation.js +110 -0
  128. package/dist/esm/production/navigation/react-server/getServerLocale.js +162 -0
  129. package/dist/esm/production/navigation/shared/BaseLink.js +98 -0
  130. package/dist/esm/production/navigation/shared/createSharedNavigationFns.js +182 -0
  131. package/dist/esm/production/navigation/shared/syncLocaleCookie.js +113 -0
  132. package/dist/esm/production/navigation/shared/utils.js +264 -0
  133. package/dist/esm/production/navigation.react-client.js +16 -0
  134. package/dist/esm/production/navigation.react-server.js +16 -0
  135. package/dist/esm/production/plugin/config.js +22 -0
  136. package/dist/esm/production/plugin/createNextIntlPlugin.js +48 -0
  137. package/dist/esm/production/plugin/declaration/createMessagesDeclaration.js +72 -0
  138. package/dist/esm/production/plugin/extractor/initExtractionCompiler.js +33 -0
  139. package/dist/esm/production/plugin/getNextConfig.js +242 -0
  140. package/dist/esm/production/plugin/nextFlags.js +44 -0
  141. package/dist/esm/production/plugin/utils.js +35 -0
  142. package/dist/esm/production/plugin/watchFile.js +26 -0
  143. package/dist/esm/production/plugin.js +16 -0
  144. package/dist/esm/production/react-client/index.js +57 -0
  145. package/dist/esm/production/react-server/NextIntlClientProviderServer.js +327 -0
  146. package/dist/esm/production/react-server/useConfig.js +35 -0
  147. package/dist/esm/production/react-server/useExtracted.js +21 -0
  148. package/dist/esm/production/react-server/useFormatter.js +21 -0
  149. package/dist/esm/production/react-server/useLocale.js +19 -0
  150. package/dist/esm/production/react-server/useMessages.js +21 -0
  151. package/dist/esm/production/react-server/useNow.js +22 -0
  152. package/dist/esm/production/react-server/useTimeZone.js +19 -0
  153. package/dist/esm/production/react-server/useTranslations.js +71 -0
  154. package/dist/esm/production/routing/config.js +77 -0
  155. package/dist/esm/production/routing/defineRouting.js +13 -0
  156. package/dist/esm/production/routing.js +16 -0
  157. package/dist/esm/production/server/react-client/index.js +51 -0
  158. package/dist/esm/production/server/react-server/RequestLocale.js +246 -0
  159. package/dist/esm/production/server/react-server/RequestLocaleCache.js +30 -0
  160. package/dist/esm/production/server/react-server/createRequestConfig.js +16 -0
  161. package/dist/esm/production/server/react-server/getConfig.js +262 -0
  162. package/dist/esm/production/server/react-server/getConfigNow.js +162 -0
  163. package/dist/esm/production/server/react-server/getDefaultNow.js +14 -0
  164. package/dist/esm/production/server/react-server/getExtracted.js +166 -0
  165. package/dist/esm/production/server/react-server/getFormats.js +157 -0
  166. package/dist/esm/production/server/react-server/getFormatter.js +179 -0
  167. package/dist/esm/production/server/react-server/getLocale.js +157 -0
  168. package/dist/esm/production/server/react-server/getMessages.js +190 -0
  169. package/dist/esm/production/server/react-server/getNow.js +164 -0
  170. package/dist/esm/production/server/react-server/getRequestConfig.js +13 -0
  171. package/dist/esm/production/server/react-server/getServerExtractor.js +20 -0
  172. package/dist/esm/production/server/react-server/getServerFormatter.js +78 -0
  173. package/dist/esm/production/server/react-server/getServerTranslator.js +69 -0
  174. package/dist/esm/production/server/react-server/getTimeZone.js +176 -0
  175. package/dist/esm/production/server/react-server/getTranslations.js +166 -0
  176. package/dist/esm/production/server.react-client.js +40 -0
  177. package/dist/esm/production/server.react-server.js +53 -0
  178. package/dist/esm/production/shared/NextIntlClientProvider.js +77 -0
  179. package/dist/esm/production/shared/constants.js +11 -0
  180. package/dist/esm/production/shared/use.js +51 -0
  181. package/dist/esm/production/shared/utils.js +156 -0
  182. package/dist/types/config.d.ts +1 -0
  183. package/dist/types/extractor/ExtractionCompiler.d.ts +16 -0
  184. package/dist/types/extractor/catalog/CatalogLocales.d.ts +29 -0
  185. package/dist/types/extractor/catalog/CatalogManager.d.ts +76 -0
  186. package/dist/types/extractor/catalog/CatalogPersister.d.ts +20 -0
  187. package/dist/types/extractor/catalog/SaveScheduler.d.ts +18 -0
  188. package/dist/types/extractor/extractMessages.d.ts +2 -0
  189. package/dist/types/extractor/extractor/LRUCache.d.ts +7 -0
  190. package/dist/types/extractor/extractor/MessageExtractor.bench.d.ts +1 -0
  191. package/dist/types/extractor/extractor/MessageExtractor.d.ts +17 -0
  192. package/dist/types/extractor/format/ExtractorCodec.d.ts +33 -0
  193. package/dist/types/extractor/format/codecs/JSONCodec.d.ts +2 -0
  194. package/dist/types/extractor/format/codecs/POCodec.d.ts +2 -0
  195. package/dist/types/extractor/format/codecs/fixtures/JSONCodecStructured.d.ts +2 -0
  196. package/dist/types/extractor/format/codecs/fixtures/POCodecSourceMessageKey.d.ts +2 -0
  197. package/dist/types/extractor/format/index.d.ts +15 -0
  198. package/dist/types/extractor/format/types.d.ts +8 -0
  199. package/dist/types/extractor/index.d.ts +2 -0
  200. package/dist/types/extractor/normalizeExtractorConfig.d.ts +5 -0
  201. package/dist/types/extractor/source/SourceFileFilter.d.ts +8 -0
  202. package/dist/types/extractor/source/SourceFileScanner.d.ts +4 -0
  203. package/dist/types/extractor/source/SourceFileWatcher.d.ts +15 -0
  204. package/dist/types/extractor/types.d.ts +79 -0
  205. package/dist/types/extractor/utils.d.ts +9 -0
  206. package/dist/types/extractor.d.ts +1 -0
  207. package/dist/types/index.react-client.d.ts +8 -0
  208. package/dist/types/index.react-server.d.ts +1 -0
  209. package/dist/types/middleware/getAlternateLinksHeaderValue.d.ts +13 -0
  210. package/dist/types/middleware/index.d.ts +4 -0
  211. package/dist/types/middleware/middleware.d.ts +4 -0
  212. package/dist/types/middleware/resolveLocale.d.ts +9 -0
  213. package/dist/types/middleware/syncCookie.d.ts +7 -0
  214. package/dist/types/middleware/utils.d.ts +26 -0
  215. package/dist/types/middleware.d.ts +1 -0
  216. package/dist/types/navigation/react-client/createNavigation.d.ts +465 -0
  217. package/dist/types/navigation/react-client/index.d.ts +2 -0
  218. package/dist/types/navigation/react-client/useBasePathname.d.ts +5 -0
  219. package/dist/types/navigation/react-server/createNavigation.d.ts +384 -0
  220. package/dist/types/navigation/react-server/getServerLocale.d.ts +5 -0
  221. package/dist/types/navigation/react-server/index.d.ts +2 -0
  222. package/dist/types/navigation/shared/BaseLink.d.ts +11 -0
  223. package/dist/types/navigation/shared/StrictParams.d.ts +8 -0
  224. package/dist/types/navigation/shared/createSharedNavigationFns.d.ts +370 -0
  225. package/dist/types/navigation/shared/syncLocaleCookie.d.ts +8 -0
  226. package/dist/types/navigation/shared/utils.d.ts +53 -0
  227. package/dist/types/navigation.react-client.d.ts +1 -0
  228. package/dist/types/navigation.react-server.d.ts +1 -0
  229. package/dist/types/plugin/catalog/catalogLoader.d.ts +10 -0
  230. package/dist/types/plugin/config.d.ts +3 -0
  231. package/dist/types/plugin/createNextIntlPlugin.d.ts +3 -0
  232. package/dist/types/plugin/declaration/createMessagesDeclaration.d.ts +1 -0
  233. package/dist/types/plugin/declaration/index.d.ts +1 -0
  234. package/dist/types/plugin/extractor/extractionLoader.d.ts +3 -0
  235. package/dist/types/plugin/extractor/initExtractionCompiler.d.ts +2 -0
  236. package/dist/types/plugin/getNextConfig.d.ts +4 -0
  237. package/dist/types/plugin/index.d.ts +1 -0
  238. package/dist/types/plugin/nextFlags.d.ts +2 -0
  239. package/dist/types/plugin/types.d.ts +25 -0
  240. package/dist/types/plugin/utils.d.ts +8 -0
  241. package/dist/types/plugin/watchFile.d.ts +6 -0
  242. package/dist/types/plugin.d.ts +1 -0
  243. package/dist/types/react-client/index.d.ts +16 -0
  244. package/dist/types/react-server/NextIntlClientProviderServer.d.ts +5 -0
  245. package/dist/types/react-server/index.d.ts +16 -0
  246. package/dist/types/react-server/testUtils.d.ts +2 -0
  247. package/dist/types/react-server/useConfig.d.ts +2 -0
  248. package/dist/types/react-server/useExtracted.d.ts +2 -0
  249. package/dist/types/react-server/useFormatter.d.ts +2 -0
  250. package/dist/types/react-server/useLocale.d.ts +2 -0
  251. package/dist/types/react-server/useMessages.d.ts +2 -0
  252. package/dist/types/react-server/useNow.d.ts +2 -0
  253. package/dist/types/react-server/useTimeZone.d.ts +2 -0
  254. package/dist/types/react-server/useTranslations.d.ts +2 -0
  255. package/dist/types/routing/config.d.ts +73 -0
  256. package/dist/types/routing/defineRouting.d.ts +3 -0
  257. package/dist/types/routing/index.d.ts +3 -0
  258. package/dist/types/routing/types.d.ts +25 -0
  259. package/dist/types/routing.d.ts +1 -0
  260. package/dist/types/server/react-client/index.d.ts +10 -0
  261. package/dist/types/server/react-server/RequestLocale.d.ts +1 -0
  262. package/dist/types/server/react-server/RequestLocaleCache.d.ts +3 -0
  263. package/dist/types/server/react-server/createRequestConfig.d.ts +3 -0
  264. package/dist/types/server/react-server/getConfig.d.ts +13 -0
  265. package/dist/types/server/react-server/getConfigNow.d.ts +4 -0
  266. package/dist/types/server/react-server/getDefaultNow.d.ts +3 -0
  267. package/dist/types/server/react-server/getExtracted.d.ts +10 -0
  268. package/dist/types/server/react-server/getFormats.d.ts +3 -0
  269. package/dist/types/server/react-server/getFormatter.d.ts +10 -0
  270. package/dist/types/server/react-server/getLocale.d.ts +4 -0
  271. package/dist/types/server/react-server/getMessages.d.ts +6 -0
  272. package/dist/types/server/react-server/getNow.d.ts +4 -0
  273. package/dist/types/server/react-server/getRequestConfig.d.ts +35 -0
  274. package/dist/types/server/react-server/getServerExtractor.d.ts +5 -0
  275. package/dist/types/server/react-server/getServerFormatter.d.ts +29 -0
  276. package/dist/types/server/react-server/getServerTranslator.d.ts +4 -0
  277. package/dist/types/server/react-server/getTimeZone.d.ts +4 -0
  278. package/dist/types/server/react-server/getTranslations.d.ts +8 -0
  279. package/dist/types/server/react-server/index.d.ts +12 -0
  280. package/dist/types/server/react-server/validateLocale.d.ts +1 -0
  281. package/dist/types/server.react-client.d.ts +1 -0
  282. package/dist/types/server.react-server.d.ts +1 -0
  283. package/dist/types/shared/NextIntlClientProvider.d.ts +9 -0
  284. package/dist/types/shared/constants.d.ts +1 -0
  285. package/dist/types/shared/types.d.ts +5 -0
  286. package/dist/types/shared/use.d.ts +3 -0
  287. package/dist/types/shared/utils.d.ts +20 -0
  288. package/extractor/catalogLoader.d.ts +4 -0
  289. package/extractor/extractionLoader.d.ts +4 -0
  290. package/extractor.d.ts +2 -0
  291. package/middleware.d.ts +4 -0
  292. package/navigation.d.ts +2 -0
  293. package/package.json +60 -0
  294. package/plugin.d.cts +3 -0
  295. package/plugin.d.ts +4 -0
  296. package/routing.d.ts +2 -0
  297. package/server.d.ts +2 -0
@@ -0,0 +1,610 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SourceFileWatcher;
9
+ }
10
+ });
11
+ var _promises = /*#__PURE__*/ _interopRequireDefault(require("fs/promises"));
12
+ var _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
13
+ var _watcher = require("@parcel/watcher");
14
+ var _sourceFileFilterJs = /*#__PURE__*/ _interopRequireDefault(require("./SourceFileFilter.js"));
15
+ var _sourceFileScannerJs = /*#__PURE__*/ _interopRequireDefault(require("./SourceFileScanner.js"));
16
+ function _arrayLikeToArray(arr, len) {
17
+ if (len == null || len > arr.length) len = arr.length;
18
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19
+ return arr2;
20
+ }
21
+ function _arrayWithoutHoles(arr) {
22
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
23
+ }
24
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
25
+ try {
26
+ var info = gen[key](arg);
27
+ var value = info.value;
28
+ } catch (error) {
29
+ reject(error);
30
+ return;
31
+ }
32
+ if (info.done) {
33
+ resolve(value);
34
+ } else {
35
+ Promise.resolve(value).then(_next, _throw);
36
+ }
37
+ }
38
+ function _asyncToGenerator(fn) {
39
+ return function() {
40
+ var self = this, args = arguments;
41
+ return new Promise(function(resolve, reject) {
42
+ var gen = fn.apply(self, args);
43
+ function _next(value) {
44
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
45
+ }
46
+ function _throw(err) {
47
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
48
+ }
49
+ _next(undefined);
50
+ });
51
+ };
52
+ }
53
+ function _classCallCheck(instance, Constructor) {
54
+ if (!(instance instanceof Constructor)) {
55
+ throw new TypeError("Cannot call a class as a function");
56
+ }
57
+ }
58
+ function _defineProperties(target, props) {
59
+ for(var i = 0; i < props.length; i++){
60
+ var descriptor = props[i];
61
+ descriptor.enumerable = descriptor.enumerable || false;
62
+ descriptor.configurable = true;
63
+ if ("value" in descriptor) descriptor.writable = true;
64
+ Object.defineProperty(target, descriptor.key, descriptor);
65
+ }
66
+ }
67
+ function _createClass(Constructor, protoProps, staticProps) {
68
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
69
+ if (staticProps) _defineProperties(Constructor, staticProps);
70
+ return Constructor;
71
+ }
72
+ function _defineProperty(obj, key, value) {
73
+ if (key in obj) {
74
+ Object.defineProperty(obj, key, {
75
+ value: value,
76
+ enumerable: true,
77
+ configurable: true,
78
+ writable: true
79
+ });
80
+ } else {
81
+ obj[key] = value;
82
+ }
83
+ return obj;
84
+ }
85
+ function _interopRequireDefault(obj) {
86
+ return obj && obj.__esModule ? obj : {
87
+ default: obj
88
+ };
89
+ }
90
+ function _iterableToArray(iter) {
91
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
92
+ }
93
+ function _nonIterableSpread() {
94
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
95
+ }
96
+ function _toConsumableArray(arr) {
97
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
98
+ }
99
+ function _unsupportedIterableToArray(o, minLen) {
100
+ if (!o) return;
101
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
102
+ var n = Object.prototype.toString.call(o).slice(8, -1);
103
+ if (n === "Object" && o.constructor) n = o.constructor.name;
104
+ if (n === "Map" || n === "Set") return Array.from(n);
105
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
106
+ }
107
+ var __generator = (void 0) && (void 0).__generator || function(thisArg, body) {
108
+ var f, y, t, g, _ = {
109
+ label: 0,
110
+ sent: function() {
111
+ if (t[0] & 1) throw t[1];
112
+ return t[1];
113
+ },
114
+ trys: [],
115
+ ops: []
116
+ };
117
+ return g = {
118
+ next: verb(0),
119
+ "throw": verb(1),
120
+ "return": verb(2)
121
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
122
+ return this;
123
+ }), g;
124
+ function verb(n) {
125
+ return function(v) {
126
+ return step([
127
+ n,
128
+ v
129
+ ]);
130
+ };
131
+ }
132
+ function step(op) {
133
+ if (f) throw new TypeError("Generator is already executing.");
134
+ while(_)try {
135
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
136
+ if (y = 0, t) op = [
137
+ op[0] & 2,
138
+ t.value
139
+ ];
140
+ switch(op[0]){
141
+ case 0:
142
+ case 1:
143
+ t = op;
144
+ break;
145
+ case 4:
146
+ _.label++;
147
+ return {
148
+ value: op[1],
149
+ done: false
150
+ };
151
+ case 5:
152
+ _.label++;
153
+ y = op[1];
154
+ op = [
155
+ 0
156
+ ];
157
+ continue;
158
+ case 7:
159
+ op = _.ops.pop();
160
+ _.trys.pop();
161
+ continue;
162
+ default:
163
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
164
+ _ = 0;
165
+ continue;
166
+ }
167
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
168
+ _.label = op[1];
169
+ break;
170
+ }
171
+ if (op[0] === 6 && _.label < t[1]) {
172
+ _.label = t[1];
173
+ t = op;
174
+ break;
175
+ }
176
+ if (t && _.label < t[2]) {
177
+ _.label = t[2];
178
+ _.ops.push(op);
179
+ break;
180
+ }
181
+ if (t[2]) _.ops.pop();
182
+ _.trys.pop();
183
+ continue;
184
+ }
185
+ op = body.call(thisArg, _);
186
+ } catch (e) {
187
+ op = [
188
+ 6,
189
+ e
190
+ ];
191
+ y = 0;
192
+ } finally{
193
+ f = t = 0;
194
+ }
195
+ if (op[0] & 5) throw op[1];
196
+ return {
197
+ value: op[0] ? op[1] : void 0,
198
+ done: true
199
+ };
200
+ }
201
+ };
202
+ var _dispose = Symbol.dispose;
203
+ var SourceFileWatcher = /*#__PURE__*/ function() {
204
+ "use strict";
205
+ function SourceFileWatcher(roots, onChange) {
206
+ _classCallCheck(this, SourceFileWatcher);
207
+ _defineProperty(this, "subscriptions", []);
208
+ this.roots = roots;
209
+ this.onChange = onChange;
210
+ }
211
+ _createClass(SourceFileWatcher, [
212
+ {
213
+ key: "start",
214
+ value: function start() {
215
+ var _this = this;
216
+ return _asyncToGenerator(function() {
217
+ var ignore, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, root, sub, err;
218
+ return __generator(this, function(_state) {
219
+ switch(_state.label){
220
+ case 0:
221
+ if (_this.subscriptions.length > 0) {
222
+ return [
223
+ 2
224
+ ];
225
+ }
226
+ ignore = _sourceFileFilterJs.default.IGNORED_DIRECTORIES.map(function(dir) {
227
+ return "**/".concat(dir, "/**");
228
+ });
229
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
230
+ _state.label = 1;
231
+ case 1:
232
+ _state.trys.push([
233
+ 1,
234
+ 6,
235
+ 7,
236
+ 8
237
+ ]);
238
+ _iterator = _this.roots[Symbol.iterator]();
239
+ _state.label = 2;
240
+ case 2:
241
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
242
+ 3,
243
+ 5
244
+ ];
245
+ root = _step.value;
246
+ return [
247
+ 4,
248
+ (0, _watcher.subscribe)(root, function() {
249
+ var _ref = _asyncToGenerator(function(err, events) {
250
+ var filtered;
251
+ return __generator(this, function(_state) {
252
+ switch(_state.label){
253
+ case 0:
254
+ if (err) {
255
+ console.error(err);
256
+ return [
257
+ 2
258
+ ];
259
+ }
260
+ return [
261
+ 4,
262
+ _this.normalizeEvents(events)
263
+ ];
264
+ case 1:
265
+ filtered = _state.sent();
266
+ if (!(filtered.length > 0)) return [
267
+ 3,
268
+ 3
269
+ ];
270
+ return [
271
+ 4,
272
+ _this.onChange(filtered)
273
+ ];
274
+ case 2:
275
+ _state.sent();
276
+ _state.label = 3;
277
+ case 3:
278
+ return [
279
+ 2
280
+ ];
281
+ }
282
+ });
283
+ });
284
+ return function(err, events) {
285
+ return _ref.apply(this, arguments);
286
+ };
287
+ }(), {
288
+ ignore: ignore
289
+ })
290
+ ];
291
+ case 3:
292
+ sub = _state.sent();
293
+ _this.subscriptions.push(sub);
294
+ _state.label = 4;
295
+ case 4:
296
+ _iteratorNormalCompletion = true;
297
+ return [
298
+ 3,
299
+ 2
300
+ ];
301
+ case 5:
302
+ return [
303
+ 3,
304
+ 8
305
+ ];
306
+ case 6:
307
+ err = _state.sent();
308
+ _didIteratorError = true;
309
+ _iteratorError = err;
310
+ return [
311
+ 3,
312
+ 8
313
+ ];
314
+ case 7:
315
+ try {
316
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
317
+ _iterator.return();
318
+ }
319
+ } finally{
320
+ if (_didIteratorError) {
321
+ throw _iteratorError;
322
+ }
323
+ }
324
+ return [
325
+ 7
326
+ ];
327
+ case 8:
328
+ return [
329
+ 2
330
+ ];
331
+ }
332
+ });
333
+ })();
334
+ }
335
+ },
336
+ {
337
+ key: "normalizeEvents",
338
+ value: function normalizeEvents(events) {
339
+ return _asyncToGenerator(function() {
340
+ var directoryCreatePaths, otherEvents, expandedCreateEvents, sourceFiles, e, allEvents, seenPaths, deduplicated, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, event, key;
341
+ return __generator(this, function(_state) {
342
+ switch(_state.label){
343
+ case 0:
344
+ directoryCreatePaths = [];
345
+ otherEvents = [];
346
+ // We need to expand directory creates because during rename operations,
347
+ // @parcel/watcher emits a directory create event but may not emit individual
348
+ // file events for the moved files
349
+ return [
350
+ 4,
351
+ Promise.all(events.map(function() {
352
+ var _ref = _asyncToGenerator(function(event) {
353
+ var stats, e;
354
+ return __generator(this, function(_state) {
355
+ switch(_state.label){
356
+ case 0:
357
+ if (!(event.type === "create")) return [
358
+ 3,
359
+ 4
360
+ ];
361
+ _state.label = 1;
362
+ case 1:
363
+ _state.trys.push([
364
+ 1,
365
+ 3,
366
+ ,
367
+ 4
368
+ ]);
369
+ return [
370
+ 4,
371
+ _promises.default.stat(event.path)
372
+ ];
373
+ case 2:
374
+ stats = _state.sent();
375
+ if (stats.isDirectory()) {
376
+ directoryCreatePaths.push(event.path);
377
+ return [
378
+ 2
379
+ ];
380
+ }
381
+ return [
382
+ 3,
383
+ 4
384
+ ];
385
+ case 3:
386
+ e = _state.sent();
387
+ return [
388
+ 3,
389
+ 4
390
+ ];
391
+ case 4:
392
+ otherEvents.push(event);
393
+ return [
394
+ 2
395
+ ];
396
+ }
397
+ });
398
+ });
399
+ return function(event) {
400
+ return _ref.apply(this, arguments);
401
+ };
402
+ }()))
403
+ ];
404
+ case 1:
405
+ _state.sent();
406
+ expandedCreateEvents = [];
407
+ if (!(directoryCreatePaths.length > 0)) return [
408
+ 3,
409
+ 5
410
+ ];
411
+ _state.label = 2;
412
+ case 2:
413
+ _state.trys.push([
414
+ 2,
415
+ 4,
416
+ ,
417
+ 5
418
+ ]);
419
+ return [
420
+ 4,
421
+ _sourceFileScannerJs.default.getSourceFiles(directoryCreatePaths)
422
+ ];
423
+ case 3:
424
+ sourceFiles = _state.sent();
425
+ expandedCreateEvents = Array.from(sourceFiles).map(function(filePath) {
426
+ return {
427
+ type: "create",
428
+ path: filePath
429
+ };
430
+ });
431
+ return [
432
+ 3,
433
+ 5
434
+ ];
435
+ case 4:
436
+ e = _state.sent();
437
+ return [
438
+ 3,
439
+ 5
440
+ ];
441
+ case 5:
442
+ allEvents = _toConsumableArray(otherEvents).concat(_toConsumableArray(expandedCreateEvents));
443
+ seenPaths = new Set();
444
+ deduplicated = [];
445
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
446
+ try {
447
+ for(_iterator = allEvents[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
448
+ event = _step.value;
449
+ key = "".concat(event.type, ":").concat(event.path);
450
+ if (!seenPaths.has(key)) {
451
+ seenPaths.add(key);
452
+ deduplicated.push(event);
453
+ }
454
+ }
455
+ } catch (err) {
456
+ _didIteratorError = true;
457
+ _iteratorError = err;
458
+ } finally{
459
+ try {
460
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
461
+ _iterator.return();
462
+ }
463
+ } finally{
464
+ if (_didIteratorError) {
465
+ throw _iteratorError;
466
+ }
467
+ }
468
+ }
469
+ return [
470
+ 2,
471
+ deduplicated.filter(function(event) {
472
+ // Keep all delete events (might be deleted directories that no longer exist)
473
+ if (event.type === "delete") {
474
+ return true;
475
+ }
476
+ // Keep source files
477
+ return _sourceFileFilterJs.default.isSourceFile(event.path);
478
+ })
479
+ ];
480
+ }
481
+ });
482
+ })();
483
+ }
484
+ },
485
+ {
486
+ key: "expandDirectoryDeleteEvents",
487
+ value: function expandDirectoryDeleteEvents(events, prevKnownFiles) {
488
+ return _asyncToGenerator(function() {
489
+ var expanded, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, event, dirPath, filesInDirectory, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, filePath, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, filePath1;
490
+ return __generator(this, function(_state) {
491
+ expanded = [];
492
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
493
+ try {
494
+ for(_iterator = events[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
495
+ event = _step.value;
496
+ if (event.type === "delete" && !_sourceFileFilterJs.default.isSourceFile(event.path)) {
497
+ dirPath = _path.default.resolve(event.path);
498
+ filesInDirectory = [];
499
+ _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
500
+ try {
501
+ for(_iterator1 = prevKnownFiles[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
502
+ filePath = _step1.value;
503
+ if (_sourceFileFilterJs.default.isWithinPath(filePath, dirPath)) {
504
+ filesInDirectory.push(filePath);
505
+ }
506
+ }
507
+ } catch (err) {
508
+ _didIteratorError1 = true;
509
+ _iteratorError1 = err;
510
+ } finally{
511
+ try {
512
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
513
+ _iterator1.return();
514
+ }
515
+ } finally{
516
+ if (_didIteratorError1) {
517
+ throw _iteratorError1;
518
+ }
519
+ }
520
+ }
521
+ // If we found files within this path, it was a directory
522
+ if (filesInDirectory.length > 0) {
523
+ _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = undefined;
524
+ try {
525
+ for(_iterator2 = filesInDirectory[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
526
+ filePath1 = _step2.value;
527
+ expanded.push({
528
+ type: "delete",
529
+ path: filePath1
530
+ });
531
+ }
532
+ } catch (err) {
533
+ _didIteratorError2 = true;
534
+ _iteratorError2 = err;
535
+ } finally{
536
+ try {
537
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
538
+ _iterator2.return();
539
+ }
540
+ } finally{
541
+ if (_didIteratorError2) {
542
+ throw _iteratorError2;
543
+ }
544
+ }
545
+ }
546
+ } else {
547
+ // Not a directory or no files in it, pass through as-is
548
+ expanded.push(event);
549
+ }
550
+ } else {
551
+ // Pass through as-is
552
+ expanded.push(event);
553
+ }
554
+ }
555
+ } catch (err) {
556
+ _didIteratorError = true;
557
+ _iteratorError = err;
558
+ } finally{
559
+ try {
560
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
561
+ _iterator.return();
562
+ }
563
+ } finally{
564
+ if (_didIteratorError) {
565
+ throw _iteratorError;
566
+ }
567
+ }
568
+ }
569
+ return [
570
+ 2,
571
+ expanded
572
+ ];
573
+ });
574
+ })();
575
+ }
576
+ },
577
+ {
578
+ key: "stop",
579
+ value: function stop() {
580
+ var _this = this;
581
+ return _asyncToGenerator(function() {
582
+ return __generator(this, function(_state) {
583
+ switch(_state.label){
584
+ case 0:
585
+ return [
586
+ 4,
587
+ Promise.all(_this.subscriptions.map(function(sub) {
588
+ return sub.unsubscribe();
589
+ }))
590
+ ];
591
+ case 1:
592
+ _state.sent();
593
+ _this.subscriptions = [];
594
+ return [
595
+ 2
596
+ ];
597
+ }
598
+ });
599
+ })();
600
+ }
601
+ },
602
+ {
603
+ key: _dispose,
604
+ value: function value() {
605
+ void this.stop();
606
+ }
607
+ }
608
+ ]);
609
+ return SourceFileWatcher;
610
+ }();