@sap/cds-dk 10.1.1 → 10.2.0

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 (870) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/bin/add.js +7 -2
  3. package/bin/bind.js +0 -2
  4. package/bin/bindings.js +35 -0
  5. package/bin/build.js +11 -6
  6. package/bin/compile/index.js +1 -0
  7. package/bin/completion/index.js +10 -448
  8. package/bin/completion/scripts/cds.fish +24 -16
  9. package/bin/completion/scripts/cds.ps1 +26 -25
  10. package/bin/completion/scripts/cds.sh +22 -19
  11. package/bin/completion/scripts/cds.zsh +22 -19
  12. package/bin/deploy/index.js +1 -1
  13. package/bin/deploy/to-hana/hana.js +5 -4
  14. package/bin/env.js +0 -1
  15. package/bin/eval.js +9 -5
  16. package/bin/export.js +6 -4
  17. package/bin/help/export.md +28 -4
  18. package/bin/import.js +6 -5
  19. package/bin/inspect.js +0 -1
  20. package/bin/login.js +28 -3
  21. package/bin/repl.js +82 -26
  22. package/bin/run.js +6 -7
  23. package/bin/serve.js +6 -7
  24. package/bin/up.js +7 -2
  25. package/bin/upgrade/steps/install.js +6 -6
  26. package/bin/watch/index.js +1 -0
  27. package/lib/build/index.js +11 -7
  28. package/lib/build/plugins/featureToggles.js +2 -2
  29. package/lib/build/plugins/hana/index.js +1 -1
  30. package/lib/build/plugins/helm/files/subcharts/web-application/Chart.yaml +1 -1
  31. package/lib/build/plugins/helm/files/subcharts/web-application/templates/_helpers.tpl +7 -0
  32. package/lib/build/plugins/helm/files/subcharts/web-application/templates/api-rule.yaml +1 -0
  33. package/lib/build/plugins/helm/files/subcharts/web-application/templates/service-binding.yaml +4 -4
  34. package/lib/build/plugins/helm/files/subcharts/web-application/values.schema.json +13 -0
  35. package/lib/build/plugins/helm/files/subcharts/web-application/values.yaml +7 -1
  36. package/lib/build/plugins/internal.js +0 -26
  37. package/lib/build/plugins/java/index.js +5 -1
  38. package/lib/build/plugins/nodejs/index.js +13 -4
  39. package/lib/build/util.js +4 -5
  40. package/lib/cds.js +8 -2
  41. package/lib/env/schemas/cds-rc.js +5 -0
  42. package/lib/import/importapi.js +2 -3
  43. package/lib/init/constants.js +1 -1
  44. package/lib/init/index.js +8 -3
  45. package/lib/init/merge.js +21 -17
  46. package/lib/init/plugin.js +1 -1
  47. package/lib/init/projectReader.js +13 -10
  48. package/lib/init/registries/mta.js +0 -6
  49. package/lib/init/template/ai/index.js +4 -4
  50. package/lib/init/template/ams/files/extensionDeveloper.dcl +6 -0
  51. package/lib/init/template/ams/files/mta.yaml.hbs +6 -0
  52. package/lib/init/template/ams/files/sidecar.package.json.hbs +5 -0
  53. package/lib/init/template/ams/index.js +42 -40
  54. package/lib/init/template/app-frontend/files/mta.yaml.hbs +2 -0
  55. package/lib/init/template/app-frontend/files/ui5.yaml.hbs +0 -4
  56. package/lib/init/template/app-frontend/index.js +29 -24
  57. package/lib/init/template/application-logging/index.js +6 -6
  58. package/lib/init/template/approuter/files/xs-app.json.hbs +22 -0
  59. package/lib/init/template/approuter/index.js +20 -13
  60. package/lib/init/template/attachments/index.js +3 -3
  61. package/lib/init/template/audit-logging/index.js +4 -4
  62. package/lib/init/template/cloud-logging/index.js +12 -6
  63. package/lib/init/template/completion/completionSetup.js +19 -6
  64. package/lib/init/template/connectivity/index.js +3 -3
  65. package/lib/init/template/data/as-csv.js +7 -4
  66. package/lib/init/template/data/as-json.js +77 -20
  67. package/lib/init/template/destination/index.js +12 -9
  68. package/lib/init/template/dynatrace/index.js +5 -5
  69. package/lib/init/template/enterprise-messaging/index.js +10 -7
  70. package/lib/init/template/enterprise-messaging-shared/index.js +4 -4
  71. package/lib/init/template/event-mesh/index.js +3 -0
  72. package/lib/init/template/extensibility/index.js +2 -2
  73. package/lib/init/template/extension/index.js +26 -0
  74. package/lib/init/template/github-actions/index.js +3 -3
  75. package/lib/init/template/hana/files/package.json.hbs +3 -2
  76. package/lib/init/template/hana/index.js +5 -5
  77. package/lib/init/template/hana-serverless/index.js +3 -3
  78. package/lib/init/template/html5-repo/files/mta.yaml.hbs +2 -0
  79. package/lib/init/template/html5-repo/files/ui5.yaml.hbs +0 -4
  80. package/lib/init/template/html5-repo/index.js +68 -40
  81. package/lib/init/template/http/index.js +1 -1
  82. package/lib/init/template/ias/index.js +7 -7
  83. package/lib/init/template/initial/files/.gitignore.hbs +1 -0
  84. package/lib/init/template/kafka/index.js +3 -3
  85. package/lib/init/template/kyma/index.js +7 -9
  86. package/lib/init/template/malware-scanner/index.js +3 -3
  87. package/lib/init/template/mta/index.js +6 -3
  88. package/lib/init/template/multitenancy/index.js +6 -7
  89. package/lib/init/template/notifications/index.js +2 -2
  90. package/lib/init/template/portal/index.js +16 -10
  91. package/lib/init/template/postgres/index.js +5 -5
  92. package/lib/init/template/react/files/index.html.hbs +1 -1
  93. package/lib/init/template/react/files/package.json.hbs +3 -2
  94. package/lib/init/template/react/files/src/{App.jsx.hbs → App.{{jsxExtension}}.hbs} +8 -2
  95. package/lib/init/template/react/files/src/{main.jsx → main.{{jsxExtension}}.hbs} +2 -2
  96. package/lib/init/template/react/index.js +23 -4
  97. package/lib/init/template/react/typescript/src/vite-env.d.ts +1 -0
  98. package/lib/init/template/react/typescript/tsconfig.json.hbs +16 -0
  99. package/lib/init/template/redis/index.js +2 -2
  100. package/lib/init/template/side-by-side-extensibility/index.js +6 -3
  101. package/lib/init/template/typescript/files/tsconfig.json +3 -1
  102. package/lib/init/template/vue/files/index.html.hbs +1 -1
  103. package/lib/init/template/vue/files/package.json.hbs +2 -1
  104. package/lib/init/template/vue/files/src/App.vue.hbs +8 -2
  105. package/lib/init/template/vue/index.js +20 -4
  106. package/lib/init/template/vue/typescript/tsconfig.json +11 -0
  107. package/lib/init/template/workzone-standard/files/mta.yaml.hbs +2 -2
  108. package/lib/init/template/workzone-standard/index.js +30 -28
  109. package/lib/init/template/xsuaa/files/mta.yaml.hbs +1 -1
  110. package/lib/init/template/xsuaa/files/values.yaml.hbs +1 -1
  111. package/lib/init/template/xsuaa/index.js +34 -22
  112. package/lib/mtx/auth_manager.js +8 -2
  113. package/lib/mtx/browser_login.js +181 -0
  114. package/lib/mtx/params.js +6 -0
  115. package/lib/mtx/settings_manager.js +29 -4
  116. package/lib/util/cf.js +44 -8
  117. package/lib/util/fs.js +2 -2
  118. package/node_modules/@cap-js/db-service/CHANGELOG.md +23 -0
  119. package/node_modules/@cap-js/db-service/lib/cqn2pql.js +4 -0
  120. package/node_modules/@cap-js/db-service/lib/cqn2sql.js +3 -0
  121. package/node_modules/@cap-js/db-service/lib/cqn4sql.js +17 -28
  122. package/node_modules/@cap-js/db-service/lib/infer/index.js +20 -27
  123. package/node_modules/@cap-js/db-service/package.json +1 -1
  124. package/node_modules/@cap-js/openapi/cds-plugin.js +12 -0
  125. package/node_modules/@cap-js/openapi/index.js +3 -1
  126. package/node_modules/@cap-js/openapi/lib/compile/csdl2openapi.js +652 -413
  127. package/node_modules/@cap-js/openapi/lib/compile/diagram.js +16 -13
  128. package/node_modules/@cap-js/openapi/lib/compile/index.js +10 -7
  129. package/node_modules/@cap-js/openapi/lib/compile/property-util.js +51 -0
  130. package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/importOpenAPI.js +12 -9
  131. package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/index.js +4 -3
  132. package/node_modules/@cap-js/openapi/package.json +71 -3
  133. package/node_modules/@cap-js/sqlite/CHANGELOG.md +18 -0
  134. package/node_modules/@cap-js/sqlite/package.json +3 -3
  135. package/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  136. package/node_modules/@isaacs/fs-minipass/README.md +71 -0
  137. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +118 -0
  138. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +1 -0
  139. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  140. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +1 -0
  141. package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  142. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +118 -0
  143. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +1 -0
  144. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  145. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +1 -0
  146. package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  147. package/node_modules/@isaacs/fs-minipass/package.json +72 -0
  148. package/node_modules/@sap/cds/CHANGELOG.md +71 -1
  149. package/node_modules/@sap/cds/_i18n/messages_ar.properties +1 -0
  150. package/node_modules/@sap/cds/_i18n/messages_bg.properties +1 -0
  151. package/node_modules/@sap/cds/_i18n/messages_cs.properties +1 -0
  152. package/node_modules/@sap/cds/_i18n/messages_da.properties +1 -0
  153. package/node_modules/@sap/cds/_i18n/messages_de.properties +1 -0
  154. package/node_modules/@sap/cds/_i18n/messages_el.properties +1 -0
  155. package/node_modules/@sap/cds/_i18n/messages_en.properties +1 -0
  156. package/node_modules/@sap/cds/_i18n/messages_es.properties +1 -0
  157. package/node_modules/@sap/cds/_i18n/messages_es_MX.properties +1 -0
  158. package/node_modules/@sap/cds/_i18n/messages_fi.properties +1 -0
  159. package/node_modules/@sap/cds/_i18n/messages_fr.properties +1 -0
  160. package/node_modules/@sap/cds/_i18n/messages_he.properties +1 -0
  161. package/node_modules/@sap/cds/_i18n/messages_hr.properties +1 -0
  162. package/node_modules/@sap/cds/_i18n/messages_hu.properties +1 -0
  163. package/node_modules/@sap/cds/_i18n/messages_it.properties +1 -0
  164. package/node_modules/@sap/cds/_i18n/messages_ja.properties +1 -0
  165. package/node_modules/@sap/cds/_i18n/messages_kk.properties +1 -0
  166. package/node_modules/@sap/cds/_i18n/messages_ko.properties +1 -0
  167. package/node_modules/@sap/cds/_i18n/messages_ms.properties +1 -0
  168. package/node_modules/@sap/cds/_i18n/messages_nl.properties +1 -0
  169. package/node_modules/@sap/cds/_i18n/messages_no.properties +1 -0
  170. package/node_modules/@sap/cds/_i18n/messages_pl.properties +1 -0
  171. package/node_modules/@sap/cds/_i18n/messages_pt.properties +1 -0
  172. package/node_modules/@sap/cds/_i18n/messages_ro.properties +1 -0
  173. package/node_modules/@sap/cds/_i18n/messages_ru.properties +1 -0
  174. package/node_modules/@sap/cds/_i18n/messages_sh.properties +1 -0
  175. package/node_modules/@sap/cds/_i18n/messages_sk.properties +1 -0
  176. package/node_modules/@sap/cds/_i18n/messages_sl.properties +1 -0
  177. package/node_modules/@sap/cds/_i18n/messages_sv.properties +1 -0
  178. package/node_modules/@sap/cds/_i18n/messages_th.properties +1 -0
  179. package/node_modules/@sap/cds/_i18n/messages_tr.properties +1 -0
  180. package/node_modules/@sap/cds/_i18n/messages_uk.properties +1 -0
  181. package/node_modules/@sap/cds/_i18n/messages_vi.properties +1 -0
  182. package/node_modules/@sap/cds/_i18n/messages_zh_CN.properties +1 -0
  183. package/node_modules/@sap/cds/_i18n/messages_zh_TW.properties +1 -0
  184. package/node_modules/@sap/cds/app/index-client.js +164 -0
  185. package/node_modules/@sap/cds/app/index.css +598 -87
  186. package/node_modules/@sap/cds/app/index.html +54 -30
  187. package/node_modules/@sap/cds/app/index.js +311 -67
  188. package/node_modules/@sap/cds/app/table.html +226 -0
  189. package/node_modules/@sap/cds/app/table.js +302 -0
  190. package/node_modules/@sap/cds/bin/serve.js +3 -2
  191. package/node_modules/@sap/cds/common.cds +3 -3
  192. package/node_modules/@sap/cds/eslint.config.mjs +2 -0
  193. package/node_modules/@sap/cds/lib/compile/cdsc.js +7 -0
  194. package/node_modules/@sap/cds/lib/compile/for/embeddings.js +27 -0
  195. package/node_modules/@sap/cds/lib/compile/load.js +2 -2
  196. package/node_modules/@sap/cds/lib/compile/minify.js +17 -2
  197. package/node_modules/@sap/cds/lib/compile/parse.js +3 -0
  198. package/node_modules/@sap/cds/lib/compile/resolve.js +16 -14
  199. package/node_modules/@sap/cds/lib/core/classes.js +1 -0
  200. package/node_modules/@sap/cds/lib/dbs/cds-deploy.js +4 -5
  201. package/node_modules/@sap/cds/lib/env/cds-env.js +132 -70
  202. package/node_modules/@sap/cds/lib/env/cds-requires/auth-strategies.js +62 -0
  203. package/node_modules/@sap/cds/lib/env/cds-requires/databases.js +49 -0
  204. package/node_modules/@sap/cds/lib/env/cds-requires/embeddings.js +8 -0
  205. package/node_modules/@sap/cds/lib/env/cds-requires/index.js +27 -0
  206. package/node_modules/@sap/cds/lib/env/cds-requires/messaging.js +82 -0
  207. package/node_modules/@sap/cds/lib/env/cds-requires/platform.js +23 -0
  208. package/node_modules/@sap/cds/lib/env/cds-requires/queues.js +34 -0
  209. package/node_modules/@sap/cds/lib/env/cds-requires/services.js +32 -0
  210. package/node_modules/@sap/cds/lib/env/defaults.js +9 -1
  211. package/node_modules/@sap/cds/lib/i18n/files.js +4 -4
  212. package/node_modules/@sap/cds/lib/i18n/locale.js +1 -1
  213. package/node_modules/@sap/cds/lib/index.js +9 -9
  214. package/node_modules/@sap/cds/lib/log/cds-log.js +3 -3
  215. package/node_modules/@sap/cds/lib/ql/SELECT.js +2 -0
  216. package/node_modules/@sap/cds/lib/ql/UPDATE.js +1 -1
  217. package/node_modules/@sap/cds/lib/ql/cds.ql-Query.js +4 -1
  218. package/node_modules/@sap/cds/lib/ql/core/@types/cqn.d.ts +146 -0
  219. package/node_modules/@sap/cds/lib/ql/core/@types/exprs.d.ts +51 -0
  220. package/node_modules/@sap/cds/lib/ql/core/@types/index.d.ts +29 -0
  221. package/node_modules/@sap/cds/lib/ql/core/@types/package.json +7 -0
  222. package/node_modules/@sap/cds/lib/ql/core/@types/ql/delete.d.ts +8 -0
  223. package/node_modules/@sap/cds/lib/ql/core/@types/ql/insert.d.ts +19 -0
  224. package/node_modules/@sap/cds/lib/ql/core/@types/ql/select.d.ts +24 -0
  225. package/node_modules/@sap/cds/lib/ql/core/@types/ql/update.d.ts +10 -0
  226. package/node_modules/@sap/cds/lib/ql/core/@types/query.d.ts +18 -0
  227. package/node_modules/@sap/cds/lib/ql/core/cql/parser.min.js +1 -0
  228. package/node_modules/@sap/cds/lib/ql/core/lib/index.js +69 -0
  229. package/node_modules/@sap/cds/lib/ql/core/lib/ql/cache.js +34 -0
  230. package/node_modules/@sap/cds/lib/ql/core/lib/ql/call-action.js +6 -0
  231. package/node_modules/@sap/cds/lib/ql/core/lib/ql/delete.js +8 -0
  232. package/node_modules/@sap/cds/lib/ql/core/lib/ql/insert.js +26 -0
  233. package/node_modules/@sap/cds/lib/ql/core/lib/ql/select.js +22 -0
  234. package/node_modules/@sap/cds/lib/ql/core/lib/ql/update.js +26 -0
  235. package/node_modules/@sap/cds/lib/ql/core/lib/query.js +85 -0
  236. package/node_modules/@sap/cds/lib/ql/core/lib/xl/fluent.js +47 -0
  237. package/node_modules/@sap/cds/lib/ql/core/lib/xl/ttl.js +24 -0
  238. package/node_modules/@sap/cds/lib/ql/core/license +201 -0
  239. package/node_modules/@sap/cds/lib/ql/core/package.json +24 -0
  240. package/node_modules/@sap/cds/lib/ql/core/readme.md +99 -0
  241. package/node_modules/@sap/cds/lib/ql/core/upstream.json +5 -0
  242. package/node_modules/@sap/cds/lib/req/spawn.js +1 -1
  243. package/node_modules/@sap/cds/lib/srv/bindings.js +111 -115
  244. package/node_modules/@sap/cds/lib/srv/cds-connect.js +11 -10
  245. package/node_modules/@sap/cds/lib/srv/cds-serve.js +16 -7
  246. package/node_modules/@sap/cds/lib/srv/cds.Service.js +13 -7
  247. package/node_modules/@sap/cds/lib/srv/factory.js +8 -10
  248. package/node_modules/@sap/cds/lib/srv/middlewares/auth/ias-auth.js +35 -32
  249. package/node_modules/@sap/cds/lib/srv/middlewares/auth/jwt-auth.js +5 -1
  250. package/node_modules/@sap/cds/lib/srv/middlewares/auth/mocked-users.js +1 -1
  251. package/node_modules/@sap/cds/lib/srv/protocols/hcql.js +230 -79
  252. package/node_modules/@sap/cds/lib/srv/protocols/http.js +7 -3
  253. package/node_modules/@sap/cds/lib/srv/protocols/index.js +7 -2
  254. package/node_modules/@sap/cds/lib/srv/srv-dispatch.js +2 -2
  255. package/node_modules/@sap/cds/lib/utils/cds-utils.js +37 -0
  256. package/node_modules/@sap/cds/lib/utils/csv-reader.js +2 -2
  257. package/node_modules/@sap/cds/libx/_runtime/common/generic/assert.js +18 -27
  258. package/node_modules/@sap/cds/libx/_runtime/common/generic/crud.js +8 -2
  259. package/node_modules/@sap/cds/libx/_runtime/common/utils/cqn.js +1 -1
  260. package/node_modules/@sap/cds/libx/_runtime/common/utils/rewriteAsterisks.js +1 -1
  261. package/node_modules/@sap/cds/libx/_runtime/fiori/lean-draft.js +122 -85
  262. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/authorizedRequest.js +24 -1
  263. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/normalizeIncomingMessage.js +1 -1
  264. package/node_modules/@sap/cds/libx/_runtime/messaging/kafka.js +1 -1
  265. package/node_modules/@sap/cds/libx/_runtime/remote/Service.js +2 -2
  266. package/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js +3 -2
  267. package/node_modules/@sap/cds/libx/_runtime/remote/utils/query.js +11 -6
  268. package/node_modules/@sap/cds/libx/http/location.js +10 -11
  269. package/node_modules/@sap/cds/libx/odata/middleware/create.js +4 -0
  270. package/node_modules/@sap/cds/libx/odata/middleware/metadata.js +1 -1
  271. package/node_modules/@sap/cds/libx/odata/middleware/operation.js +3 -0
  272. package/node_modules/@sap/cds/libx/odata/middleware/parse.js +9 -0
  273. package/node_modules/@sap/cds/libx/odata/middleware/read.js +7 -1
  274. package/node_modules/@sap/cds/libx/odata/middleware/update.js +5 -1
  275. package/node_modules/@sap/cds/libx/odata/parse/afterburner.js +3 -3
  276. package/node_modules/@sap/cds/libx/odata/parse/multipartToJson.js +1 -1
  277. package/node_modules/@sap/cds/libx/odata/utils/ieee754.js +20 -0
  278. package/node_modules/@sap/cds/libx/queue/SchedulingService.js +4 -0
  279. package/node_modules/@sap/cds/libx/queue/api.js +1 -1
  280. package/node_modules/@sap/cds/libx/queue/index.js +46 -10
  281. package/node_modules/@sap/cds/libx/queue/processing.js +52 -16
  282. package/node_modules/@sap/cds/libx/queue/utils.js +3 -0
  283. package/node_modules/@sap/cds/libx/rest/RestAdapter.js +1 -0
  284. package/node_modules/@sap/cds/package.json +2 -2
  285. package/node_modules/@sap/cds/server.js +1 -0
  286. package/node_modules/@sap/cds/srv/ucl-service.cds +1 -0
  287. package/node_modules/@sap/cds/tasks/enterprise-messaging-deploy.js +13 -5
  288. package/node_modules/@sap/cds-compiler/CHANGELOG.md +83 -0
  289. package/node_modules/@sap/cds-compiler/bin/cdsse.js +1 -1
  290. package/node_modules/@sap/cds-compiler/doc/EffectiveCSN.md +3314 -0
  291. package/node_modules/@sap/cds-compiler/lib/api/main.js +9 -6
  292. package/node_modules/@sap/cds-compiler/lib/api/options.js +3 -3
  293. package/node_modules/@sap/cds-compiler/lib/{model → base}/csnUtils.js +5 -5
  294. package/node_modules/@sap/cds-compiler/lib/base/message-registry.js +54 -6
  295. package/node_modules/@sap/cds-compiler/lib/base/optionProcessor.js +4 -4
  296. package/node_modules/@sap/cds-compiler/lib/{model → base}/sortViews.js +1 -1
  297. package/node_modules/@sap/cds-compiler/lib/checks/assocOutsideService.js +1 -1
  298. package/node_modules/@sap/cds-compiler/lib/checks/checkForTypes.js +1 -1
  299. package/node_modules/@sap/cds-compiler/lib/checks/checkPathsInStoredCalcElement.js +1 -1
  300. package/node_modules/@sap/cds-compiler/lib/checks/elements.js +37 -3
  301. package/node_modules/@sap/cds-compiler/lib/checks/enricher.js +1 -1
  302. package/node_modules/@sap/cds-compiler/lib/checks/existsInForbiddenPlaces.js +1 -1
  303. package/node_modules/@sap/cds-compiler/lib/checks/hasPersistedElements.js +1 -1
  304. package/node_modules/@sap/cds-compiler/lib/checks/manyExpand.js +1 -1
  305. package/node_modules/@sap/cds-compiler/lib/checks/manyNavigations.js +1 -1
  306. package/node_modules/@sap/cds-compiler/lib/checks/onConditions.js +1 -1
  307. package/node_modules/@sap/cds-compiler/lib/checks/parameters.js +1 -1
  308. package/node_modules/@sap/cds-compiler/lib/checks/queryNoDbArtifacts.js +1 -1
  309. package/node_modules/@sap/cds-compiler/lib/checks/selectItems.js +1 -1
  310. package/node_modules/@sap/cds-compiler/lib/checks/structuredAnnoExpressions.js +1 -1
  311. package/node_modules/@sap/cds-compiler/lib/checks/typeParameters.js +1 -1
  312. package/node_modules/@sap/cds-compiler/lib/checks/types.js +1 -1
  313. package/node_modules/@sap/cds-compiler/lib/checks/validator.js +1 -1
  314. package/node_modules/@sap/cds-compiler/lib/compiler/assert-consistency.js +20 -12
  315. package/node_modules/@sap/cds-compiler/lib/compiler/builtins.js +9 -4
  316. package/node_modules/@sap/cds-compiler/lib/compiler/checks.js +50 -0
  317. package/node_modules/@sap/cds-compiler/lib/compiler/define.js +303 -323
  318. package/node_modules/@sap/cds-compiler/lib/compiler/dictionaries.js +5 -0
  319. package/node_modules/@sap/cds-compiler/lib/compiler/extend.js +1015 -1177
  320. package/node_modules/@sap/cds-compiler/lib/compiler/generate.js +55 -42
  321. package/node_modules/@sap/cds-compiler/lib/compiler/populate.js +74 -45
  322. package/node_modules/@sap/cds-compiler/lib/compiler/propagator.js +1 -0
  323. package/node_modules/@sap/cds-compiler/lib/compiler/resolve.js +6 -4
  324. package/node_modules/@sap/cds-compiler/lib/compiler/shared.js +30 -49
  325. package/node_modules/@sap/cds-compiler/lib/compiler/utils.js +32 -18
  326. package/node_modules/@sap/cds-compiler/lib/edm/annotations/edmJson.js +3 -3
  327. package/node_modules/@sap/cds-compiler/lib/edm/annotations/genericTranslation.js +2 -2
  328. package/node_modules/@sap/cds-compiler/lib/edm/annotations/preprocessAnnotations.js +2 -3
  329. package/node_modules/@sap/cds-compiler/lib/edm/csn2edm.js +1 -1
  330. package/node_modules/@sap/cds-compiler/lib/edm/edm.js +6 -7
  331. package/node_modules/@sap/cds-compiler/lib/edm/edmAnnoPreprocessor.js +1 -1
  332. package/node_modules/@sap/cds-compiler/lib/edm/edmInboundChecks.js +1 -1
  333. package/node_modules/@sap/cds-compiler/lib/edm/edmPreprocessor.js +1 -1
  334. package/node_modules/@sap/cds-compiler/lib/edm/edmUtils.js +12 -7
  335. package/node_modules/@sap/cds-compiler/lib/gen/CdlGrammar.checksum +1 -1
  336. package/node_modules/@sap/cds-compiler/lib/gen/CdlParser.js +15 -15
  337. package/node_modules/@sap/cds-compiler/lib/gen/Dictionary.json +7 -0
  338. package/node_modules/@sap/cds-compiler/lib/json/from-csn.js +30 -30
  339. package/node_modules/@sap/cds-compiler/lib/json/to-csn.js +2 -1
  340. package/node_modules/@sap/cds-compiler/lib/main.js +4 -1
  341. package/node_modules/@sap/cds-compiler/lib/parsers/AstBuildingParser.js +42 -15
  342. package/node_modules/@sap/cds-compiler/lib/render/DuplicateChecker.js +37 -11
  343. package/node_modules/@sap/cds-compiler/lib/render/manageConstraints.js +1 -1
  344. package/node_modules/@sap/cds-compiler/lib/render/toCdl.js +11 -6
  345. package/node_modules/@sap/cds-compiler/lib/render/toRename.js +1 -1
  346. package/node_modules/@sap/cds-compiler/lib/render/toSql.js +74 -24
  347. package/node_modules/@sap/cds-compiler/lib/render/utils/common.js +1 -1
  348. package/node_modules/@sap/cds-compiler/lib/render/utils/operators.js +81 -0
  349. package/node_modules/@sap/cds-compiler/lib/render/utils/sql.js +17 -10
  350. package/node_modules/@sap/cds-compiler/lib/transform/db/assertUnique.js +1 -1
  351. package/node_modules/@sap/cds-compiler/lib/transform/db/associations.js +3 -4
  352. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/transformExists.js +1 -1
  353. package/node_modules/@sap/cds-compiler/lib/transform/db/backlinks.js +2 -2
  354. package/node_modules/@sap/cds-compiler/lib/transform/db/cdsPersistence.js +1 -1
  355. package/node_modules/@sap/cds-compiler/lib/transform/db/constraints.js +6 -5
  356. package/node_modules/@sap/cds-compiler/lib/transform/db/expansion.js +7 -1
  357. package/node_modules/@sap/cds-compiler/lib/transform/db/flattening.js +2 -2
  358. package/node_modules/@sap/cds-compiler/lib/{modelCompare/compare.js → transform/db/migration/diffModels.js} +5 -5
  359. package/node_modules/@sap/cds-compiler/lib/{modelCompare/utils/filter.js → transform/db/migration/filterDiff.js} +2 -2
  360. package/node_modules/@sap/cds-compiler/lib/transform/db/processSqlServices.js +1 -1
  361. package/node_modules/@sap/cds-compiler/lib/transform/db/rewriteCalculatedElements.js +1 -1
  362. package/node_modules/@sap/cds-compiler/lib/transform/db/temporal.js +1 -1
  363. package/node_modules/@sap/cds-compiler/lib/transform/db/views.js +2 -6
  364. package/node_modules/@sap/cds-compiler/lib/transform/draft/db.js +1 -1
  365. package/node_modules/@sap/cds-compiler/lib/transform/draft/odata.js +1 -1
  366. package/node_modules/@sap/cds-compiler/lib/transform/effective/annotations.js +1 -1
  367. package/node_modules/@sap/cds-compiler/lib/transform/effective/associations.js +1 -1
  368. package/node_modules/@sap/cds-compiler/lib/transform/effective/flattening.js +1 -1
  369. package/node_modules/@sap/cds-compiler/lib/transform/effective/main.js +3 -2
  370. package/node_modules/@sap/cds-compiler/lib/transform/effective/misc.js +2 -1
  371. package/node_modules/@sap/cds-compiler/lib/transform/effective/queries.js +1 -1
  372. package/node_modules/@sap/cds-compiler/lib/transform/effective/types.js +1 -1
  373. package/node_modules/@sap/cds-compiler/lib/transform/forOdata.js +1 -1
  374. package/node_modules/@sap/cds-compiler/lib/transform/forRelationalDB.js +9 -4
  375. package/node_modules/@sap/cds-compiler/lib/transform/localized.js +1 -1
  376. package/node_modules/@sap/cds-compiler/lib/transform/odata/adaptAnnotationRefs.js +5 -11
  377. package/node_modules/@sap/cds-compiler/lib/transform/odata/createForeignKeys.js +1 -1
  378. package/node_modules/@sap/cds-compiler/lib/transform/odata/flattening.js +4 -4
  379. package/node_modules/@sap/cds-compiler/lib/transform/odata/foreignKeyRefsInXprAnnos.js +5 -3
  380. package/node_modules/@sap/cds-compiler/lib/transform/odata/toFinalBaseType.js +29 -5
  381. package/node_modules/@sap/cds-compiler/lib/transform/odata/typesExposure.js +13 -3
  382. package/node_modules/@sap/cds-compiler/lib/transform/odata/utils.js +9 -0
  383. package/node_modules/@sap/cds-compiler/lib/transform/transformUtils.js +2 -2
  384. package/node_modules/@sap/cds-compiler/lib/transform/translateAssocsToJoins.js +1 -1
  385. package/node_modules/@sap/cds-compiler/lib/transform/tupleExpansion.js +1 -1
  386. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/coreComputed.js +1 -1
  387. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/universalCsnEnricher.js +1 -1
  388. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/utils.js +1 -1
  389. package/node_modules/@sap/cds-compiler/package.json +1 -1
  390. package/node_modules/@sap/cds-mtxs/CHANGELOG.md +47 -0
  391. package/node_modules/@sap/cds-mtxs/bin/cds-mtx-migrate.js +4 -6
  392. package/node_modules/@sap/cds-mtxs/bin/cds-mtx.js +5 -4
  393. package/node_modules/@sap/cds-mtxs/cds-plugin.js +38 -2
  394. package/node_modules/@sap/cds-mtxs/db/t0.cds +7 -0
  395. package/node_modules/@sap/cds-mtxs/lib/utils.js +129 -20
  396. package/node_modules/@sap/cds-mtxs/package.json +15 -14
  397. package/node_modules/@sap/cds-mtxs/srv/cf/abstract-provisioning-service.js +13 -12
  398. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.cds +1 -0
  399. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.cds +1 -0
  400. package/node_modules/@sap/cds-mtxs/srv/extensibility/compat/update.js +5 -2
  401. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/config.js +1 -2
  402. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/csv-allowlist.js +64 -0
  403. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/index.js +4 -2
  404. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/protected-namespace.js +67 -5
  405. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.js +179 -15
  406. package/node_modules/@sap/cds-mtxs/srv/jobs-service.js +12 -3
  407. package/node_modules/@sap/cds-mtxs/srv/plugins/common.js +33 -12
  408. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/ctnr-mgr-base.js +24 -6
  409. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-ctnr-mgr.js +3 -1
  410. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-native.js +752 -0
  411. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/serverless.js +17 -20
  412. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr-v2.js +511 -0
  413. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr.js +11 -4
  414. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/tms.js +8 -0
  415. package/node_modules/@sap/cds-mtxs/srv/plugins/hana.js +27 -18
  416. package/node_modules/@sap/cds-mtxs/srv/worker/job-worker-pool.js +1 -1
  417. package/node_modules/@sap/cds-mtxs/srv/worker/job-worker.js +1 -1
  418. package/node_modules/chownr/LICENSE.md +63 -0
  419. package/node_modules/chownr/README.md +3 -0
  420. package/node_modules/chownr/dist/commonjs/index.d.ts +3 -0
  421. package/node_modules/chownr/dist/commonjs/index.d.ts.map +1 -0
  422. package/node_modules/chownr/dist/commonjs/index.js +93 -0
  423. package/node_modules/chownr/dist/commonjs/index.js.map +1 -0
  424. package/node_modules/chownr/dist/commonjs/package.json +3 -0
  425. package/node_modules/chownr/dist/esm/index.d.ts +3 -0
  426. package/node_modules/chownr/dist/esm/index.d.ts.map +1 -0
  427. package/node_modules/chownr/dist/esm/index.js +85 -0
  428. package/node_modules/chownr/dist/esm/index.js.map +1 -0
  429. package/node_modules/chownr/dist/esm/package.json +3 -0
  430. package/node_modules/chownr/package.json +69 -0
  431. package/node_modules/content-disposition/README.md +105 -35
  432. package/node_modules/content-disposition/dist/index.d.ts +72 -0
  433. package/node_modules/content-disposition/dist/index.js +388 -0
  434. package/node_modules/content-disposition/dist/index.js.map +1 -0
  435. package/node_modules/content-disposition/package.json +31 -19
  436. package/node_modules/content-type/README.md +34 -57
  437. package/node_modules/content-type/package.json +35 -25
  438. package/node_modules/express/Readme.md +15 -9
  439. package/node_modules/express/lib/application.js +2 -2
  440. package/node_modules/express/lib/request.js +32 -19
  441. package/node_modules/express/lib/response.js +27 -30
  442. package/node_modules/express/package.json +10 -10
  443. package/node_modules/handlebars/bin/handlebars +1 -1
  444. package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
  445. package/node_modules/handlebars/dist/amd/handlebars/compiler/base.js +2 -59
  446. package/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js +68 -5
  447. package/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js +160 -19
  448. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +23 -7
  449. package/node_modules/handlebars/dist/amd/handlebars/compiler/node-types.js +12 -0
  450. package/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js +26 -7
  451. package/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js +9 -4
  452. package/node_modules/handlebars/dist/amd/handlebars/exception.js +8 -4
  453. package/node_modules/handlebars/dist/amd/handlebars/helpers/each.js +40 -14
  454. package/node_modules/handlebars/dist/amd/handlebars/internal/proto-access.js +21 -1
  455. package/node_modules/handlebars/dist/amd/handlebars/runtime.js +24 -4
  456. package/node_modules/handlebars/dist/amd/handlebars/utils.js +4 -3
  457. package/node_modules/handlebars/dist/amd/precompiler.js +13 -7
  458. package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
  459. package/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +1 -60
  460. package/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +64 -4
  461. package/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +161 -18
  462. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +23 -7
  463. package/node_modules/handlebars/dist/cjs/handlebars/compiler/node-types.js +10 -0
  464. package/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +29 -6
  465. package/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +9 -4
  466. package/node_modules/handlebars/dist/cjs/handlebars/exception.js +8 -4
  467. package/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +40 -14
  468. package/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +21 -1
  469. package/node_modules/handlebars/dist/cjs/handlebars/runtime.js +24 -4
  470. package/node_modules/handlebars/dist/cjs/handlebars/utils.js +4 -3
  471. package/node_modules/handlebars/dist/cjs/precompiler.js +14 -6
  472. package/node_modules/handlebars/dist/handlebars.amd.js +401 -130
  473. package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
  474. package/node_modules/handlebars/dist/handlebars.js +396 -125
  475. package/node_modules/handlebars/dist/handlebars.min.js +4 -4
  476. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +100 -29
  477. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
  478. package/node_modules/handlebars/dist/handlebars.runtime.js +94 -23
  479. package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
  480. package/node_modules/handlebars/lib/handlebars/base.js +1 -1
  481. package/node_modules/handlebars/lib/handlebars/compiler/base.js +0 -67
  482. package/node_modules/handlebars/lib/handlebars/compiler/code-gen.js +65 -11
  483. package/node_modules/handlebars/lib/handlebars/compiler/compiler.js +164 -23
  484. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +23 -7
  485. package/node_modules/handlebars/lib/handlebars/compiler/node-types.js +24 -0
  486. package/node_modules/handlebars/lib/handlebars/compiler/visitor.js +29 -5
  487. package/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js +16 -5
  488. package/node_modules/handlebars/lib/handlebars/exception.js +7 -3
  489. package/node_modules/handlebars/lib/handlebars/helpers/each.js +39 -16
  490. package/node_modules/handlebars/lib/handlebars/internal/proto-access.js +22 -0
  491. package/node_modules/handlebars/lib/handlebars/runtime.js +36 -4
  492. package/node_modules/handlebars/lib/handlebars/utils.js +3 -2
  493. package/node_modules/handlebars/lib/precompiler.js +14 -5
  494. package/node_modules/handlebars/package.json +2 -2
  495. package/node_modules/handlebars/release-notes.md +20 -1
  496. package/node_modules/handlebars/types/index.d.ts +8 -0
  497. package/node_modules/hdb/cfg/VERSION +1 -1
  498. package/node_modules/hdb/lib/Client.js +6 -2
  499. package/node_modules/hdb/lib/protocol/ClientInfo.js +28 -15
  500. package/node_modules/hdb/lib/protocol/Connection.js +30 -3
  501. package/node_modules/hdb/lib/protocol/Writer.js +2 -2
  502. package/node_modules/hdb/lib/protocol/common/ConnectOption.js +2 -0
  503. package/node_modules/hdb/lib/protocol/common/ConnectOptionFlagSet1.js +18 -0
  504. package/node_modules/hdb/lib/protocol/common/ConnectOptionType.js +2 -0
  505. package/node_modules/hdb/lib/protocol/common/Constants.js +1 -0
  506. package/node_modules/hdb/lib/protocol/common/MessageType.js +3 -2
  507. package/node_modules/hdb/lib/protocol/common/PartKind.js +2 -1
  508. package/node_modules/hdb/lib/protocol/common/index.js +1 -0
  509. package/node_modules/hdb/lib/protocol/data/TextList.js +25 -17
  510. package/node_modules/hdb/lib/protocol/data/index.js +1 -0
  511. package/node_modules/hdb/lib/protocol/part/ConnectOptions.js +7 -0
  512. package/node_modules/hdb/lib/protocol/request/index.js +7 -0
  513. package/node_modules/hdb/package.json +1 -2
  514. package/node_modules/livereload-js/.github/workflows/main.yml +4 -4
  515. package/node_modules/livereload-js/README.md +3 -3
  516. package/node_modules/livereload-js/dist/livereload.js +839 -2742
  517. package/node_modules/livereload-js/dist/livereload.min.js +1 -1
  518. package/node_modules/livereload-js/package.json +11 -11
  519. package/node_modules/minipass/LICENSE.md +55 -0
  520. package/node_modules/minipass/README.md +825 -0
  521. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  522. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  523. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  524. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  525. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  526. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  527. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  528. package/node_modules/minipass/dist/esm/index.js +1020 -0
  529. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  530. package/node_modules/minipass/dist/esm/package.json +3 -0
  531. package/node_modules/minipass/package.json +77 -0
  532. package/node_modules/minizlib/LICENSE +26 -0
  533. package/node_modules/minizlib/README.md +64 -0
  534. package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
  535. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
  536. package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  537. package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
  538. package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
  539. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
  540. package/node_modules/minizlib/dist/commonjs/index.js +416 -0
  541. package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
  542. package/node_modules/minizlib/dist/commonjs/package.json +3 -0
  543. package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
  544. package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
  545. package/node_modules/minizlib/dist/esm/constants.js +117 -0
  546. package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
  547. package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
  548. package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
  549. package/node_modules/minizlib/dist/esm/index.js +363 -0
  550. package/node_modules/minizlib/dist/esm/index.js.map +1 -0
  551. package/node_modules/minizlib/dist/esm/package.json +3 -0
  552. package/node_modules/minizlib/package.json +80 -0
  553. package/node_modules/proxy-addr/HISTORY.md +60 -54
  554. package/node_modules/proxy-addr/README.md +1 -1
  555. package/node_modules/proxy-addr/index.js +32 -0
  556. package/node_modules/proxy-addr/package.json +8 -4
  557. package/node_modules/qs/.github/THREAT_MODEL.md +4 -2
  558. package/node_modules/qs/CHANGELOG.md +38 -14
  559. package/node_modules/qs/README.md +31 -3
  560. package/node_modules/qs/dist/qs.js +20 -20
  561. package/node_modules/qs/lib/parse.js +94 -4
  562. package/node_modules/qs/lib/stringify.js +4 -4
  563. package/node_modules/qs/lib/utils.js +130 -6
  564. package/node_modules/qs/package.json +4 -4
  565. package/node_modules/qs/test/parse.js +174 -0
  566. package/node_modules/qs/test/stringify.js +263 -33
  567. package/node_modules/qs/test/utils.js +184 -0
  568. package/node_modules/tar/LICENSE.md +55 -0
  569. package/node_modules/tar/README.md +1233 -0
  570. package/node_modules/tar/dist/commonjs/create.d.ts +3 -0
  571. package/node_modules/tar/dist/commonjs/create.d.ts.map +1 -0
  572. package/node_modules/tar/dist/commonjs/create.js +82 -0
  573. package/node_modules/tar/dist/commonjs/create.js.map +1 -0
  574. package/node_modules/tar/dist/commonjs/cwd-error.d.ts +8 -0
  575. package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +1 -0
  576. package/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  577. package/node_modules/tar/dist/commonjs/cwd-error.js.map +1 -0
  578. package/node_modules/tar/dist/commonjs/extract.d.ts +3 -0
  579. package/node_modules/tar/dist/commonjs/extract.d.ts.map +1 -0
  580. package/node_modules/tar/dist/commonjs/extract.js +88 -0
  581. package/node_modules/tar/dist/commonjs/extract.js.map +1 -0
  582. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +2 -0
  583. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +1 -0
  584. package/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  585. package/node_modules/tar/dist/commonjs/get-write-flag.js.map +1 -0
  586. package/node_modules/tar/dist/commonjs/header.d.ts +53 -0
  587. package/node_modules/tar/dist/commonjs/header.d.ts.map +1 -0
  588. package/node_modules/tar/dist/commonjs/header.js +348 -0
  589. package/node_modules/tar/dist/commonjs/header.js.map +1 -0
  590. package/node_modules/tar/dist/commonjs/index.d.ts +20 -0
  591. package/node_modules/tar/dist/commonjs/index.d.ts.map +1 -0
  592. package/node_modules/tar/dist/commonjs/index.js +64 -0
  593. package/node_modules/tar/dist/commonjs/index.js.map +1 -0
  594. package/node_modules/tar/dist/commonjs/index.min.js +4 -0
  595. package/node_modules/tar/dist/commonjs/index.min.js.map +7 -0
  596. package/node_modules/tar/dist/commonjs/large-numbers.d.ts +3 -0
  597. package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +1 -0
  598. package/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  599. package/node_modules/tar/dist/commonjs/large-numbers.js.map +1 -0
  600. package/node_modules/tar/dist/commonjs/list.d.ts +7 -0
  601. package/node_modules/tar/dist/commonjs/list.d.ts.map +1 -0
  602. package/node_modules/tar/dist/commonjs/list.js +153 -0
  603. package/node_modules/tar/dist/commonjs/list.js.map +1 -0
  604. package/node_modules/tar/dist/commonjs/make-command.d.ts +49 -0
  605. package/node_modules/tar/dist/commonjs/make-command.d.ts.map +1 -0
  606. package/node_modules/tar/dist/commonjs/make-command.js +52 -0
  607. package/node_modules/tar/dist/commonjs/make-command.js.map +1 -0
  608. package/node_modules/tar/dist/commonjs/mkdir.d.ts +25 -0
  609. package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +1 -0
  610. package/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  611. package/node_modules/tar/dist/commonjs/mkdir.js.map +1 -0
  612. package/node_modules/tar/dist/commonjs/mode-fix.d.ts +2 -0
  613. package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +1 -0
  614. package/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  615. package/node_modules/tar/dist/commonjs/mode-fix.js.map +1 -0
  616. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +2 -0
  617. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +1 -0
  618. package/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  619. package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +1 -0
  620. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +2 -0
  621. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -0
  622. package/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  623. package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -0
  624. package/node_modules/tar/dist/commonjs/options.d.ts +604 -0
  625. package/node_modules/tar/dist/commonjs/options.d.ts.map +1 -0
  626. package/node_modules/tar/dist/commonjs/options.js +66 -0
  627. package/node_modules/tar/dist/commonjs/options.js.map +1 -0
  628. package/node_modules/tar/dist/commonjs/pack.d.ts +105 -0
  629. package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -0
  630. package/node_modules/tar/dist/commonjs/pack.js +544 -0
  631. package/node_modules/tar/dist/commonjs/pack.js.map +1 -0
  632. package/node_modules/tar/dist/commonjs/package.json +3 -0
  633. package/node_modules/tar/dist/commonjs/parse.d.ts +92 -0
  634. package/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -0
  635. package/node_modules/tar/dist/commonjs/parse.js +655 -0
  636. package/node_modules/tar/dist/commonjs/parse.js.map +1 -0
  637. package/node_modules/tar/dist/commonjs/path-reservations.d.ts +11 -0
  638. package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +1 -0
  639. package/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  640. package/node_modules/tar/dist/commonjs/path-reservations.js.map +1 -0
  641. package/node_modules/tar/dist/commonjs/pax.d.ts +26 -0
  642. package/node_modules/tar/dist/commonjs/pax.d.ts.map +1 -0
  643. package/node_modules/tar/dist/commonjs/pax.js +182 -0
  644. package/node_modules/tar/dist/commonjs/pax.js.map +1 -0
  645. package/node_modules/tar/dist/commonjs/process-umask.d.ts +2 -0
  646. package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +1 -0
  647. package/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  648. package/node_modules/tar/dist/commonjs/process-umask.js.map +1 -0
  649. package/node_modules/tar/dist/commonjs/read-entry.d.ts +36 -0
  650. package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +1 -0
  651. package/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  652. package/node_modules/tar/dist/commonjs/read-entry.js.map +1 -0
  653. package/node_modules/tar/dist/commonjs/replace.d.ts +2 -0
  654. package/node_modules/tar/dist/commonjs/replace.d.ts.map +1 -0
  655. package/node_modules/tar/dist/commonjs/replace.js +227 -0
  656. package/node_modules/tar/dist/commonjs/replace.js.map +1 -0
  657. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +2 -0
  658. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +1 -0
  659. package/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  660. package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +1 -0
  661. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +2 -0
  662. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +1 -0
  663. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  664. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +1 -0
  665. package/node_modules/tar/dist/commonjs/symlink-error.d.ts +9 -0
  666. package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +1 -0
  667. package/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  668. package/node_modules/tar/dist/commonjs/symlink-error.js.map +1 -0
  669. package/node_modules/tar/dist/commonjs/types.d.ts +16 -0
  670. package/node_modules/tar/dist/commonjs/types.d.ts.map +1 -0
  671. package/node_modules/tar/dist/commonjs/types.js +70 -0
  672. package/node_modules/tar/dist/commonjs/types.js.map +1 -0
  673. package/node_modules/tar/dist/commonjs/unpack.d.ts +101 -0
  674. package/node_modules/tar/dist/commonjs/unpack.d.ts.map +1 -0
  675. package/node_modules/tar/dist/commonjs/unpack.js +932 -0
  676. package/node_modules/tar/dist/commonjs/unpack.js.map +1 -0
  677. package/node_modules/tar/dist/commonjs/update.d.ts +2 -0
  678. package/node_modules/tar/dist/commonjs/update.d.ts.map +1 -0
  679. package/node_modules/tar/dist/commonjs/update.js +33 -0
  680. package/node_modules/tar/dist/commonjs/update.js.map +1 -0
  681. package/node_modules/tar/dist/commonjs/warn-method.d.ts +24 -0
  682. package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +1 -0
  683. package/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  684. package/node_modules/tar/dist/commonjs/warn-method.js.map +1 -0
  685. package/node_modules/tar/dist/commonjs/winchars.d.ts +3 -0
  686. package/node_modules/tar/dist/commonjs/winchars.d.ts.map +1 -0
  687. package/node_modules/tar/dist/commonjs/winchars.js +14 -0
  688. package/node_modules/tar/dist/commonjs/winchars.js.map +1 -0
  689. package/node_modules/tar/dist/commonjs/write-entry.d.ts +129 -0
  690. package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +1 -0
  691. package/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  692. package/node_modules/tar/dist/commonjs/write-entry.js.map +1 -0
  693. package/node_modules/tar/dist/esm/create.d.ts +3 -0
  694. package/node_modules/tar/dist/esm/create.d.ts.map +1 -0
  695. package/node_modules/tar/dist/esm/create.js +76 -0
  696. package/node_modules/tar/dist/esm/create.js.map +1 -0
  697. package/node_modules/tar/dist/esm/cwd-error.d.ts +8 -0
  698. package/node_modules/tar/dist/esm/cwd-error.d.ts.map +1 -0
  699. package/node_modules/tar/dist/esm/cwd-error.js +14 -0
  700. package/node_modules/tar/dist/esm/cwd-error.js.map +1 -0
  701. package/node_modules/tar/dist/esm/extract.d.ts +3 -0
  702. package/node_modules/tar/dist/esm/extract.d.ts.map +1 -0
  703. package/node_modules/tar/dist/esm/extract.js +49 -0
  704. package/node_modules/tar/dist/esm/extract.js.map +1 -0
  705. package/node_modules/tar/dist/esm/get-write-flag.d.ts +2 -0
  706. package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +1 -0
  707. package/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  708. package/node_modules/tar/dist/esm/get-write-flag.js.map +1 -0
  709. package/node_modules/tar/dist/esm/header.d.ts +53 -0
  710. package/node_modules/tar/dist/esm/header.d.ts.map +1 -0
  711. package/node_modules/tar/dist/esm/header.js +311 -0
  712. package/node_modules/tar/dist/esm/header.js.map +1 -0
  713. package/node_modules/tar/dist/esm/index.d.ts +20 -0
  714. package/node_modules/tar/dist/esm/index.d.ts.map +1 -0
  715. package/node_modules/tar/dist/esm/index.js +20 -0
  716. package/node_modules/tar/dist/esm/index.js.map +1 -0
  717. package/node_modules/tar/dist/esm/index.min.js +4 -0
  718. package/node_modules/tar/dist/esm/index.min.js.map +7 -0
  719. package/node_modules/tar/dist/esm/large-numbers.d.ts +3 -0
  720. package/node_modules/tar/dist/esm/large-numbers.d.ts.map +1 -0
  721. package/node_modules/tar/dist/esm/large-numbers.js +94 -0
  722. package/node_modules/tar/dist/esm/large-numbers.js.map +1 -0
  723. package/node_modules/tar/dist/esm/list.d.ts +7 -0
  724. package/node_modules/tar/dist/esm/list.d.ts.map +1 -0
  725. package/node_modules/tar/dist/esm/list.js +113 -0
  726. package/node_modules/tar/dist/esm/list.js.map +1 -0
  727. package/node_modules/tar/dist/esm/make-command.d.ts +49 -0
  728. package/node_modules/tar/dist/esm/make-command.d.ts.map +1 -0
  729. package/node_modules/tar/dist/esm/make-command.js +48 -0
  730. package/node_modules/tar/dist/esm/make-command.js.map +1 -0
  731. package/node_modules/tar/dist/esm/mkdir.d.ts +25 -0
  732. package/node_modules/tar/dist/esm/mkdir.d.ts.map +1 -0
  733. package/node_modules/tar/dist/esm/mkdir.js +179 -0
  734. package/node_modules/tar/dist/esm/mkdir.js.map +1 -0
  735. package/node_modules/tar/dist/esm/mode-fix.d.ts +2 -0
  736. package/node_modules/tar/dist/esm/mode-fix.d.ts.map +1 -0
  737. package/node_modules/tar/dist/esm/mode-fix.js +25 -0
  738. package/node_modules/tar/dist/esm/mode-fix.js.map +1 -0
  739. package/node_modules/tar/dist/esm/normalize-unicode.d.ts +2 -0
  740. package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +1 -0
  741. package/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  742. package/node_modules/tar/dist/esm/normalize-unicode.js.map +1 -0
  743. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +2 -0
  744. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -0
  745. package/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  746. package/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -0
  747. package/node_modules/tar/dist/esm/options.d.ts +604 -0
  748. package/node_modules/tar/dist/esm/options.d.ts.map +1 -0
  749. package/node_modules/tar/dist/esm/options.js +54 -0
  750. package/node_modules/tar/dist/esm/options.js.map +1 -0
  751. package/node_modules/tar/dist/esm/pack.d.ts +105 -0
  752. package/node_modules/tar/dist/esm/pack.d.ts.map +1 -0
  753. package/node_modules/tar/dist/esm/pack.js +502 -0
  754. package/node_modules/tar/dist/esm/pack.js.map +1 -0
  755. package/node_modules/tar/dist/esm/package.json +3 -0
  756. package/node_modules/tar/dist/esm/parse.d.ts +92 -0
  757. package/node_modules/tar/dist/esm/parse.d.ts.map +1 -0
  758. package/node_modules/tar/dist/esm/parse.js +651 -0
  759. package/node_modules/tar/dist/esm/parse.js.map +1 -0
  760. package/node_modules/tar/dist/esm/path-reservations.d.ts +11 -0
  761. package/node_modules/tar/dist/esm/path-reservations.d.ts.map +1 -0
  762. package/node_modules/tar/dist/esm/path-reservations.js +166 -0
  763. package/node_modules/tar/dist/esm/path-reservations.js.map +1 -0
  764. package/node_modules/tar/dist/esm/pax.d.ts +26 -0
  765. package/node_modules/tar/dist/esm/pax.d.ts.map +1 -0
  766. package/node_modules/tar/dist/esm/pax.js +178 -0
  767. package/node_modules/tar/dist/esm/pax.js.map +1 -0
  768. package/node_modules/tar/dist/esm/process-umask.d.ts +2 -0
  769. package/node_modules/tar/dist/esm/process-umask.d.ts.map +1 -0
  770. package/node_modules/tar/dist/esm/process-umask.js +3 -0
  771. package/node_modules/tar/dist/esm/process-umask.js.map +1 -0
  772. package/node_modules/tar/dist/esm/read-entry.d.ts +36 -0
  773. package/node_modules/tar/dist/esm/read-entry.d.ts.map +1 -0
  774. package/node_modules/tar/dist/esm/read-entry.js +132 -0
  775. package/node_modules/tar/dist/esm/read-entry.js.map +1 -0
  776. package/node_modules/tar/dist/esm/replace.d.ts +2 -0
  777. package/node_modules/tar/dist/esm/replace.d.ts.map +1 -0
  778. package/node_modules/tar/dist/esm/replace.js +221 -0
  779. package/node_modules/tar/dist/esm/replace.js.map +1 -0
  780. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +2 -0
  781. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +1 -0
  782. package/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  783. package/node_modules/tar/dist/esm/strip-absolute-path.js.map +1 -0
  784. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +2 -0
  785. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +1 -0
  786. package/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  787. package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +1 -0
  788. package/node_modules/tar/dist/esm/symlink-error.d.ts +9 -0
  789. package/node_modules/tar/dist/esm/symlink-error.d.ts.map +1 -0
  790. package/node_modules/tar/dist/esm/symlink-error.js +15 -0
  791. package/node_modules/tar/dist/esm/symlink-error.js.map +1 -0
  792. package/node_modules/tar/dist/esm/types.d.ts +16 -0
  793. package/node_modules/tar/dist/esm/types.d.ts.map +1 -0
  794. package/node_modules/tar/dist/esm/types.js +65 -0
  795. package/node_modules/tar/dist/esm/types.js.map +1 -0
  796. package/node_modules/tar/dist/esm/unpack.d.ts +101 -0
  797. package/node_modules/tar/dist/esm/unpack.d.ts.map +1 -0
  798. package/node_modules/tar/dist/esm/unpack.js +891 -0
  799. package/node_modules/tar/dist/esm/unpack.js.map +1 -0
  800. package/node_modules/tar/dist/esm/update.d.ts +2 -0
  801. package/node_modules/tar/dist/esm/update.d.ts.map +1 -0
  802. package/node_modules/tar/dist/esm/update.js +30 -0
  803. package/node_modules/tar/dist/esm/update.js.map +1 -0
  804. package/node_modules/tar/dist/esm/warn-method.d.ts +24 -0
  805. package/node_modules/tar/dist/esm/warn-method.d.ts.map +1 -0
  806. package/node_modules/tar/dist/esm/warn-method.js +27 -0
  807. package/node_modules/tar/dist/esm/warn-method.js.map +1 -0
  808. package/node_modules/tar/dist/esm/winchars.d.ts +3 -0
  809. package/node_modules/tar/dist/esm/winchars.d.ts.map +1 -0
  810. package/node_modules/tar/dist/esm/winchars.js +9 -0
  811. package/node_modules/tar/dist/esm/winchars.js.map +1 -0
  812. package/node_modules/tar/dist/esm/write-entry.d.ts +129 -0
  813. package/node_modules/tar/dist/esm/write-entry.d.ts.map +1 -0
  814. package/node_modules/tar/dist/esm/write-entry.js +656 -0
  815. package/node_modules/tar/dist/esm/write-entry.js.map +1 -0
  816. package/node_modules/tar/package.json +298 -0
  817. package/node_modules/ws/lib/websocket.js +17 -3
  818. package/node_modules/ws/package.json +1 -1
  819. package/node_modules/yallist/LICENSE.md +63 -0
  820. package/node_modules/yallist/README.md +205 -0
  821. package/node_modules/yallist/dist/commonjs/index.d.ts +39 -0
  822. package/node_modules/yallist/dist/commonjs/index.d.ts.map +1 -0
  823. package/node_modules/yallist/dist/commonjs/index.js +384 -0
  824. package/node_modules/yallist/dist/commonjs/index.js.map +1 -0
  825. package/node_modules/yallist/dist/commonjs/package.json +3 -0
  826. package/node_modules/yallist/dist/esm/index.d.ts +39 -0
  827. package/node_modules/yallist/dist/esm/index.d.ts.map +1 -0
  828. package/node_modules/yallist/dist/esm/index.js +379 -0
  829. package/node_modules/yallist/dist/esm/index.js.map +1 -0
  830. package/node_modules/yallist/dist/esm/package.json +3 -0
  831. package/node_modules/yallist/package.json +68 -0
  832. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +19 -18
  833. package/node_modules/yaml/browser/dist/nodes/Alias.js +25 -23
  834. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +19 -18
  835. package/node_modules/yaml/dist/nodes/Alias.js +25 -23
  836. package/node_modules/yaml/package.json +1 -1
  837. package/package.json +7 -1
  838. package/bin/completion/templates/cds-tmpl.fish +0 -65
  839. package/bin/completion/templates/cds-tmpl.ps1 +0 -217
  840. package/bin/completion/templates/cds-tmpl.sh +0 -93
  841. package/bin/completion/templates/cds-tmpl.zsh +0 -74
  842. package/node_modules/@cap-js/db-service/lib/recursion-guard.js +0 -40
  843. package/node_modules/@sap/cds/lib/env/cds-requires.js +0 -326
  844. package/node_modules/@sap/cds-mtxs/srv/bootstrap.cds +0 -2
  845. package/node_modules/@sap/cds-mtxs/srv/bootstrap.js +0 -33
  846. package/node_modules/body-parser/node_modules/content-type/LICENSE +0 -22
  847. package/node_modules/body-parser/node_modules/content-type/README.md +0 -71
  848. package/node_modules/body-parser/node_modules/content-type/package.json +0 -52
  849. package/node_modules/content-disposition/index.js +0 -536
  850. package/node_modules/content-type/HISTORY.md +0 -29
  851. package/node_modules/content-type/index.js +0 -225
  852. package/node_modules/negotiator/node_modules/content-type/LICENSE +0 -22
  853. package/node_modules/negotiator/node_modules/content-type/README.md +0 -71
  854. package/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +0 -46
  855. package/node_modules/negotiator/node_modules/content-type/dist/index.js +0 -176
  856. package/node_modules/negotiator/node_modules/content-type/dist/index.js.map +0 -1
  857. package/node_modules/negotiator/node_modules/content-type/package.json +0 -52
  858. package/node_modules/type-is/node_modules/content-type/LICENSE +0 -22
  859. package/node_modules/type-is/node_modules/content-type/README.md +0 -71
  860. package/node_modules/type-is/node_modules/content-type/dist/index.d.ts +0 -46
  861. package/node_modules/type-is/node_modules/content-type/dist/index.js +0 -176
  862. package/node_modules/type-is/node_modules/content-type/dist/index.js.map +0 -1
  863. package/node_modules/type-is/node_modules/content-type/package.json +0 -52
  864. /package/lib/init/template/react/files/{vite.config.js.hbs → vite.config.{{extension}}.hbs} +0 -0
  865. /package/lib/init/template/vue/files/src/{main.js → main.{{extension}}.hbs} +0 -0
  866. /package/lib/init/template/vue/files/{vite.config.js.hbs → vite.config.{{extension}}.hbs} +0 -0
  867. /package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/utilities.js +0 -0
  868. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.d.ts +0 -0
  869. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js +0 -0
  870. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unpack.js","sourceRoot":"","sources":["../../src/unpack.ts"],"names":[],"mappings":"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","sourcesContent":["// the PEND/UNPEND stuff tracks whether we're ready to emit end/close yet.\n// but the path reservations are required to avoid race conditions where\n// parallelized unpack ops may mess with one another, due to dependencies\n// (like a Link depending on its target) or destructive operations (like\n// clobbering an fs object to create one of a different type.)\n\nimport * as fsm from '@isaacs/fs-minipass'\nimport assert from 'node:assert'\nimport { randomBytes } from 'node:crypto'\nimport fs, { type Stats } from 'node:fs'\nimport path from 'node:path'\nimport { getWriteFlag } from './get-write-flag.js'\nimport type { MkdirError } from './mkdir.js'\nimport { mkdir, mkdirSync } from './mkdir.js'\nimport { normalizeWindowsPath } from './normalize-windows-path.js'\nimport { Parser } from './parse.js'\nimport { stripAbsolutePath } from './strip-absolute-path.js'\nimport * as wc from './winchars.js'\n\nimport type { TarOptions } from './options.js'\nimport { PathReservations } from './path-reservations.js'\nimport type { ReadEntry } from './read-entry.js'\nimport type { WarnData } from './warn-method.js'\nimport { SymlinkError } from './symlink-error.js'\nimport { umask } from './process-umask.js'\n\nconst ONENTRY = Symbol('onEntry')\nconst CHECKFS = Symbol('checkFs')\nconst CHECKFS2 = Symbol('checkFs2')\nconst ISREUSABLE = Symbol('isReusable')\nconst MAKEFS = Symbol('makeFs')\nconst FILE = Symbol('file')\nconst DIRECTORY = Symbol('directory')\nconst LINK = Symbol('link')\nconst SYMLINK = Symbol('symlink')\nconst HARDLINK = Symbol('hardlink')\nconst ENSURE_NO_SYMLINK = Symbol('ensureNoSymlink')\nconst UNSUPPORTED = Symbol('unsupported')\nconst CHECKPATH = Symbol('checkPath')\nconst STRIPABSOLUTEPATH = Symbol('stripAbsolutePath')\nconst MKDIR = Symbol('mkdir')\nconst ONERROR = Symbol('onError')\nconst PENDING = Symbol('pending')\nconst PEND = Symbol('pend')\nconst UNPEND = Symbol('unpend')\nconst ENDED = Symbol('ended')\nconst MAYBECLOSE = Symbol('maybeClose')\nconst SKIP = Symbol('skip')\nconst DOCHOWN = Symbol('doChown')\nconst UID = Symbol('uid')\nconst GID = Symbol('gid')\nconst CHECKED_CWD = Symbol('checkedCwd')\nconst platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform\nconst isWindows = platform === 'win32'\nconst DEFAULT_MAX_DEPTH = 1024\n\n// Unlinks on Windows are not atomic.\n//\n// This means that if you have a file entry, followed by another\n// file entry with an identical name, and you cannot re-use the file\n// (because it's a hardlink, or because unlink:true is set, or it's\n// Windows, which does not have useful nlink values), then the unlink\n// will be committed to the disk AFTER the new file has been written\n// over the old one, deleting the new file.\n//\n// To work around this, on Windows systems, we rename the file and then\n// delete the renamed file. It's a sloppy kludge, but frankly, I do not\n// know of a better way to do this, given windows' non-atomic unlink\n// semantics.\n//\n// See: https://github.com/npm/node-tar/issues/183\n/* c8 ignore start */\nconst unlinkFile = (path: string, cb: (er?: Error | null) => void) => {\n if (!isWindows) {\n return fs.unlink(path, cb)\n }\n\n const name = path + '.DELETE.' + randomBytes(16).toString('hex')\n fs.rename(path, name, er => {\n if (er) {\n return cb(er)\n }\n fs.unlink(name, cb)\n })\n}\n/* c8 ignore stop */\n\n/* c8 ignore start */\nconst unlinkFileSync = (path: string) => {\n if (!isWindows) {\n return fs.unlinkSync(path)\n }\n\n const name = path + '.DELETE.' + randomBytes(16).toString('hex')\n fs.renameSync(path, name)\n fs.unlinkSync(name)\n}\n/* c8 ignore stop */\n\n// this.gid, entry.gid, this.processUid\nconst uint32 = (\n a: number | undefined,\n b: number | undefined,\n c: number | undefined,\n) =>\n a !== undefined && a === a >>> 0 ? a\n : b !== undefined && b === b >>> 0 ? b\n : c\n\nexport class Unpack extends Parser {\n [ENDED]: boolean = false;\n [CHECKED_CWD]: boolean = false;\n [PENDING]: number = 0\n\n reservations: PathReservations = new PathReservations()\n transform?: TarOptions['transform']\n writable: true = true\n readable: false = false\n uid?: number\n gid?: number\n setOwner: boolean\n preserveOwner: boolean\n processGid?: number\n processUid?: number\n maxDepth: number\n forceChown: boolean\n win32: boolean\n newer: boolean\n keep: boolean\n noMtime: boolean\n preservePaths: boolean\n unlink: boolean\n cwd: string\n strip: number\n processUmask: number\n umask: number\n dmode: number\n fmode: number\n chmod: boolean\n\n constructor(opt: TarOptions = {}) {\n opt.ondone = () => {\n this[ENDED] = true\n this[MAYBECLOSE]()\n }\n\n super(opt)\n\n this.transform = opt.transform\n\n this.chmod = !!opt.chmod\n\n if (typeof opt.uid === 'number' || typeof opt.gid === 'number') {\n // need both or neither\n if (typeof opt.uid !== 'number' || typeof opt.gid !== 'number') {\n throw new TypeError('cannot set owner without number uid and gid')\n }\n if (opt.preserveOwner) {\n throw new TypeError(\n 'cannot preserve owner in archive and also set owner explicitly',\n )\n }\n this.uid = opt.uid\n this.gid = opt.gid\n this.setOwner = true\n } else {\n this.uid = undefined\n this.gid = undefined\n this.setOwner = false\n }\n\n // default true for root\n this.preserveOwner =\n opt.preserveOwner === undefined && typeof opt.uid !== 'number' ?\n !!(process.getuid?.() === 0)\n : !!opt.preserveOwner\n\n this.processUid =\n (this.preserveOwner || this.setOwner) && process.getuid ?\n process.getuid()\n : undefined\n this.processGid =\n (this.preserveOwner || this.setOwner) && process.getgid ?\n process.getgid()\n : undefined\n\n // prevent excessively deep nesting of subfolders\n // set to `Infinity` to remove this restriction\n this.maxDepth =\n typeof opt.maxDepth === 'number' ? opt.maxDepth : DEFAULT_MAX_DEPTH\n\n // mostly just for testing, but useful in some cases.\n // Forcibly trigger a chown on every entry, no matter what\n this.forceChown = opt.forceChown === true\n\n // turn ><?| in filenames into 0xf000-higher encoded forms\n this.win32 = !!opt.win32 || isWindows\n\n // do not unpack over files that are newer than what's in the archive\n this.newer = !!opt.newer\n\n // do not unpack over ANY files\n this.keep = !!opt.keep\n\n // do not set mtime/atime of extracted entries\n this.noMtime = !!opt.noMtime\n\n // allow .., absolute path entries, and unpacking through symlinks\n // without this, warn and skip .., relativize absolutes, and error\n // on symlinks in extraction path\n this.preservePaths = !!opt.preservePaths\n\n // unlink files and links before writing. This breaks existing hard\n // links, and removes symlink directories rather than erroring\n this.unlink = !!opt.unlink\n\n this.cwd = normalizeWindowsPath(path.resolve(opt.cwd || process.cwd()))\n this.strip = Number(opt.strip) || 0\n // if we're not chmodding, then we don't need the process umask\n this.processUmask =\n !this.chmod ? 0\n : typeof opt.processUmask === 'number' ? opt.processUmask\n : umask()\n this.umask =\n typeof opt.umask === 'number' ? opt.umask : this.processUmask\n\n // default mode for dirs created as parents\n this.dmode = opt.dmode || 0o0777 & ~this.umask\n this.fmode = opt.fmode || 0o0666 & ~this.umask\n\n this.on('entry', entry => this[ONENTRY](entry))\n }\n\n // a bad or damaged archive is a warning for Parser, but an error\n // when extracting. Mark those errors as unrecoverable, because\n // the Unpack contract cannot be met.\n warn(code: string, msg: string | Error, data: WarnData = {}) {\n if (code === 'TAR_BAD_ARCHIVE' || code === 'TAR_ABORT') {\n data.recoverable = false\n }\n return super.warn(code, msg, data)\n }\n\n [MAYBECLOSE]() {\n if (this[ENDED] && this[PENDING] === 0) {\n this.emit('prefinish')\n this.emit('finish')\n this.emit('end')\n }\n }\n\n // return false if we need to skip this file\n // return true if the field was successfully sanitized\n [STRIPABSOLUTEPATH](\n entry: ReadEntry,\n field: 'path' | 'linkpath',\n ): boolean {\n const p = entry[field]\n const { type } = entry\n if (!p || this.preservePaths) return true\n\n // strip off the root\n const [root, stripped] = stripAbsolutePath(p)\n const parts = stripped.replaceAll(/\\\\/g, '/').split('/')\n\n if (\n parts.includes('..') ||\n /* c8 ignore next */\n (isWindows && /^[a-z]:\\.\\.$/i.test(parts[0] ?? ''))\n ) {\n // For linkpath, check if the resolved path escapes cwd rather than\n // just rejecting any path with '..' - relative symlinks like\n // '../sibling/file' are valid if they resolve within the cwd.\n // For paths, they just simply may not ever use .. at all.\n if (field === 'path' || type === 'Link') {\n this.warn('TAR_ENTRY_ERROR', `${field} contains '..'`, {\n entry,\n [field]: p,\n })\n // not ok!\n return false\n }\n // Resolve linkpath relative to the entry's directory.\n // `path.posix` is safe to use because we're operating on\n // tar paths, not a filesystem.\n const entryDir = path.posix.dirname(entry.path)\n const resolved = path.posix.normalize(\n path.posix.join(entryDir, parts.join('/')),\n )\n // If the resolved path escapes (starts with ..), reject it\n if (resolved.startsWith('../') || resolved === '..') {\n this.warn(\n 'TAR_ENTRY_ERROR',\n `${field} escapes extraction directory`,\n {\n entry,\n [field]: p,\n },\n )\n return false\n }\n }\n\n if (root) {\n // ok, but triggers warning about stripping root\n entry[field] = String(stripped)\n this.warn(\n 'TAR_ENTRY_INFO',\n `stripping ${root} from absolute ${field}`,\n {\n entry,\n [field]: p,\n },\n )\n }\n return true\n }\n\n // no IO, just string checking for absolute indicators\n [CHECKPATH](entry: ReadEntry) {\n const p = normalizeWindowsPath(entry.path)\n const parts = p.split('/')\n\n if (this.strip) {\n if (parts.length < this.strip) {\n return false\n }\n if (entry.type === 'Link') {\n const linkparts = normalizeWindowsPath(\n String(entry.linkpath),\n ).split('/')\n if (linkparts.length >= this.strip) {\n entry.linkpath = linkparts.slice(this.strip).join('/')\n } else {\n return false\n }\n }\n parts.splice(0, this.strip)\n entry.path = parts.join('/')\n }\n\n if (isFinite(this.maxDepth) && parts.length > this.maxDepth) {\n this.warn('TAR_ENTRY_ERROR', 'path excessively deep', {\n entry,\n path: p,\n depth: parts.length,\n maxDepth: this.maxDepth,\n })\n return false\n }\n\n if (\n !this[STRIPABSOLUTEPATH](entry, 'path') ||\n !this[STRIPABSOLUTEPATH](entry, 'linkpath')\n ) {\n return false\n }\n\n entry.absolute =\n path.isAbsolute(entry.path) ?\n normalizeWindowsPath(path.resolve(entry.path))\n : normalizeWindowsPath(path.resolve(this.cwd, entry.path))\n\n // if we somehow ended up with a path that escapes the cwd, and we are\n // not in preservePaths mode, then something is fishy! This should have\n // been prevented above, so ignore this for coverage.\n /* c8 ignore start - defense in depth */\n if (\n !this.preservePaths &&\n typeof entry.absolute === 'string' &&\n entry.absolute.indexOf(this.cwd + '/') !== 0 &&\n entry.absolute !== this.cwd\n ) {\n this.warn('TAR_ENTRY_ERROR', 'path escaped extraction target', {\n entry,\n path: normalizeWindowsPath(entry.path),\n resolvedPath: entry.absolute,\n cwd: this.cwd,\n })\n return false\n }\n /* c8 ignore stop */\n\n // an archive can set properties on the extraction directory, but it\n // may not replace the cwd with a different kind of thing entirely.\n if (\n entry.absolute === this.cwd &&\n entry.type !== 'Directory' &&\n entry.type !== 'GNUDumpDir'\n ) {\n return false\n }\n\n // only encode : chars that aren't drive letter indicators\n if (this.win32) {\n const { root: aRoot } = path.win32.parse(String(entry.absolute))\n entry.absolute =\n aRoot + wc.encode(String(entry.absolute).slice(aRoot.length))\n const { root: pRoot } = path.win32.parse(entry.path)\n entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length))\n }\n\n return true\n }\n\n [ONENTRY](entry: ReadEntry) {\n if (!this[CHECKPATH](entry)) {\n return entry.resume()\n }\n\n assert.equal(typeof entry.absolute, 'string')\n\n switch (entry.type) {\n case 'Directory':\n case 'GNUDumpDir':\n if (entry.mode) {\n entry.mode = entry.mode | 0o700\n }\n\n // eslint-disable-next-line no-fallthrough\n case 'File':\n case 'OldFile':\n case 'ContiguousFile':\n case 'Link':\n case 'SymbolicLink':\n return this[CHECKFS](entry)\n\n case 'CharacterDevice':\n case 'BlockDevice':\n case 'FIFO':\n default:\n return this[UNSUPPORTED](entry)\n }\n }\n\n [ONERROR](er: Error, entry: ReadEntry) {\n // Cwd has to exist, or else nothing works. That's serious.\n // Other errors are warnings, which raise the error in strict\n // mode, but otherwise continue on.\n if (er.name === 'CwdError') {\n this.emit('error', er)\n } else {\n this.warn('TAR_ENTRY_ERROR', er, { entry })\n this[UNPEND]()\n entry.resume()\n }\n }\n\n [MKDIR](\n dir: string,\n mode: number,\n cb: (er?: null | MkdirError, made?: string) => void,\n ) {\n void mkdir(\n normalizeWindowsPath(dir),\n {\n uid: this.uid,\n gid: this.gid,\n processUid: this.processUid,\n processGid: this.processGid,\n umask: this.processUmask,\n preserve: this.preservePaths,\n unlink: this.unlink,\n cwd: this.cwd,\n mode: mode,\n },\n cb,\n )\n }\n\n [DOCHOWN](entry: ReadEntry) {\n // in preserve owner mode, chown if the entry doesn't match process\n // in set owner mode, chown if setting doesn't match process\n return (\n this.forceChown ||\n (this.preserveOwner &&\n ((typeof entry.uid === 'number' &&\n entry.uid !== this.processUid) ||\n (typeof entry.gid === 'number' &&\n entry.gid !== this.processGid))) ||\n (typeof this.uid === 'number' && this.uid !== this.processUid) ||\n (typeof this.gid === 'number' && this.gid !== this.processGid)\n )\n }\n\n [UID](entry: ReadEntry) {\n return uint32(this.uid, entry.uid, this.processUid)\n }\n\n [GID](entry: ReadEntry) {\n return uint32(this.gid, entry.gid, this.processGid)\n }\n\n [FILE](entry: ReadEntry, fullyDone: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.fmode\n const stream = new fsm.WriteStream(String(entry.absolute), {\n // slight lie, but it can be numeric flags\n flags: getWriteFlag(entry.size) as string,\n mode: mode,\n autoClose: false,\n })\n stream.on('error', (er: Error) => {\n if (stream.fd) {\n fs.close(stream.fd, () => {})\n }\n\n // flush all the data out so that we aren't left hanging\n // if the error wasn't actually fatal. otherwise the parse\n // is blocked, and we never proceed.\n stream.write = () => true\n this[ONERROR](er, entry)\n fullyDone()\n })\n\n let actions = 1\n const done = (er?: null | Error) => {\n if (er) {\n /* c8 ignore start - we should always have a fd by now */\n if (stream.fd) {\n fs.close(stream.fd, () => {})\n }\n /* c8 ignore stop */\n\n this[ONERROR](er, entry)\n fullyDone()\n return\n }\n\n if (--actions === 0) {\n if (stream.fd !== undefined) {\n fs.close(stream.fd, er => {\n if (er) {\n this[ONERROR](er, entry)\n } else {\n this[UNPEND]()\n }\n fullyDone()\n })\n }\n }\n }\n\n stream.on('finish', () => {\n // if futimes fails, try utimes\n // if utimes fails, fail with the original error\n // same for fchown/chown\n const abs = String(entry.absolute)\n const fd = stream.fd\n\n if (typeof fd === 'number' && entry.mtime && !this.noMtime) {\n actions++\n const atime = entry.atime || new Date()\n const mtime = entry.mtime\n fs.futimes(fd, atime, mtime, er =>\n er ?\n fs.utimes(abs, atime, mtime, er2 => done(er2 && er))\n : done(),\n )\n }\n\n if (typeof fd === 'number' && this[DOCHOWN](entry)) {\n actions++\n const uid = this[UID](entry)\n const gid = this[GID](entry)\n if (typeof uid === 'number' && typeof gid === 'number') {\n fs.fchown(fd, uid, gid, er =>\n er ? fs.chown(abs, uid, gid, er2 => done(er2 && er)) : done(),\n )\n }\n }\n\n done()\n })\n\n const tx = this.transform ? this.transform(entry) || entry : entry\n if (tx !== entry) {\n tx.on('error', er => {\n this[ONERROR](er as Error, entry)\n fullyDone()\n })\n entry.pipe(tx)\n }\n tx.pipe(stream)\n }\n\n [DIRECTORY](entry: ReadEntry, fullyDone: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.dmode\n this[MKDIR](String(entry.absolute), mode, er => {\n if (er) {\n this[ONERROR](er, entry)\n fullyDone()\n return\n }\n\n let actions = 1\n const done = () => {\n if (--actions === 0) {\n fullyDone()\n this[UNPEND]()\n entry.resume()\n }\n }\n\n if (entry.mtime && !this.noMtime) {\n actions++\n fs.utimes(\n String(entry.absolute),\n entry.atime || new Date(),\n entry.mtime,\n done,\n )\n }\n\n if (this[DOCHOWN](entry)) {\n actions++\n fs.chown(\n String(entry.absolute),\n Number(this[UID](entry)),\n Number(this[GID](entry)),\n done,\n )\n }\n\n done()\n })\n }\n\n [UNSUPPORTED](entry: ReadEntry) {\n entry.unsupported = true\n this.warn(\n 'TAR_ENTRY_UNSUPPORTED',\n `unsupported entry type: ${entry.type}`,\n { entry },\n )\n entry.resume()\n }\n\n [SYMLINK](entry: ReadEntry, done: () => void) {\n const parts = normalizeWindowsPath(\n path.relative(\n this.cwd,\n path.resolve(\n path.dirname(String(entry.absolute)),\n String(entry.linkpath),\n ),\n ),\n ).split('/')\n this[ENSURE_NO_SYMLINK](\n entry,\n this.cwd,\n parts,\n () => this[LINK](entry, String(entry.linkpath), 'symlink', done),\n er => {\n this[ONERROR](er, entry)\n done()\n },\n )\n }\n\n [HARDLINK](entry: ReadEntry, done: () => void) {\n const linkpath = normalizeWindowsPath(\n path.resolve(this.cwd, String(entry.linkpath)),\n )\n const parts = normalizeWindowsPath(String(entry.linkpath)).split('/')\n this[ENSURE_NO_SYMLINK](\n entry,\n this.cwd,\n parts,\n () => this[LINK](entry, linkpath, 'link', done),\n er => {\n this[ONERROR](er, entry)\n done()\n },\n )\n }\n\n [ENSURE_NO_SYMLINK](\n entry: ReadEntry,\n cwd: string,\n parts: string[],\n done: () => void,\n onError: (er: SymlinkError) => void,\n ) {\n const p = parts.shift()\n if (this.preservePaths || p === undefined) return done()\n const t = path.resolve(cwd, p)\n fs.lstat(t, (er, st) => {\n if (er) return done()\n if (st?.isSymbolicLink()) {\n return onError(\n new SymlinkError(t, path.resolve(t, parts.join('/'))),\n )\n }\n this[ENSURE_NO_SYMLINK](entry, t, parts, done, onError)\n })\n }\n\n [PEND]() {\n this[PENDING]++\n }\n\n [UNPEND]() {\n this[PENDING]--\n this[MAYBECLOSE]()\n }\n\n [SKIP](entry: ReadEntry) {\n this[UNPEND]()\n entry.resume()\n }\n\n // Check if we can reuse an existing filesystem entry safely and\n // overwrite it, rather than unlinking and recreating\n // Windows doesn't report a useful nlink, so we just never reuse entries\n [ISREUSABLE](entry: ReadEntry, st: Stats) {\n return (\n entry.type === 'File' &&\n !this.unlink &&\n st.isFile() &&\n st.nlink <= 1 &&\n !isWindows\n )\n }\n\n // check if a thing is there, and if so, try to clobber it\n [CHECKFS](entry: ReadEntry) {\n this[PEND]()\n const paths = [entry.path]\n if (entry.linkpath) {\n paths.push(entry.linkpath)\n }\n this.reservations.reserve(paths, done => this[CHECKFS2](entry, done))\n }\n\n [CHECKFS2](entry: ReadEntry, fullyDone: (er?: Error) => void) {\n const done = (er?: Error) => {\n fullyDone(er)\n }\n\n const checkCwd = () => {\n this[MKDIR](this.cwd, this.dmode, er => {\n if (er) {\n this[ONERROR](er, entry)\n done()\n return\n }\n this[CHECKED_CWD] = true\n start()\n })\n }\n\n const start = () => {\n if (entry.absolute !== this.cwd) {\n const parent = normalizeWindowsPath(\n path.dirname(String(entry.absolute)),\n )\n if (parent !== this.cwd) {\n return this[MKDIR](parent, this.dmode, er => {\n if (er) {\n this[ONERROR](er, entry)\n done()\n return\n }\n afterMakeParent()\n })\n }\n }\n afterMakeParent()\n }\n\n const afterMakeParent = () => {\n fs.lstat(String(entry.absolute), (lstatEr, st) => {\n if (\n st &&\n (this.keep ||\n /* c8 ignore next */\n (this.newer && st.mtime > (entry.mtime ?? st.mtime)))\n ) {\n this[SKIP](entry)\n done()\n return\n }\n if (lstatEr || this[ISREUSABLE](entry, st)) {\n return this[MAKEFS](null, entry, done)\n }\n\n if (st.isDirectory()) {\n if (entry.type === 'Directory') {\n const needChmod =\n this.chmod && entry.mode && (st.mode & 0o7777) !== entry.mode\n const afterChmod = (er?: Error | null | undefined) =>\n this[MAKEFS](er ?? null, entry, done)\n if (!needChmod) {\n return afterChmod()\n }\n return fs.chmod(\n String(entry.absolute),\n Number(entry.mode),\n afterChmod,\n )\n }\n // Not a dir entry, have to remove it.\n // NB: the only way to end up with an entry that is the cwd\n // itself, in such a way that == does not detect, is a\n // tricky windows absolute path with UNC or 8.3 parts (and\n // preservePaths:true, or else it will have been stripped).\n // In that case, the user has opted out of path protections\n // explicitly, so if they blow away the cwd, c'est la vie.\n if (entry.absolute !== this.cwd) {\n return fs.rmdir(String(entry.absolute), (er?: null | Error) =>\n this[MAKEFS](er ?? null, entry, done),\n )\n }\n }\n\n // not a dir, and not reusable\n // don't remove if the cwd, we want that error\n if (entry.absolute === this.cwd) {\n return this[MAKEFS](null, entry, done)\n }\n\n unlinkFile(String(entry.absolute), er =>\n this[MAKEFS](er ?? null, entry, done),\n )\n })\n }\n\n if (this[CHECKED_CWD]) {\n start()\n } else {\n checkCwd()\n }\n }\n\n [MAKEFS](\n er: null | undefined | Error,\n entry: ReadEntry,\n done: () => void,\n ) {\n if (er) {\n this[ONERROR](er, entry)\n done()\n return\n }\n\n switch (entry.type) {\n case 'File':\n case 'OldFile':\n case 'ContiguousFile':\n return this[FILE](entry, done)\n\n case 'Link':\n return this[HARDLINK](entry, done)\n\n case 'SymbolicLink':\n return this[SYMLINK](entry, done)\n\n case 'Directory':\n case 'GNUDumpDir':\n return this[DIRECTORY](entry, done)\n }\n }\n\n [LINK](\n entry: ReadEntry,\n linkpath: string,\n link: 'link' | 'symlink',\n done: () => void,\n ) {\n fs[link](linkpath, String(entry.absolute), er => {\n if (er) {\n this[ONERROR](er, entry)\n } else {\n this[UNPEND]()\n entry.resume()\n }\n done()\n })\n }\n}\n\nconst callSync = <T>(\n fn: () => T,\n): [null, T] | [NodeJS.ErrnoException, null] => {\n try {\n return [null, fn()]\n } catch (er) {\n return [er as NodeJS.ErrnoException, null]\n }\n}\n\nexport class UnpackSync extends Unpack {\n sync: true = true;\n\n [MAKEFS](er: null | Error | undefined, entry: ReadEntry) {\n return super[MAKEFS](er, entry, () => {})\n }\n\n [CHECKFS](entry: ReadEntry) {\n if (!this[CHECKED_CWD]) {\n const er = this[MKDIR](this.cwd, this.dmode)\n if (er) {\n return this[ONERROR](er as Error, entry)\n }\n this[CHECKED_CWD] = true\n }\n\n // don't bother to make the parent if the current entry is the cwd,\n // we've already checked it.\n if (entry.absolute !== this.cwd) {\n const parent = normalizeWindowsPath(\n path.dirname(String(entry.absolute)),\n )\n if (parent !== this.cwd) {\n const mkParent = this[MKDIR](parent, this.dmode)\n if (mkParent) {\n return this[ONERROR](mkParent as Error, entry)\n }\n }\n }\n\n const [lstatEr, st] = callSync(() =>\n fs.lstatSync(String(entry.absolute)),\n )\n if (\n st &&\n (this.keep ||\n /* c8 ignore next */\n (this.newer && st.mtime > (entry.mtime ?? st.mtime)))\n ) {\n return this[SKIP](entry)\n }\n\n if (lstatEr || this[ISREUSABLE](entry, st)) {\n return this[MAKEFS](null, entry)\n }\n\n if (st.isDirectory()) {\n if (entry.type === 'Directory') {\n const needChmod =\n this.chmod && entry.mode && (st.mode & 0o7777) !== entry.mode\n const [er] =\n needChmod ?\n callSync(() => {\n fs.chmodSync(String(entry.absolute), Number(entry.mode))\n })\n : []\n return this[MAKEFS](er, entry)\n }\n // not a dir entry, have to remove it\n const [er] = callSync(() => fs.rmdirSync(String(entry.absolute)))\n this[MAKEFS](er, entry)\n }\n\n // not a dir, and not reusable.\n // don't remove if it's the cwd, since we want that error.\n const [er] =\n entry.absolute === this.cwd ?\n []\n : callSync(() => unlinkFileSync(String(entry.absolute)))\n this[MAKEFS](er, entry)\n }\n\n [FILE](entry: ReadEntry, done: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.fmode\n\n const oner = (er?: null | Error | undefined) => {\n let closeError\n try {\n fs.closeSync(fd)\n } catch (e) {\n closeError = e\n }\n if (er || closeError) {\n this[ONERROR]((er as Error) || closeError, entry)\n }\n done()\n }\n\n let fd: number\n try {\n fd = fs.openSync(\n String(entry.absolute),\n getWriteFlag(entry.size),\n mode,\n )\n /* c8 ignore start - This is only a problem if the file was successfully\n * statted, BUT failed to open. Testing this is annoying, and we\n * already have ample testint for other uses of oner() methods.\n */\n } catch (er) {\n return oner(er as Error)\n }\n /* c8 ignore stop */\n const tx = this.transform ? this.transform(entry) || entry : entry\n if (tx !== entry) {\n tx.on('error', er => this[ONERROR](er as Error, entry))\n entry.pipe(tx)\n }\n\n tx.on('data', (chunk: Buffer) => {\n try {\n fs.writeSync(fd, chunk, 0, chunk.length)\n } catch (er) {\n oner(er as Error)\n }\n })\n\n tx.on('end', () => {\n let er = null\n // try both, falling futimes back to utimes\n // if either fails, handle the first error\n if (entry.mtime && !this.noMtime) {\n const atime = entry.atime || new Date()\n const mtime = entry.mtime\n try {\n fs.futimesSync(fd, atime, mtime)\n } catch (futimeser) {\n try {\n fs.utimesSync(String(entry.absolute), atime, mtime)\n } catch {\n er = futimeser\n }\n }\n }\n\n if (this[DOCHOWN](entry)) {\n const uid = this[UID](entry)\n const gid = this[GID](entry)\n\n try {\n fs.fchownSync(fd, Number(uid), Number(gid))\n } catch (fchowner) {\n try {\n fs.chownSync(String(entry.absolute), Number(uid), Number(gid))\n } catch {\n er = er || fchowner\n }\n }\n }\n\n oner(er as Error)\n })\n }\n\n [DIRECTORY](entry: ReadEntry, done: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.dmode\n const er = this[MKDIR](String(entry.absolute), mode)\n if (er) {\n this[ONERROR](er as Error, entry)\n done()\n return\n }\n if (entry.mtime && !this.noMtime) {\n try {\n fs.utimesSync(\n String(entry.absolute),\n entry.atime || new Date(),\n entry.mtime,\n )\n /* c8 ignore next */\n } catch {}\n }\n if (this[DOCHOWN](entry)) {\n try {\n fs.chownSync(\n String(entry.absolute),\n Number(this[UID](entry)),\n Number(this[GID](entry)),\n )\n } catch {}\n }\n done()\n entry.resume()\n }\n\n [MKDIR](dir: string, mode: number) {\n try {\n return mkdirSync(normalizeWindowsPath(dir), {\n uid: this.uid,\n gid: this.gid,\n processUid: this.processUid,\n processGid: this.processGid,\n umask: this.processUmask,\n preserve: this.preservePaths,\n unlink: this.unlink,\n cwd: this.cwd,\n mode: mode,\n })\n } catch (er) {\n return er\n }\n }\n\n [ENSURE_NO_SYMLINK](\n _entry: ReadEntry,\n cwd: string,\n parts: string[],\n done: () => void,\n onError: (er: SymlinkError) => void,\n ) {\n if (this.preservePaths || parts.length === 0) return done()\n let t = cwd\n for (const p of parts) {\n t = path.resolve(t, p)\n const [er, st] = callSync(() => fs.lstatSync(t))\n if (er) return done()\n if (st.isSymbolicLink()) {\n return onError(\n new SymlinkError(t, path.resolve(cwd, parts.join('/'))),\n )\n }\n }\n done()\n }\n\n [LINK](\n entry: ReadEntry,\n linkpath: string,\n link: 'link' | 'symlink',\n done: () => void,\n ) {\n const linkSync: `${typeof link}Sync` = `${link}Sync`\n try {\n fs[linkSync](linkpath, String(entry.absolute))\n done()\n entry.resume()\n } catch (er) {\n return this[ONERROR](er as Error, entry)\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const update: import("./make-command.js").TarCommand<never, never>;
2
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/update.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,sDASlB,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // tar -u
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.update = void 0;
5
+ const make_command_js_1 = require("./make-command.js");
6
+ const replace_js_1 = require("./replace.js");
7
+ // just call tar.r with the filter and mtimeCache
8
+ exports.update = (0, make_command_js_1.makeCommand)(replace_js_1.replace.syncFile, replace_js_1.replace.asyncFile, replace_js_1.replace.syncNoFile, replace_js_1.replace.asyncNoFile, (opt, entries = []) => {
9
+ replace_js_1.replace.validate?.(opt, entries);
10
+ mtimeFilter(opt);
11
+ });
12
+ const mtimeFilter = (opt) => {
13
+ const filter = opt.filter;
14
+ if (!opt.mtimeCache) {
15
+ opt.mtimeCache = new Map();
16
+ }
17
+ opt.filter =
18
+ filter ?
19
+ (path, stat) => filter(path, stat) &&
20
+ !(
21
+ /* c8 ignore start */
22
+ ((opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >
23
+ (stat.mtime ?? 0))
24
+ /* c8 ignore stop */
25
+ )
26
+ : (path, stat) => !(
27
+ /* c8 ignore start */
28
+ ((opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >
29
+ (stat.mtime ?? 0))
30
+ /* c8 ignore stop */
31
+ );
32
+ };
33
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update.ts"],"names":[],"mappings":";AAAA,SAAS;;;AAET,uDAA+C;AAG/C,6CAA2C;AAE3C,iDAAiD;AACpC,QAAA,MAAM,GAAG,IAAA,6BAAW,EAC/B,oBAAC,CAAC,QAAQ,EACV,oBAAC,CAAC,SAAS,EACX,oBAAC,CAAC,UAAU,EACZ,oBAAC,CAAC,WAAW,EACb,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IACpB,oBAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC1B,WAAW,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC,CACF,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,GAA0B,EAAE,EAAE;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IAEzB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,MAAM;QACR,MAAM,CAAC,CAAC;YACN,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACb,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;gBAClB,CAAC;gBACC,qBAAqB;gBACrB,CACE,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC9C,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAClB;gBACD,oBAAoB;iBACrB;YACL,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACb,CAAC;YACC,qBAAqB;YACrB,CACE,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC9C,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAClB;YACD,oBAAoB;aACrB,CAAA;AACT,CAAC,CAAA","sourcesContent":["// tar -u\n\nimport { makeCommand } from './make-command.js'\nimport { type TarOptionsWithAliases } from './options.js'\n\nimport { replace as r } from './replace.js'\n\n// just call tar.r with the filter and mtimeCache\nexport const update = makeCommand(\n r.syncFile,\n r.asyncFile,\n r.syncNoFile,\n r.asyncNoFile,\n (opt, entries = []) => {\n r.validate?.(opt, entries)\n mtimeFilter(opt)\n },\n)\n\nconst mtimeFilter = (opt: TarOptionsWithAliases) => {\n const filter = opt.filter\n\n if (!opt.mtimeCache) {\n opt.mtimeCache = new Map()\n }\n\n opt.filter =\n filter ?\n (path, stat) =>\n filter(path, stat) &&\n !(\n /* c8 ignore start */\n (\n (opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >\n (stat.mtime ?? 0)\n )\n /* c8 ignore stop */\n )\n : (path, stat) =>\n !(\n /* c8 ignore start */\n (\n (opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >\n (stat.mtime ?? 0)\n )\n /* c8 ignore stop */\n )\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { type Minipass } from 'minipass';
2
+ /** has a warn method */
3
+ export type Warner = {
4
+ warn(code: string, message: string | Error, data: unknown): void;
5
+ file?: string;
6
+ cwd?: string;
7
+ strict?: boolean;
8
+ emit(event: 'warn', code: string, message: string, data?: WarnData): void;
9
+ emit(event: 'error', error: TarError): void;
10
+ };
11
+ export type WarnEvent<T = Buffer> = Minipass.Events<T> & {
12
+ warn: [code: string, message: string, data: WarnData];
13
+ };
14
+ export type WarnData = {
15
+ file?: string;
16
+ cwd?: string;
17
+ code?: string;
18
+ tarCode?: string;
19
+ recoverable?: boolean;
20
+ [k: string]: unknown;
21
+ };
22
+ export type TarError = Error & WarnData;
23
+ export declare const warnMethod: (self: Warner, code: string, message: string | Error, data?: WarnData) => void;
24
+ //# sourceMappingURL=warn-method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-method.d.ts","sourceRoot":"","sources":["../../src/warn-method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,wBAAwB;AACxB,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAChE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;IACvD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEvC,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,SAAS,MAAM,GAAG,KAAK,EACvB,OAAM,QAAa,SA2BpB,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.warnMethod = void 0;
4
+ const warnMethod = (self, code, message, data = {}) => {
5
+ if (self.file) {
6
+ data.file = self.file;
7
+ }
8
+ if (self.cwd) {
9
+ data.cwd = self.cwd;
10
+ }
11
+ data.code =
12
+ (message instanceof Error &&
13
+ message.code) ||
14
+ code;
15
+ data.tarCode = code;
16
+ if (!self.strict && data.recoverable !== false) {
17
+ if (message instanceof Error) {
18
+ data = Object.assign(message, data);
19
+ message = message.message;
20
+ }
21
+ self.emit('warn', code, message, data);
22
+ }
23
+ else if (message instanceof Error) {
24
+ self.emit('error', Object.assign(message, data));
25
+ }
26
+ else {
27
+ self.emit('error', Object.assign(new Error(`${code}: ${message}`), data));
28
+ }
29
+ };
30
+ exports.warnMethod = warnMethod;
31
+ //# sourceMappingURL=warn-method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-method.js","sourceRoot":"","sources":["../../src/warn-method.ts"],"names":[],"mappings":";;;AA4BO,MAAM,UAAU,GAAG,CACxB,IAAY,EACZ,IAAY,EACZ,OAAuB,EACvB,OAAiB,EAAE,EACnB,EAAE;IACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACrB,CAAC;IACD,IAAI,CAAC,IAAI;QACP,CAAC,OAAO,YAAY,KAAK;YACtB,OAAiC,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAA;IACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAC/C,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CACP,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CACtD,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AA/BY,QAAA,UAAU,cA+BtB","sourcesContent":["import { type Minipass } from 'minipass'\n\n/** has a warn method */\nexport type Warner = {\n warn(code: string, message: string | Error, data: unknown): void\n file?: string\n cwd?: string\n strict?: boolean\n\n emit(event: 'warn', code: string, message: string, data?: WarnData): void\n emit(event: 'error', error: TarError): void\n}\n\nexport type WarnEvent<T = Buffer> = Minipass.Events<T> & {\n warn: [code: string, message: string, data: WarnData]\n}\n\nexport type WarnData = {\n file?: string\n cwd?: string\n code?: string\n tarCode?: string\n recoverable?: boolean\n [k: string]: unknown\n}\n\nexport type TarError = Error & WarnData\n\nexport const warnMethod = (\n self: Warner,\n code: string,\n message: string | Error,\n data: WarnData = {},\n) => {\n if (self.file) {\n data.file = self.file\n }\n if (self.cwd) {\n data.cwd = self.cwd\n }\n data.code =\n (message instanceof Error &&\n (message as NodeJS.ErrnoException).code) ||\n code\n data.tarCode = code\n if (!self.strict && data.recoverable !== false) {\n if (message instanceof Error) {\n data = Object.assign(message, data)\n message = message.message\n }\n self.emit('warn', code, message, data)\n } else if (message instanceof Error) {\n self.emit('error', Object.assign(message, data))\n } else {\n self.emit(\n 'error',\n Object.assign(new Error(`${code}: ${message}`), data),\n )\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const encode: (s: string) => string;
2
+ export declare const decode: (s: string) => string;
3
+ //# sourceMappingURL=winchars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"winchars.d.ts","sourceRoot":"","sources":["../../src/winchars.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,WACwB,CAAA;AACxD,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,WACwB,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // When writing files on Windows, translate the characters to their
3
+ // 0xf000 higher-encoded versions.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.decode = exports.encode = void 0;
6
+ const raw = ['|', '<', '>', '?', ':'];
7
+ const win = raw.map(char => String.fromCodePoint(0xf000 + Number(char.codePointAt(0))));
8
+ const toWin = new Map(raw.map((char, i) => [char, win[i]]));
9
+ const toRaw = new Map(win.map((char, i) => [char, raw[i]]));
10
+ const encode = (s) => raw.reduce((s, c) => s.split(c).join(toWin.get(c)), s);
11
+ exports.encode = encode;
12
+ const decode = (s) => win.reduce((s, c) => s.split(c).join(toRaw.get(c)), s);
13
+ exports.decode = decode;
14
+ //# sourceMappingURL=winchars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"winchars.js","sourceRoot":"","sources":["../../src/winchars.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,kCAAkC;;;AAElC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAErC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACzB,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAA;AAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAD3C,QAAA,MAAM,UACqC;AACjD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAD3C,QAAA,MAAM,UACqC","sourcesContent":["// When writing files on Windows, translate the characters to their\n// 0xf000 higher-encoded versions.\n\nconst raw = ['|', '<', '>', '?', ':']\n\nconst win = raw.map(char =>\n String.fromCodePoint(0xf000 + Number(char.codePointAt(0))),\n)\n\nconst toWin = new Map(raw.map((char, i) => [char, win[i]]))\nconst toRaw = new Map(win.map((char, i) => [char, raw[i]]))\n\nexport const encode = (s: string) =>\n raw.reduce((s, c) => s.split(c).join(toWin.get(c)), s)\nexport const decode = (s: string) =>\n win.reduce((s, c) => s.split(c).join(toRaw.get(c)), s)\n"]}
@@ -0,0 +1,129 @@
1
+ import { type Stats } from 'fs';
2
+ import { Minipass } from 'minipass';
3
+ import { Header } from './header.js';
4
+ import type { TarOptions, TarOptionsWithAliases } from './options.js';
5
+ import type { ReadEntry } from './read-entry.js';
6
+ import type { EntryTypeName } from './types.js';
7
+ import type { WarnData, Warner, WarnEvent } from './warn-method.js';
8
+ declare const PROCESS: unique symbol;
9
+ declare const FILE: unique symbol;
10
+ declare const DIRECTORY: unique symbol;
11
+ declare const SYMLINK: unique symbol;
12
+ declare const HARDLINK: unique symbol;
13
+ declare const HEADER: unique symbol;
14
+ declare const READ: unique symbol;
15
+ declare const LSTAT: unique symbol;
16
+ declare const ONLSTAT: unique symbol;
17
+ declare const ONREAD: unique symbol;
18
+ declare const ONREADLINK: unique symbol;
19
+ declare const OPENFILE: unique symbol;
20
+ declare const ONOPENFILE: unique symbol;
21
+ declare const CLOSE: unique symbol;
22
+ declare const MODE: unique symbol;
23
+ declare const AWAITDRAIN: unique symbol;
24
+ declare const ONDRAIN: unique symbol;
25
+ declare const PREFIX: unique symbol;
26
+ export declare class WriteEntry extends Minipass<Buffer, Minipass.ContiguousData, WarnEvent> implements Warner {
27
+ #private;
28
+ path: string;
29
+ portable: boolean;
30
+ myuid: number;
31
+ myuser: string;
32
+ maxReadSize: number;
33
+ linkCache: Exclude<TarOptions['linkCache'], undefined>;
34
+ statCache: Exclude<TarOptions['statCache'], undefined>;
35
+ preservePaths: boolean;
36
+ cwd: string;
37
+ strict: boolean;
38
+ mtime?: Date;
39
+ noPax: boolean;
40
+ noMtime: boolean;
41
+ prefix?: string;
42
+ fd?: number;
43
+ blockLen: number;
44
+ blockRemain: number;
45
+ buf?: Buffer;
46
+ pos: number;
47
+ remain: number;
48
+ length: number;
49
+ offset: number;
50
+ win32: boolean;
51
+ absolute: string;
52
+ header?: Header;
53
+ type?: EntryTypeName | 'Unsupported';
54
+ linkpath?: string;
55
+ stat?: Stats;
56
+ onWriteEntry?: (entry: WriteEntry) => unknown;
57
+ constructor(p: string, opt_?: TarOptionsWithAliases);
58
+ warn(code: string, message: string | Error, data?: WarnData): void;
59
+ emit(ev: keyof WarnEvent, ...data: unknown[]): boolean;
60
+ [LSTAT](): void;
61
+ [ONLSTAT](stat: Stats): void;
62
+ [PROCESS](): void | this;
63
+ [MODE](mode: number): number;
64
+ [PREFIX](path: string): string;
65
+ [HEADER](): void;
66
+ [DIRECTORY](): void;
67
+ [SYMLINK](): void;
68
+ [ONREADLINK](linkpath: string): void;
69
+ [HARDLINK](linkpath: string): void;
70
+ [FILE](): void | this;
71
+ [OPENFILE](): void;
72
+ [ONOPENFILE](fd: number): void;
73
+ [READ](): void;
74
+ [CLOSE](cb?: (er?: null | Error | NodeJS.ErrnoException) => unknown): void;
75
+ [ONREAD](bytesRead: number): void;
76
+ [AWAITDRAIN](cb: () => unknown): void;
77
+ write(buffer: Buffer | string, cb?: () => void): boolean;
78
+ write(str: Buffer | string, encoding?: BufferEncoding | null, cb?: () => void): boolean;
79
+ [ONDRAIN](): void;
80
+ }
81
+ export declare class WriteEntrySync extends WriteEntry implements Warner {
82
+ sync: true;
83
+ [LSTAT](): void;
84
+ [SYMLINK](): void;
85
+ [OPENFILE](): void;
86
+ [READ](): void;
87
+ [AWAITDRAIN](cb: () => unknown): void;
88
+ [CLOSE](cb?: (er?: null | Error | NodeJS.ErrnoException) => unknown): void;
89
+ }
90
+ export declare class WriteEntryTar extends Minipass<Buffer, Buffer | string, WarnEvent> implements Warner {
91
+ blockLen: number;
92
+ blockRemain: number;
93
+ buf: number;
94
+ pos: number;
95
+ remain: number;
96
+ length: number;
97
+ preservePaths: boolean;
98
+ portable: boolean;
99
+ strict: boolean;
100
+ noPax: boolean;
101
+ noMtime: boolean;
102
+ readEntry: ReadEntry;
103
+ type: EntryTypeName;
104
+ prefix?: string;
105
+ path: string;
106
+ mode?: number;
107
+ uid?: number;
108
+ gid?: number;
109
+ uname?: string;
110
+ gname?: string;
111
+ header?: Header;
112
+ mtime?: Date;
113
+ atime?: Date;
114
+ ctime?: Date;
115
+ linkpath?: string;
116
+ size: number;
117
+ onWriteEntry?: (entry: WriteEntry) => unknown;
118
+ warn(code: string, message: string | Error, data?: WarnData): void;
119
+ constructor(readEntry: ReadEntry, opt_?: TarOptionsWithAliases);
120
+ [PREFIX](path: string): string;
121
+ [MODE](mode: number): number;
122
+ write(buffer: Buffer | string, cb?: () => void): boolean;
123
+ write(str: Buffer | string, encoding?: BufferEncoding | null, cb?: () => void): boolean;
124
+ end(cb?: () => void): this;
125
+ end(chunk: Buffer | string, cb?: () => void): this;
126
+ end(chunk: Buffer | string, encoding?: BufferEncoding, cb?: () => void): this;
127
+ }
128
+ export {};
129
+ //# sourceMappingURL=write-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-entry.d.ts","sourceRoot":"","sources":["../../src/write-entry.ts"],"names":[],"mappings":"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"}