@sap/cds-dk 10.1.2 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (898) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/bin/add.js +7 -2
  3. package/bin/bind.js +5 -6
  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 +28 -19
  9. package/bin/completion/scripts/cds.ps1 +30 -29
  10. package/bin/completion/scripts/cds.sh +26 -23
  11. package/bin/completion/scripts/cds.zsh +26 -23
  12. package/bin/debug.js +3 -3
  13. package/bin/deploy/index.js +3 -3
  14. package/bin/deploy/to-hana/hana.js +6 -5
  15. package/bin/deploy/to-hana/hdiDeployUtil.js +25 -14
  16. package/bin/env.js +0 -1
  17. package/bin/eval.js +9 -5
  18. package/bin/export.js +6 -4
  19. package/bin/help/export.md +28 -4
  20. package/bin/import.js +6 -5
  21. package/bin/inspect.js +0 -1
  22. package/bin/login.js +28 -3
  23. package/bin/repl.js +82 -26
  24. package/bin/run.js +6 -7
  25. package/bin/serve.js +6 -7
  26. package/bin/up.js +10 -5
  27. package/bin/upgrade/steps/install.js +6 -6
  28. package/bin/version.js +1 -1
  29. package/bin/watch/index.js +1 -0
  30. package/bin/watch/vite-watch.js +12 -6
  31. package/lib/bind/shared.js +1 -1
  32. package/lib/build/index.js +11 -7
  33. package/lib/build/plugins/featureToggles.js +2 -2
  34. package/lib/build/plugins/hana/index.js +1 -1
  35. package/lib/build/plugins/helm/files/subcharts/web-application/Chart.yaml +1 -1
  36. package/lib/build/plugins/helm/files/subcharts/web-application/templates/_helpers.tpl +7 -0
  37. package/lib/build/plugins/helm/files/subcharts/web-application/templates/api-rule.yaml +1 -0
  38. package/lib/build/plugins/helm/files/subcharts/web-application/templates/service-binding.yaml +4 -4
  39. package/lib/build/plugins/helm/files/subcharts/web-application/values.schema.json +13 -0
  40. package/lib/build/plugins/helm/files/subcharts/web-application/values.yaml +7 -1
  41. package/lib/build/plugins/java/index.js +5 -1
  42. package/lib/build/plugins/nodejs/index.js +5 -1
  43. package/lib/build/util.js +4 -5
  44. package/lib/env/schemas/cds-rc.js +5 -0
  45. package/lib/import/importapi.js +2 -3
  46. package/lib/init/constants.js +1 -1
  47. package/lib/init/index.js +9 -3
  48. package/lib/init/plugin.js +1 -1
  49. package/lib/init/projectReader.js +16 -12
  50. package/lib/init/registries/mta.js +0 -6
  51. package/lib/init/template/ai/index.js +4 -4
  52. package/lib/init/template/ams/files/extensionDeveloper.dcl +6 -0
  53. package/lib/init/template/ams/files/mta.yaml.hbs +6 -0
  54. package/lib/init/template/ams/files/sidecar.package.json.hbs +5 -0
  55. package/lib/init/template/ams/index.js +42 -40
  56. package/lib/init/template/app-frontend/files/mta.yaml.hbs +2 -0
  57. package/lib/init/template/app-frontend/files/ui5.yaml.hbs +0 -4
  58. package/lib/init/template/app-frontend/index.js +29 -24
  59. package/lib/init/template/application-logging/index.js +6 -6
  60. package/lib/init/template/approuter/files/values.yaml.hbs +0 -9
  61. package/lib/init/template/approuter/index.js +19 -13
  62. package/lib/init/template/attachments/index.js +3 -3
  63. package/lib/init/template/audit-logging/index.js +4 -4
  64. package/lib/init/template/cloud-logging/index.js +12 -6
  65. package/lib/init/template/completion/completionSetup.js +19 -6
  66. package/lib/init/template/connectivity/index.js +3 -3
  67. package/lib/init/template/data/as-csv.js +7 -4
  68. package/lib/init/template/data/as-json.js +77 -20
  69. package/lib/init/template/destination/index.js +12 -9
  70. package/lib/init/template/dynatrace/index.js +5 -5
  71. package/lib/init/template/enterprise-messaging/index.js +6 -6
  72. package/lib/init/template/enterprise-messaging-shared/index.js +4 -4
  73. package/lib/init/template/extensibility/index.js +2 -2
  74. package/lib/init/template/extension/index.js +26 -0
  75. package/lib/init/template/github-actions/index.js +3 -3
  76. package/lib/init/template/hana/files/package.json.hbs +3 -2
  77. package/lib/init/template/hana/index.js +5 -5
  78. package/lib/init/template/hana-serverless/index.js +3 -3
  79. package/lib/init/template/html5-repo/files/mta.yaml.hbs +2 -0
  80. package/lib/init/template/html5-repo/files/ui5.yaml.hbs +0 -4
  81. package/lib/init/template/html5-repo/index.js +80 -40
  82. package/lib/init/template/http/index.js +1 -1
  83. package/lib/init/template/ias/index.js +7 -7
  84. package/lib/init/template/initial/files/.gitignore.hbs +1 -0
  85. package/lib/init/template/kafka/index.js +3 -3
  86. package/lib/init/template/kyma/index.js +7 -9
  87. package/lib/init/template/malware-scanner/index.js +3 -3
  88. package/lib/init/template/mta/index.js +6 -3
  89. package/lib/init/template/multitenancy/index.js +6 -7
  90. package/lib/init/template/notifications/index.js +2 -2
  91. package/lib/init/template/portal/index.js +16 -10
  92. package/lib/init/template/postgres/index.js +5 -5
  93. package/lib/init/template/react/files/index.html.hbs +1 -1
  94. package/lib/init/template/react/files/package.json.hbs +3 -2
  95. package/lib/init/template/react/files/src/{App.jsx.hbs → App.{{jsxExtension}}.hbs} +8 -2
  96. package/lib/init/template/react/files/src/{main.jsx → main.{{jsxExtension}}.hbs} +2 -2
  97. package/lib/init/template/react/files/{vite.config.js.hbs → vite.config.{{extension}}.hbs} +2 -3
  98. package/lib/init/template/react/index.js +22 -5
  99. package/lib/init/template/react/typescript/src/vite-env.d.ts +1 -0
  100. package/lib/init/template/react/typescript/tsconfig.json.hbs +16 -0
  101. package/lib/init/template/redis/index.js +2 -2
  102. package/lib/init/template/sample/files/app/index.html.hbs +18 -0
  103. package/lib/init/template/sample/index.js +1 -0
  104. package/lib/init/template/side-by-side-extensibility/index.js +6 -3
  105. package/lib/init/template/typescript/files/tsconfig.json +3 -1
  106. package/lib/init/template/vue/files/index.html.hbs +1 -1
  107. package/lib/init/template/vue/files/package.json.hbs +2 -1
  108. package/lib/init/template/vue/files/src/App.vue.hbs +8 -2
  109. package/lib/init/template/vue/files/{vite.config.js.hbs → vite.config.{{extension}}.hbs} +2 -3
  110. package/lib/init/template/vue/index.js +19 -5
  111. package/lib/init/template/vue/typescript/tsconfig.json +11 -0
  112. package/lib/init/template/workzone-standard/files/mta.yaml.hbs +2 -2
  113. package/lib/init/template/workzone-standard/index.js +29 -27
  114. package/lib/init/template/xsuaa/files/mta.yaml.hbs +1 -1
  115. package/lib/init/template/xsuaa/files/values.yaml.hbs +1 -1
  116. package/lib/init/template/xsuaa/index.js +34 -22
  117. package/lib/mtx/auth_manager.js +8 -2
  118. package/lib/mtx/browser_login.js +181 -0
  119. package/lib/mtx/params.js +6 -0
  120. package/lib/mtx/push.js +7 -1
  121. package/lib/mtx/settings_manager.js +29 -4
  122. package/lib/util/cf.js +44 -8
  123. package/lib/util/fs.js +2 -2
  124. package/node_modules/@cap-js/asyncapi/README.md +4 -14
  125. package/node_modules/@cap-js/asyncapi/cds-plugin.js +12 -0
  126. package/node_modules/@cap-js/asyncapi/index.js +3 -2
  127. package/node_modules/@cap-js/asyncapi/lib/compile/components/messages/index.js +4 -2
  128. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/definition.js +11 -1
  129. package/node_modules/@cap-js/asyncapi/lib/compile/components/schemas/utils.js +16 -0
  130. package/node_modules/@cap-js/asyncapi/lib/compile/utils.js +4 -3
  131. package/node_modules/@cap-js/asyncapi/lib/import/importAsyncAPI.js +34 -0
  132. package/node_modules/@cap-js/asyncapi/lib/import/index.js +18 -0
  133. package/node_modules/@cap-js/asyncapi/lib/import/message.js +9 -0
  134. package/node_modules/@cap-js/asyncapi/lib/import/parserContext.js +368 -0
  135. package/node_modules/@cap-js/asyncapi/lib/import/utils.js +85 -0
  136. package/node_modules/@cap-js/asyncapi/package.json +89 -1
  137. package/node_modules/@cap-js/db-service/CHANGELOG.md +10 -0
  138. package/node_modules/@cap-js/db-service/lib/cqn2pql.js +4 -0
  139. package/node_modules/@cap-js/db-service/lib/cqn2sql.js +3 -0
  140. package/node_modules/@cap-js/db-service/lib/cqn4sql.js +8 -23
  141. package/node_modules/@cap-js/db-service/lib/infer/index.js +20 -27
  142. package/node_modules/@cap-js/db-service/package.json +1 -1
  143. package/node_modules/@cap-js/openapi/cds-plugin.js +12 -0
  144. package/node_modules/@cap-js/openapi/index.js +3 -1
  145. package/node_modules/@cap-js/openapi/lib/compile/csdl2openapi.js +652 -413
  146. package/node_modules/@cap-js/openapi/lib/compile/diagram.js +16 -13
  147. package/node_modules/@cap-js/openapi/lib/compile/index.js +10 -7
  148. package/node_modules/@cap-js/openapi/lib/compile/property-util.js +51 -0
  149. package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/importOpenAPI.js +12 -9
  150. package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/index.js +4 -3
  151. package/node_modules/@cap-js/openapi/package.json +71 -3
  152. package/node_modules/@cap-js/sqlite/CHANGELOG.md +9 -0
  153. package/node_modules/@cap-js/sqlite/package.json +3 -3
  154. package/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  155. package/node_modules/@isaacs/fs-minipass/README.md +71 -0
  156. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +118 -0
  157. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +1 -0
  158. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  159. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +1 -0
  160. package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  161. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +118 -0
  162. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +1 -0
  163. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  164. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +1 -0
  165. package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  166. package/node_modules/@isaacs/fs-minipass/package.json +72 -0
  167. package/node_modules/@sap/cds/CHANGELOG.md +62 -1
  168. package/node_modules/@sap/cds/_i18n/messages_ar.properties +1 -0
  169. package/node_modules/@sap/cds/_i18n/messages_bg.properties +1 -0
  170. package/node_modules/@sap/cds/_i18n/messages_cs.properties +1 -0
  171. package/node_modules/@sap/cds/_i18n/messages_da.properties +1 -0
  172. package/node_modules/@sap/cds/_i18n/messages_de.properties +1 -0
  173. package/node_modules/@sap/cds/_i18n/messages_el.properties +1 -0
  174. package/node_modules/@sap/cds/_i18n/messages_en.properties +1 -0
  175. package/node_modules/@sap/cds/_i18n/messages_es.properties +1 -0
  176. package/node_modules/@sap/cds/_i18n/messages_es_MX.properties +1 -0
  177. package/node_modules/@sap/cds/_i18n/messages_fi.properties +1 -0
  178. package/node_modules/@sap/cds/_i18n/messages_fr.properties +1 -0
  179. package/node_modules/@sap/cds/_i18n/messages_he.properties +1 -0
  180. package/node_modules/@sap/cds/_i18n/messages_hr.properties +1 -0
  181. package/node_modules/@sap/cds/_i18n/messages_hu.properties +1 -0
  182. package/node_modules/@sap/cds/_i18n/messages_it.properties +1 -0
  183. package/node_modules/@sap/cds/_i18n/messages_ja.properties +1 -0
  184. package/node_modules/@sap/cds/_i18n/messages_kk.properties +1 -0
  185. package/node_modules/@sap/cds/_i18n/messages_ko.properties +1 -0
  186. package/node_modules/@sap/cds/_i18n/messages_ms.properties +1 -0
  187. package/node_modules/@sap/cds/_i18n/messages_nl.properties +1 -0
  188. package/node_modules/@sap/cds/_i18n/messages_no.properties +1 -0
  189. package/node_modules/@sap/cds/_i18n/messages_pl.properties +1 -0
  190. package/node_modules/@sap/cds/_i18n/messages_pt.properties +1 -0
  191. package/node_modules/@sap/cds/_i18n/messages_ro.properties +1 -0
  192. package/node_modules/@sap/cds/_i18n/messages_ru.properties +1 -0
  193. package/node_modules/@sap/cds/_i18n/messages_sh.properties +1 -0
  194. package/node_modules/@sap/cds/_i18n/messages_sk.properties +1 -0
  195. package/node_modules/@sap/cds/_i18n/messages_sl.properties +1 -0
  196. package/node_modules/@sap/cds/_i18n/messages_sv.properties +1 -0
  197. package/node_modules/@sap/cds/_i18n/messages_th.properties +1 -0
  198. package/node_modules/@sap/cds/_i18n/messages_tr.properties +1 -0
  199. package/node_modules/@sap/cds/_i18n/messages_uk.properties +1 -0
  200. package/node_modules/@sap/cds/_i18n/messages_vi.properties +1 -0
  201. package/node_modules/@sap/cds/_i18n/messages_zh_CN.properties +1 -0
  202. package/node_modules/@sap/cds/_i18n/messages_zh_TW.properties +1 -0
  203. package/node_modules/@sap/cds/app/index-client.js +164 -0
  204. package/node_modules/@sap/cds/app/index.css +598 -87
  205. package/node_modules/@sap/cds/app/index.html +54 -30
  206. package/node_modules/@sap/cds/app/index.js +311 -67
  207. package/node_modules/@sap/cds/app/table.html +226 -0
  208. package/node_modules/@sap/cds/app/table.js +302 -0
  209. package/node_modules/@sap/cds/bin/serve.js +3 -2
  210. package/node_modules/@sap/cds/eslint.config.mjs +2 -0
  211. package/node_modules/@sap/cds/lib/compile/cdsc.js +7 -0
  212. package/node_modules/@sap/cds/lib/compile/for/embeddings.js +27 -0
  213. package/node_modules/@sap/cds/lib/compile/load.js +2 -2
  214. package/node_modules/@sap/cds/lib/compile/minify.js +17 -4
  215. package/node_modules/@sap/cds/lib/compile/parse.js +3 -0
  216. package/node_modules/@sap/cds/lib/compile/resolve.js +16 -14
  217. package/node_modules/@sap/cds/lib/core/classes.js +1 -0
  218. package/node_modules/@sap/cds/lib/dbs/cds-deploy.js +4 -5
  219. package/node_modules/@sap/cds/lib/env/cds-env.js +132 -70
  220. package/node_modules/@sap/cds/lib/env/cds-requires/auth-strategies.js +62 -0
  221. package/node_modules/@sap/cds/lib/env/cds-requires/databases.js +49 -0
  222. package/node_modules/@sap/cds/lib/env/cds-requires/embeddings.js +8 -0
  223. package/node_modules/@sap/cds/lib/env/cds-requires/index.js +27 -0
  224. package/node_modules/@sap/cds/lib/env/cds-requires/messaging.js +82 -0
  225. package/node_modules/@sap/cds/lib/env/cds-requires/platform.js +23 -0
  226. package/node_modules/@sap/cds/lib/env/cds-requires/queues.js +34 -0
  227. package/node_modules/@sap/cds/lib/env/cds-requires/services.js +32 -0
  228. package/node_modules/@sap/cds/lib/env/defaults.js +9 -1
  229. package/node_modules/@sap/cds/lib/env/schemas/cds-package.js +0 -2
  230. package/node_modules/@sap/cds/lib/env/schemas/cds-rc.js +3 -3
  231. package/node_modules/@sap/cds/lib/env/schemas/index.js +4 -4
  232. package/node_modules/@sap/cds/lib/i18n/files.js +4 -4
  233. package/node_modules/@sap/cds/lib/i18n/locale.js +1 -1
  234. package/node_modules/@sap/cds/lib/index.js +9 -9
  235. package/node_modules/@sap/cds/lib/log/cds-log.js +3 -3
  236. package/node_modules/@sap/cds/lib/ql/SELECT.js +2 -0
  237. package/node_modules/@sap/cds/lib/ql/UPDATE.js +1 -1
  238. package/node_modules/@sap/cds/lib/ql/cds.ql-Query.js +4 -1
  239. package/node_modules/@sap/cds/lib/ql/core/@types/cqn.d.ts +146 -0
  240. package/node_modules/@sap/cds/lib/ql/core/@types/exprs.d.ts +51 -0
  241. package/node_modules/@sap/cds/lib/ql/core/@types/index.d.ts +29 -0
  242. package/node_modules/@sap/cds/lib/ql/core/@types/package.json +7 -0
  243. package/node_modules/@sap/cds/lib/ql/core/@types/ql/delete.d.ts +8 -0
  244. package/node_modules/@sap/cds/lib/ql/core/@types/ql/insert.d.ts +19 -0
  245. package/node_modules/@sap/cds/lib/ql/core/@types/ql/select.d.ts +24 -0
  246. package/node_modules/@sap/cds/lib/ql/core/@types/ql/update.d.ts +10 -0
  247. package/node_modules/@sap/cds/lib/ql/core/@types/query.d.ts +18 -0
  248. package/node_modules/@sap/cds/lib/ql/core/cql/parser.min.js +1 -0
  249. package/node_modules/@sap/cds/lib/ql/core/lib/index.js +69 -0
  250. package/node_modules/@sap/cds/lib/ql/core/lib/ql/cache.js +34 -0
  251. package/node_modules/@sap/cds/lib/ql/core/lib/ql/call-action.js +6 -0
  252. package/node_modules/@sap/cds/lib/ql/core/lib/ql/delete.js +8 -0
  253. package/node_modules/@sap/cds/lib/ql/core/lib/ql/insert.js +26 -0
  254. package/node_modules/@sap/cds/lib/ql/core/lib/ql/select.js +22 -0
  255. package/node_modules/@sap/cds/lib/ql/core/lib/ql/update.js +26 -0
  256. package/node_modules/@sap/cds/lib/ql/core/lib/query.js +85 -0
  257. package/node_modules/@sap/cds/lib/ql/core/lib/xl/fluent.js +47 -0
  258. package/node_modules/@sap/cds/lib/ql/core/lib/xl/ttl.js +24 -0
  259. package/node_modules/@sap/cds/lib/ql/core/license +201 -0
  260. package/node_modules/@sap/cds/lib/ql/core/package.json +24 -0
  261. package/node_modules/@sap/cds/lib/ql/core/readme.md +99 -0
  262. package/node_modules/@sap/cds/lib/ql/core/upstream.json +5 -0
  263. package/node_modules/@sap/cds/lib/req/spawn.js +1 -1
  264. package/node_modules/@sap/cds/lib/srv/bindings.js +111 -115
  265. package/node_modules/@sap/cds/lib/srv/cds-connect.js +11 -10
  266. package/node_modules/@sap/cds/lib/srv/cds-serve.js +16 -7
  267. package/node_modules/@sap/cds/lib/srv/cds.Service.js +13 -7
  268. package/node_modules/@sap/cds/lib/srv/factory.js +8 -10
  269. package/node_modules/@sap/cds/lib/srv/middlewares/auth/ias-auth.js +35 -32
  270. package/node_modules/@sap/cds/lib/srv/middlewares/auth/jwt-auth.js +5 -1
  271. package/node_modules/@sap/cds/lib/srv/middlewares/auth/mocked-users.js +1 -1
  272. package/node_modules/@sap/cds/lib/srv/protocols/hcql.js +230 -79
  273. package/node_modules/@sap/cds/lib/srv/protocols/http.js +7 -3
  274. package/node_modules/@sap/cds/lib/srv/protocols/index.js +7 -2
  275. package/node_modules/@sap/cds/lib/srv/srv-dispatch.js +2 -2
  276. package/node_modules/@sap/cds/lib/utils/cds-utils.js +50 -0
  277. package/node_modules/@sap/cds/lib/utils/csv-reader.js +2 -2
  278. package/node_modules/@sap/cds/libx/_runtime/common/generic/assert.js +18 -27
  279. package/node_modules/@sap/cds/libx/_runtime/common/generic/crud.js +1 -1
  280. package/node_modules/@sap/cds/libx/_runtime/common/utils/rewriteAsterisks.js +1 -1
  281. package/node_modules/@sap/cds/libx/_runtime/fiori/lean-draft.js +121 -84
  282. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/authorizedRequest.js +24 -1
  283. package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/connections.js +45 -39
  284. package/node_modules/@sap/cds/libx/_runtime/remote/Service.js +2 -2
  285. package/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js +3 -2
  286. package/node_modules/@sap/cds/libx/_runtime/remote/utils/query.js +11 -6
  287. package/node_modules/@sap/cds/libx/odata/ODataAdapter.js +1 -1
  288. package/node_modules/@sap/cds/libx/odata/middleware/create.js +4 -0
  289. package/node_modules/@sap/cds/libx/odata/middleware/metadata.js +1 -1
  290. package/node_modules/@sap/cds/libx/odata/middleware/operation.js +3 -0
  291. package/node_modules/@sap/cds/libx/odata/middleware/parse.js +9 -0
  292. package/node_modules/@sap/cds/libx/odata/middleware/read.js +6 -0
  293. package/node_modules/@sap/cds/libx/odata/middleware/update.js +5 -1
  294. package/node_modules/@sap/cds/libx/odata/parse/afterburner.js +3 -3
  295. package/node_modules/@sap/cds/libx/odata/parse/multipartToJson.js +1 -1
  296. package/node_modules/@sap/cds/libx/odata/utils/ieee754.js +20 -0
  297. package/node_modules/@sap/cds/libx/queue/TaskRunner.js +22 -5
  298. package/node_modules/@sap/cds/libx/queue/api.js +1 -1
  299. package/node_modules/@sap/cds/libx/queue/index.js +3 -1
  300. package/node_modules/@sap/cds/libx/queue/processing.js +5 -0
  301. package/node_modules/@sap/cds/libx/rest/RestAdapter.js +1 -0
  302. package/node_modules/@sap/cds/package.json +2 -2
  303. package/node_modules/@sap/cds/server.js +1 -0
  304. package/node_modules/@sap/cds/srv/ucl-service.cds +1 -0
  305. package/node_modules/@sap/cds-compiler/CHANGELOG.md +83 -0
  306. package/node_modules/@sap/cds-compiler/bin/cdsse.js +1 -1
  307. package/node_modules/@sap/cds-compiler/doc/EffectiveCSN.md +3314 -0
  308. package/node_modules/@sap/cds-compiler/lib/api/main.js +9 -6
  309. package/node_modules/@sap/cds-compiler/lib/api/options.js +3 -3
  310. package/node_modules/@sap/cds-compiler/lib/{model → base}/csnUtils.js +5 -5
  311. package/node_modules/@sap/cds-compiler/lib/base/message-registry.js +54 -6
  312. package/node_modules/@sap/cds-compiler/lib/base/optionProcessor.js +4 -4
  313. package/node_modules/@sap/cds-compiler/lib/{model → base}/sortViews.js +1 -1
  314. package/node_modules/@sap/cds-compiler/lib/checks/assocOutsideService.js +1 -1
  315. package/node_modules/@sap/cds-compiler/lib/checks/checkForTypes.js +1 -1
  316. package/node_modules/@sap/cds-compiler/lib/checks/checkPathsInStoredCalcElement.js +1 -1
  317. package/node_modules/@sap/cds-compiler/lib/checks/elements.js +37 -3
  318. package/node_modules/@sap/cds-compiler/lib/checks/enricher.js +1 -1
  319. package/node_modules/@sap/cds-compiler/lib/checks/existsInForbiddenPlaces.js +1 -1
  320. package/node_modules/@sap/cds-compiler/lib/checks/hasPersistedElements.js +1 -1
  321. package/node_modules/@sap/cds-compiler/lib/checks/manyExpand.js +1 -1
  322. package/node_modules/@sap/cds-compiler/lib/checks/manyNavigations.js +1 -1
  323. package/node_modules/@sap/cds-compiler/lib/checks/onConditions.js +1 -1
  324. package/node_modules/@sap/cds-compiler/lib/checks/parameters.js +1 -1
  325. package/node_modules/@sap/cds-compiler/lib/checks/queryNoDbArtifacts.js +1 -1
  326. package/node_modules/@sap/cds-compiler/lib/checks/selectItems.js +1 -1
  327. package/node_modules/@sap/cds-compiler/lib/checks/structuredAnnoExpressions.js +1 -1
  328. package/node_modules/@sap/cds-compiler/lib/checks/typeParameters.js +1 -1
  329. package/node_modules/@sap/cds-compiler/lib/checks/types.js +1 -1
  330. package/node_modules/@sap/cds-compiler/lib/checks/validator.js +1 -1
  331. package/node_modules/@sap/cds-compiler/lib/compiler/assert-consistency.js +20 -12
  332. package/node_modules/@sap/cds-compiler/lib/compiler/builtins.js +9 -4
  333. package/node_modules/@sap/cds-compiler/lib/compiler/checks.js +50 -0
  334. package/node_modules/@sap/cds-compiler/lib/compiler/define.js +303 -323
  335. package/node_modules/@sap/cds-compiler/lib/compiler/dictionaries.js +5 -0
  336. package/node_modules/@sap/cds-compiler/lib/compiler/extend.js +1015 -1177
  337. package/node_modules/@sap/cds-compiler/lib/compiler/generate.js +55 -42
  338. package/node_modules/@sap/cds-compiler/lib/compiler/populate.js +74 -45
  339. package/node_modules/@sap/cds-compiler/lib/compiler/propagator.js +1 -0
  340. package/node_modules/@sap/cds-compiler/lib/compiler/resolve.js +6 -4
  341. package/node_modules/@sap/cds-compiler/lib/compiler/shared.js +30 -49
  342. package/node_modules/@sap/cds-compiler/lib/compiler/utils.js +32 -18
  343. package/node_modules/@sap/cds-compiler/lib/edm/annotations/edmJson.js +3 -3
  344. package/node_modules/@sap/cds-compiler/lib/edm/annotations/genericTranslation.js +2 -2
  345. package/node_modules/@sap/cds-compiler/lib/edm/annotations/preprocessAnnotations.js +2 -3
  346. package/node_modules/@sap/cds-compiler/lib/edm/csn2edm.js +1 -1
  347. package/node_modules/@sap/cds-compiler/lib/edm/edm.js +6 -7
  348. package/node_modules/@sap/cds-compiler/lib/edm/edmAnnoPreprocessor.js +1 -1
  349. package/node_modules/@sap/cds-compiler/lib/edm/edmInboundChecks.js +1 -1
  350. package/node_modules/@sap/cds-compiler/lib/edm/edmPreprocessor.js +1 -1
  351. package/node_modules/@sap/cds-compiler/lib/edm/edmUtils.js +12 -7
  352. package/node_modules/@sap/cds-compiler/lib/gen/CdlGrammar.checksum +1 -1
  353. package/node_modules/@sap/cds-compiler/lib/gen/CdlParser.js +15 -15
  354. package/node_modules/@sap/cds-compiler/lib/gen/Dictionary.json +7 -0
  355. package/node_modules/@sap/cds-compiler/lib/json/from-csn.js +30 -30
  356. package/node_modules/@sap/cds-compiler/lib/json/to-csn.js +2 -1
  357. package/node_modules/@sap/cds-compiler/lib/main.js +4 -1
  358. package/node_modules/@sap/cds-compiler/lib/parsers/AstBuildingParser.js +42 -15
  359. package/node_modules/@sap/cds-compiler/lib/render/DuplicateChecker.js +37 -11
  360. package/node_modules/@sap/cds-compiler/lib/render/manageConstraints.js +1 -1
  361. package/node_modules/@sap/cds-compiler/lib/render/toCdl.js +11 -6
  362. package/node_modules/@sap/cds-compiler/lib/render/toRename.js +1 -1
  363. package/node_modules/@sap/cds-compiler/lib/render/toSql.js +74 -24
  364. package/node_modules/@sap/cds-compiler/lib/render/utils/common.js +1 -1
  365. package/node_modules/@sap/cds-compiler/lib/render/utils/operators.js +81 -0
  366. package/node_modules/@sap/cds-compiler/lib/render/utils/sql.js +17 -10
  367. package/node_modules/@sap/cds-compiler/lib/transform/db/assertUnique.js +1 -1
  368. package/node_modules/@sap/cds-compiler/lib/transform/db/associations.js +3 -4
  369. package/node_modules/@sap/cds-compiler/lib/transform/db/assocsToQueries/transformExists.js +1 -1
  370. package/node_modules/@sap/cds-compiler/lib/transform/db/backlinks.js +2 -2
  371. package/node_modules/@sap/cds-compiler/lib/transform/db/cdsPersistence.js +1 -1
  372. package/node_modules/@sap/cds-compiler/lib/transform/db/constraints.js +6 -5
  373. package/node_modules/@sap/cds-compiler/lib/transform/db/expansion.js +7 -1
  374. package/node_modules/@sap/cds-compiler/lib/transform/db/flattening.js +2 -2
  375. package/node_modules/@sap/cds-compiler/lib/{modelCompare/compare.js → transform/db/migration/diffModels.js} +5 -5
  376. package/node_modules/@sap/cds-compiler/lib/{modelCompare/utils/filter.js → transform/db/migration/filterDiff.js} +2 -2
  377. package/node_modules/@sap/cds-compiler/lib/transform/db/processSqlServices.js +1 -1
  378. package/node_modules/@sap/cds-compiler/lib/transform/db/rewriteCalculatedElements.js +1 -1
  379. package/node_modules/@sap/cds-compiler/lib/transform/db/temporal.js +1 -1
  380. package/node_modules/@sap/cds-compiler/lib/transform/db/views.js +2 -6
  381. package/node_modules/@sap/cds-compiler/lib/transform/draft/db.js +1 -1
  382. package/node_modules/@sap/cds-compiler/lib/transform/draft/odata.js +1 -1
  383. package/node_modules/@sap/cds-compiler/lib/transform/effective/annotations.js +1 -1
  384. package/node_modules/@sap/cds-compiler/lib/transform/effective/associations.js +1 -1
  385. package/node_modules/@sap/cds-compiler/lib/transform/effective/flattening.js +1 -1
  386. package/node_modules/@sap/cds-compiler/lib/transform/effective/main.js +3 -2
  387. package/node_modules/@sap/cds-compiler/lib/transform/effective/misc.js +2 -1
  388. package/node_modules/@sap/cds-compiler/lib/transform/effective/queries.js +1 -1
  389. package/node_modules/@sap/cds-compiler/lib/transform/effective/types.js +1 -1
  390. package/node_modules/@sap/cds-compiler/lib/transform/forOdata.js +1 -1
  391. package/node_modules/@sap/cds-compiler/lib/transform/forRelationalDB.js +9 -4
  392. package/node_modules/@sap/cds-compiler/lib/transform/localized.js +1 -1
  393. package/node_modules/@sap/cds-compiler/lib/transform/odata/adaptAnnotationRefs.js +5 -11
  394. package/node_modules/@sap/cds-compiler/lib/transform/odata/createForeignKeys.js +1 -1
  395. package/node_modules/@sap/cds-compiler/lib/transform/odata/flattening.js +4 -4
  396. package/node_modules/@sap/cds-compiler/lib/transform/odata/foreignKeyRefsInXprAnnos.js +5 -3
  397. package/node_modules/@sap/cds-compiler/lib/transform/odata/toFinalBaseType.js +29 -5
  398. package/node_modules/@sap/cds-compiler/lib/transform/odata/typesExposure.js +13 -3
  399. package/node_modules/@sap/cds-compiler/lib/transform/odata/utils.js +9 -0
  400. package/node_modules/@sap/cds-compiler/lib/transform/transformUtils.js +2 -2
  401. package/node_modules/@sap/cds-compiler/lib/transform/translateAssocsToJoins.js +1 -1
  402. package/node_modules/@sap/cds-compiler/lib/transform/tupleExpansion.js +1 -1
  403. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/coreComputed.js +1 -1
  404. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/universalCsnEnricher.js +1 -1
  405. package/node_modules/@sap/cds-compiler/lib/transform/universalCsn/utils.js +1 -1
  406. package/node_modules/@sap/cds-compiler/package.json +1 -1
  407. package/node_modules/@sap/cds-mtxs/CHANGELOG.md +55 -0
  408. package/node_modules/@sap/cds-mtxs/bin/cds-mtx-migrate.js +4 -6
  409. package/node_modules/@sap/cds-mtxs/bin/cds-mtx.js +5 -4
  410. package/node_modules/@sap/cds-mtxs/cds-plugin.js +38 -2
  411. package/node_modules/@sap/cds-mtxs/db/t0.cds +7 -0
  412. package/node_modules/@sap/cds-mtxs/lib/utils.js +129 -20
  413. package/node_modules/@sap/cds-mtxs/package.json +15 -14
  414. package/node_modules/@sap/cds-mtxs/srv/cf/abstract-provisioning-service.js +13 -12
  415. package/node_modules/@sap/cds-mtxs/srv/cf/saas-provisioning-service.cds +1 -0
  416. package/node_modules/@sap/cds-mtxs/srv/cf/sms-provisioning-service.cds +1 -0
  417. package/node_modules/@sap/cds-mtxs/srv/extensibility/compat/update.js +5 -2
  418. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/config.js +1 -2
  419. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/csv-allowlist.js +64 -0
  420. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/index.js +4 -2
  421. package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/protected-namespace.js +67 -5
  422. package/node_modules/@sap/cds-mtxs/srv/extensibility-service.js +199 -19
  423. package/node_modules/@sap/cds-mtxs/srv/jobs-service.js +39 -15
  424. package/node_modules/@sap/cds-mtxs/srv/plugins/common.js +33 -12
  425. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/ctnr-mgr-base.js +24 -6
  426. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-ctnr-mgr.js +3 -1
  427. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi-native.js +752 -0
  428. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/serverless.js +17 -20
  429. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr-v2.js +511 -0
  430. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr.js +11 -4
  431. package/node_modules/@sap/cds-mtxs/srv/plugins/hana/tms.js +8 -0
  432. package/node_modules/@sap/cds-mtxs/srv/plugins/hana.js +58 -43
  433. package/node_modules/@sap/cds-mtxs/srv/worker/job-worker-pool.js +1 -1
  434. package/node_modules/@sap/cds-mtxs/srv/worker/job-worker.js +1 -1
  435. package/node_modules/body-parser/README.md +17 -13
  436. package/node_modules/body-parser/lib/read.js +74 -57
  437. package/node_modules/body-parser/lib/types/json.js +11 -11
  438. package/node_modules/body-parser/lib/types/urlencoded.js +5 -5
  439. package/node_modules/body-parser/lib/utils.js +0 -15
  440. package/node_modules/body-parser/package.json +7 -12
  441. package/node_modules/chownr/LICENSE.md +63 -0
  442. package/node_modules/chownr/README.md +3 -0
  443. package/node_modules/chownr/dist/commonjs/index.d.ts +3 -0
  444. package/node_modules/chownr/dist/commonjs/index.d.ts.map +1 -0
  445. package/node_modules/chownr/dist/commonjs/index.js +93 -0
  446. package/node_modules/chownr/dist/commonjs/index.js.map +1 -0
  447. package/node_modules/chownr/dist/commonjs/package.json +3 -0
  448. package/node_modules/chownr/dist/esm/index.d.ts +3 -0
  449. package/node_modules/chownr/dist/esm/index.d.ts.map +1 -0
  450. package/node_modules/chownr/dist/esm/index.js +85 -0
  451. package/node_modules/chownr/dist/esm/index.js.map +1 -0
  452. package/node_modules/chownr/dist/esm/package.json +3 -0
  453. package/node_modules/chownr/package.json +69 -0
  454. package/node_modules/content-disposition/README.md +105 -35
  455. package/node_modules/content-disposition/dist/index.d.ts +72 -0
  456. package/node_modules/content-disposition/dist/index.js +388 -0
  457. package/node_modules/content-disposition/dist/index.js.map +1 -0
  458. package/node_modules/content-disposition/package.json +31 -19
  459. package/node_modules/content-type/README.md +34 -57
  460. package/node_modules/content-type/package.json +35 -25
  461. package/node_modules/encodeurl/README.md +14 -0
  462. package/node_modules/encodeurl/index.js +5 -10
  463. package/node_modules/encodeurl/package.json +10 -6
  464. package/node_modules/express/Readme.md +15 -9
  465. package/node_modules/express/lib/application.js +2 -2
  466. package/node_modules/express/lib/request.js +32 -19
  467. package/node_modules/express/lib/response.js +27 -30
  468. package/node_modules/express/package.json +10 -10
  469. package/node_modules/handlebars/bin/handlebars +1 -1
  470. package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
  471. package/node_modules/handlebars/dist/amd/handlebars/compiler/base.js +2 -59
  472. package/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js +68 -5
  473. package/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js +160 -19
  474. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +23 -7
  475. package/node_modules/handlebars/dist/amd/handlebars/compiler/node-types.js +12 -0
  476. package/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js +26 -7
  477. package/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js +9 -4
  478. package/node_modules/handlebars/dist/amd/handlebars/exception.js +8 -4
  479. package/node_modules/handlebars/dist/amd/handlebars/helpers/each.js +40 -14
  480. package/node_modules/handlebars/dist/amd/handlebars/internal/proto-access.js +21 -1
  481. package/node_modules/handlebars/dist/amd/handlebars/runtime.js +24 -4
  482. package/node_modules/handlebars/dist/amd/handlebars/utils.js +4 -3
  483. package/node_modules/handlebars/dist/amd/precompiler.js +13 -7
  484. package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
  485. package/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +1 -60
  486. package/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +64 -4
  487. package/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +161 -18
  488. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +23 -7
  489. package/node_modules/handlebars/dist/cjs/handlebars/compiler/node-types.js +10 -0
  490. package/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +29 -6
  491. package/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +9 -4
  492. package/node_modules/handlebars/dist/cjs/handlebars/exception.js +8 -4
  493. package/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +40 -14
  494. package/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +21 -1
  495. package/node_modules/handlebars/dist/cjs/handlebars/runtime.js +24 -4
  496. package/node_modules/handlebars/dist/cjs/handlebars/utils.js +4 -3
  497. package/node_modules/handlebars/dist/cjs/precompiler.js +14 -6
  498. package/node_modules/handlebars/dist/handlebars.amd.js +401 -130
  499. package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
  500. package/node_modules/handlebars/dist/handlebars.js +396 -125
  501. package/node_modules/handlebars/dist/handlebars.min.js +4 -4
  502. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +100 -29
  503. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
  504. package/node_modules/handlebars/dist/handlebars.runtime.js +94 -23
  505. package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
  506. package/node_modules/handlebars/lib/handlebars/base.js +1 -1
  507. package/node_modules/handlebars/lib/handlebars/compiler/base.js +0 -67
  508. package/node_modules/handlebars/lib/handlebars/compiler/code-gen.js +65 -11
  509. package/node_modules/handlebars/lib/handlebars/compiler/compiler.js +164 -23
  510. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +23 -7
  511. package/node_modules/handlebars/lib/handlebars/compiler/node-types.js +24 -0
  512. package/node_modules/handlebars/lib/handlebars/compiler/visitor.js +29 -5
  513. package/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js +16 -5
  514. package/node_modules/handlebars/lib/handlebars/exception.js +7 -3
  515. package/node_modules/handlebars/lib/handlebars/helpers/each.js +39 -16
  516. package/node_modules/handlebars/lib/handlebars/internal/proto-access.js +22 -0
  517. package/node_modules/handlebars/lib/handlebars/runtime.js +36 -4
  518. package/node_modules/handlebars/lib/handlebars/utils.js +3 -2
  519. package/node_modules/handlebars/lib/precompiler.js +14 -5
  520. package/node_modules/handlebars/package.json +2 -2
  521. package/node_modules/handlebars/release-notes.md +20 -1
  522. package/node_modules/handlebars/types/index.d.ts +8 -0
  523. package/node_modules/hdb/cfg/VERSION +1 -1
  524. package/node_modules/hdb/lib/Client.js +6 -2
  525. package/node_modules/hdb/lib/protocol/ClientInfo.js +28 -15
  526. package/node_modules/hdb/lib/protocol/Connection.js +30 -3
  527. package/node_modules/hdb/lib/protocol/Writer.js +2 -2
  528. package/node_modules/hdb/lib/protocol/common/ConnectOption.js +2 -0
  529. package/node_modules/hdb/lib/protocol/common/ConnectOptionFlagSet1.js +18 -0
  530. package/node_modules/hdb/lib/protocol/common/ConnectOptionType.js +2 -0
  531. package/node_modules/hdb/lib/protocol/common/Constants.js +1 -0
  532. package/node_modules/hdb/lib/protocol/common/MessageType.js +3 -2
  533. package/node_modules/hdb/lib/protocol/common/PartKind.js +2 -1
  534. package/node_modules/hdb/lib/protocol/common/index.js +1 -0
  535. package/node_modules/hdb/lib/protocol/data/TextList.js +25 -17
  536. package/node_modules/hdb/lib/protocol/data/index.js +1 -0
  537. package/node_modules/hdb/lib/protocol/part/ConnectOptions.js +7 -0
  538. package/node_modules/hdb/lib/protocol/request/index.js +7 -0
  539. package/node_modules/hdb/package.json +1 -2
  540. package/node_modules/livereload-js/.github/workflows/main.yml +4 -4
  541. package/node_modules/livereload-js/README.md +3 -3
  542. package/node_modules/livereload-js/dist/livereload.js +839 -2742
  543. package/node_modules/livereload-js/dist/livereload.min.js +1 -1
  544. package/node_modules/livereload-js/package.json +11 -11
  545. package/node_modules/minipass/LICENSE.md +55 -0
  546. package/node_modules/minipass/README.md +825 -0
  547. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  548. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  549. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  550. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  551. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  552. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  553. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  554. package/node_modules/minipass/dist/esm/index.js +1020 -0
  555. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  556. package/node_modules/minipass/dist/esm/package.json +3 -0
  557. package/node_modules/minipass/package.json +77 -0
  558. package/node_modules/minizlib/LICENSE +26 -0
  559. package/node_modules/minizlib/README.md +64 -0
  560. package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
  561. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
  562. package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  563. package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
  564. package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
  565. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
  566. package/node_modules/minizlib/dist/commonjs/index.js +416 -0
  567. package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
  568. package/node_modules/minizlib/dist/commonjs/package.json +3 -0
  569. package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
  570. package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
  571. package/node_modules/minizlib/dist/esm/constants.js +117 -0
  572. package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
  573. package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
  574. package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
  575. package/node_modules/minizlib/dist/esm/index.js +363 -0
  576. package/node_modules/minizlib/dist/esm/index.js.map +1 -0
  577. package/node_modules/minizlib/dist/esm/package.json +3 -0
  578. package/node_modules/minizlib/package.json +80 -0
  579. package/node_modules/on-finished/index.js +14 -2
  580. package/node_modules/on-finished/package.json +11 -7
  581. package/node_modules/qs/.editorconfig +1 -1
  582. package/node_modules/qs/.github/THREAT_MODEL.md +4 -2
  583. package/node_modules/qs/CHANGELOG.md +103 -14
  584. package/node_modules/qs/README.md +90 -9
  585. package/node_modules/qs/dist/qs.js +19 -19
  586. package/node_modules/qs/eslint.config.mjs +61 -50
  587. package/node_modules/qs/lib/formats.js +7 -2
  588. package/node_modules/qs/lib/parse.js +121 -12
  589. package/node_modules/qs/lib/stringify.js +9 -7
  590. package/node_modules/qs/lib/utils.js +158 -15
  591. package/node_modules/qs/package.json +8 -8
  592. package/node_modules/qs/test/parse.js +509 -2
  593. package/node_modules/qs/test/stringify.js +485 -33
  594. package/node_modules/qs/test/utils.js +245 -3
  595. package/node_modules/semver/classes/range.js +2 -2
  596. package/node_modules/semver/internal/constants.js +30 -0
  597. package/node_modules/semver/internal/trim-comparator-whitespace.js +438 -0
  598. package/node_modules/semver/package.json +1 -1
  599. package/node_modules/tar/LICENSE.md +55 -0
  600. package/node_modules/tar/README.md +1233 -0
  601. package/node_modules/tar/dist/commonjs/create.d.ts +3 -0
  602. package/node_modules/tar/dist/commonjs/create.d.ts.map +1 -0
  603. package/node_modules/tar/dist/commonjs/create.js +82 -0
  604. package/node_modules/tar/dist/commonjs/create.js.map +1 -0
  605. package/node_modules/tar/dist/commonjs/cwd-error.d.ts +8 -0
  606. package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +1 -0
  607. package/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  608. package/node_modules/tar/dist/commonjs/cwd-error.js.map +1 -0
  609. package/node_modules/tar/dist/commonjs/extract.d.ts +3 -0
  610. package/node_modules/tar/dist/commonjs/extract.d.ts.map +1 -0
  611. package/node_modules/tar/dist/commonjs/extract.js +88 -0
  612. package/node_modules/tar/dist/commonjs/extract.js.map +1 -0
  613. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +2 -0
  614. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +1 -0
  615. package/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  616. package/node_modules/tar/dist/commonjs/get-write-flag.js.map +1 -0
  617. package/node_modules/tar/dist/commonjs/header.d.ts +53 -0
  618. package/node_modules/tar/dist/commonjs/header.d.ts.map +1 -0
  619. package/node_modules/tar/dist/commonjs/header.js +348 -0
  620. package/node_modules/tar/dist/commonjs/header.js.map +1 -0
  621. package/node_modules/tar/dist/commonjs/index.d.ts +20 -0
  622. package/node_modules/tar/dist/commonjs/index.d.ts.map +1 -0
  623. package/node_modules/tar/dist/commonjs/index.js +64 -0
  624. package/node_modules/tar/dist/commonjs/index.js.map +1 -0
  625. package/node_modules/tar/dist/commonjs/index.min.js +4 -0
  626. package/node_modules/tar/dist/commonjs/index.min.js.map +7 -0
  627. package/node_modules/tar/dist/commonjs/large-numbers.d.ts +3 -0
  628. package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +1 -0
  629. package/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  630. package/node_modules/tar/dist/commonjs/large-numbers.js.map +1 -0
  631. package/node_modules/tar/dist/commonjs/list.d.ts +7 -0
  632. package/node_modules/tar/dist/commonjs/list.d.ts.map +1 -0
  633. package/node_modules/tar/dist/commonjs/list.js +153 -0
  634. package/node_modules/tar/dist/commonjs/list.js.map +1 -0
  635. package/node_modules/tar/dist/commonjs/make-command.d.ts +49 -0
  636. package/node_modules/tar/dist/commonjs/make-command.d.ts.map +1 -0
  637. package/node_modules/tar/dist/commonjs/make-command.js +52 -0
  638. package/node_modules/tar/dist/commonjs/make-command.js.map +1 -0
  639. package/node_modules/tar/dist/commonjs/mkdir.d.ts +25 -0
  640. package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +1 -0
  641. package/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  642. package/node_modules/tar/dist/commonjs/mkdir.js.map +1 -0
  643. package/node_modules/tar/dist/commonjs/mode-fix.d.ts +2 -0
  644. package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +1 -0
  645. package/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  646. package/node_modules/tar/dist/commonjs/mode-fix.js.map +1 -0
  647. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +2 -0
  648. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +1 -0
  649. package/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  650. package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +1 -0
  651. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +2 -0
  652. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -0
  653. package/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  654. package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -0
  655. package/node_modules/tar/dist/commonjs/options.d.ts +604 -0
  656. package/node_modules/tar/dist/commonjs/options.d.ts.map +1 -0
  657. package/node_modules/tar/dist/commonjs/options.js +66 -0
  658. package/node_modules/tar/dist/commonjs/options.js.map +1 -0
  659. package/node_modules/tar/dist/commonjs/pack.d.ts +105 -0
  660. package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -0
  661. package/node_modules/tar/dist/commonjs/pack.js +544 -0
  662. package/node_modules/tar/dist/commonjs/pack.js.map +1 -0
  663. package/node_modules/tar/dist/commonjs/package.json +3 -0
  664. package/node_modules/tar/dist/commonjs/parse.d.ts +92 -0
  665. package/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -0
  666. package/node_modules/tar/dist/commonjs/parse.js +655 -0
  667. package/node_modules/tar/dist/commonjs/parse.js.map +1 -0
  668. package/node_modules/tar/dist/commonjs/path-reservations.d.ts +11 -0
  669. package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +1 -0
  670. package/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  671. package/node_modules/tar/dist/commonjs/path-reservations.js.map +1 -0
  672. package/node_modules/tar/dist/commonjs/pax.d.ts +26 -0
  673. package/node_modules/tar/dist/commonjs/pax.d.ts.map +1 -0
  674. package/node_modules/tar/dist/commonjs/pax.js +182 -0
  675. package/node_modules/tar/dist/commonjs/pax.js.map +1 -0
  676. package/node_modules/tar/dist/commonjs/process-umask.d.ts +2 -0
  677. package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +1 -0
  678. package/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  679. package/node_modules/tar/dist/commonjs/process-umask.js.map +1 -0
  680. package/node_modules/tar/dist/commonjs/read-entry.d.ts +36 -0
  681. package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +1 -0
  682. package/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  683. package/node_modules/tar/dist/commonjs/read-entry.js.map +1 -0
  684. package/node_modules/tar/dist/commonjs/replace.d.ts +2 -0
  685. package/node_modules/tar/dist/commonjs/replace.d.ts.map +1 -0
  686. package/node_modules/tar/dist/commonjs/replace.js +227 -0
  687. package/node_modules/tar/dist/commonjs/replace.js.map +1 -0
  688. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +2 -0
  689. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +1 -0
  690. package/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  691. package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +1 -0
  692. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +2 -0
  693. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +1 -0
  694. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  695. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +1 -0
  696. package/node_modules/tar/dist/commonjs/symlink-error.d.ts +9 -0
  697. package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +1 -0
  698. package/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  699. package/node_modules/tar/dist/commonjs/symlink-error.js.map +1 -0
  700. package/node_modules/tar/dist/commonjs/types.d.ts +16 -0
  701. package/node_modules/tar/dist/commonjs/types.d.ts.map +1 -0
  702. package/node_modules/tar/dist/commonjs/types.js +70 -0
  703. package/node_modules/tar/dist/commonjs/types.js.map +1 -0
  704. package/node_modules/tar/dist/commonjs/unpack.d.ts +101 -0
  705. package/node_modules/tar/dist/commonjs/unpack.d.ts.map +1 -0
  706. package/node_modules/tar/dist/commonjs/unpack.js +932 -0
  707. package/node_modules/tar/dist/commonjs/unpack.js.map +1 -0
  708. package/node_modules/tar/dist/commonjs/update.d.ts +2 -0
  709. package/node_modules/tar/dist/commonjs/update.d.ts.map +1 -0
  710. package/node_modules/tar/dist/commonjs/update.js +33 -0
  711. package/node_modules/tar/dist/commonjs/update.js.map +1 -0
  712. package/node_modules/tar/dist/commonjs/warn-method.d.ts +24 -0
  713. package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +1 -0
  714. package/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  715. package/node_modules/tar/dist/commonjs/warn-method.js.map +1 -0
  716. package/node_modules/tar/dist/commonjs/winchars.d.ts +3 -0
  717. package/node_modules/tar/dist/commonjs/winchars.d.ts.map +1 -0
  718. package/node_modules/tar/dist/commonjs/winchars.js +14 -0
  719. package/node_modules/tar/dist/commonjs/winchars.js.map +1 -0
  720. package/node_modules/tar/dist/commonjs/write-entry.d.ts +129 -0
  721. package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +1 -0
  722. package/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  723. package/node_modules/tar/dist/commonjs/write-entry.js.map +1 -0
  724. package/node_modules/tar/dist/esm/create.d.ts +3 -0
  725. package/node_modules/tar/dist/esm/create.d.ts.map +1 -0
  726. package/node_modules/tar/dist/esm/create.js +76 -0
  727. package/node_modules/tar/dist/esm/create.js.map +1 -0
  728. package/node_modules/tar/dist/esm/cwd-error.d.ts +8 -0
  729. package/node_modules/tar/dist/esm/cwd-error.d.ts.map +1 -0
  730. package/node_modules/tar/dist/esm/cwd-error.js +14 -0
  731. package/node_modules/tar/dist/esm/cwd-error.js.map +1 -0
  732. package/node_modules/tar/dist/esm/extract.d.ts +3 -0
  733. package/node_modules/tar/dist/esm/extract.d.ts.map +1 -0
  734. package/node_modules/tar/dist/esm/extract.js +49 -0
  735. package/node_modules/tar/dist/esm/extract.js.map +1 -0
  736. package/node_modules/tar/dist/esm/get-write-flag.d.ts +2 -0
  737. package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +1 -0
  738. package/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  739. package/node_modules/tar/dist/esm/get-write-flag.js.map +1 -0
  740. package/node_modules/tar/dist/esm/header.d.ts +53 -0
  741. package/node_modules/tar/dist/esm/header.d.ts.map +1 -0
  742. package/node_modules/tar/dist/esm/header.js +311 -0
  743. package/node_modules/tar/dist/esm/header.js.map +1 -0
  744. package/node_modules/tar/dist/esm/index.d.ts +20 -0
  745. package/node_modules/tar/dist/esm/index.d.ts.map +1 -0
  746. package/node_modules/tar/dist/esm/index.js +20 -0
  747. package/node_modules/tar/dist/esm/index.js.map +1 -0
  748. package/node_modules/tar/dist/esm/index.min.js +4 -0
  749. package/node_modules/tar/dist/esm/index.min.js.map +7 -0
  750. package/node_modules/tar/dist/esm/large-numbers.d.ts +3 -0
  751. package/node_modules/tar/dist/esm/large-numbers.d.ts.map +1 -0
  752. package/node_modules/tar/dist/esm/large-numbers.js +94 -0
  753. package/node_modules/tar/dist/esm/large-numbers.js.map +1 -0
  754. package/node_modules/tar/dist/esm/list.d.ts +7 -0
  755. package/node_modules/tar/dist/esm/list.d.ts.map +1 -0
  756. package/node_modules/tar/dist/esm/list.js +113 -0
  757. package/node_modules/tar/dist/esm/list.js.map +1 -0
  758. package/node_modules/tar/dist/esm/make-command.d.ts +49 -0
  759. package/node_modules/tar/dist/esm/make-command.d.ts.map +1 -0
  760. package/node_modules/tar/dist/esm/make-command.js +48 -0
  761. package/node_modules/tar/dist/esm/make-command.js.map +1 -0
  762. package/node_modules/tar/dist/esm/mkdir.d.ts +25 -0
  763. package/node_modules/tar/dist/esm/mkdir.d.ts.map +1 -0
  764. package/node_modules/tar/dist/esm/mkdir.js +179 -0
  765. package/node_modules/tar/dist/esm/mkdir.js.map +1 -0
  766. package/node_modules/tar/dist/esm/mode-fix.d.ts +2 -0
  767. package/node_modules/tar/dist/esm/mode-fix.d.ts.map +1 -0
  768. package/node_modules/tar/dist/esm/mode-fix.js +25 -0
  769. package/node_modules/tar/dist/esm/mode-fix.js.map +1 -0
  770. package/node_modules/tar/dist/esm/normalize-unicode.d.ts +2 -0
  771. package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +1 -0
  772. package/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  773. package/node_modules/tar/dist/esm/normalize-unicode.js.map +1 -0
  774. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +2 -0
  775. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -0
  776. package/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  777. package/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -0
  778. package/node_modules/tar/dist/esm/options.d.ts +604 -0
  779. package/node_modules/tar/dist/esm/options.d.ts.map +1 -0
  780. package/node_modules/tar/dist/esm/options.js +54 -0
  781. package/node_modules/tar/dist/esm/options.js.map +1 -0
  782. package/node_modules/tar/dist/esm/pack.d.ts +105 -0
  783. package/node_modules/tar/dist/esm/pack.d.ts.map +1 -0
  784. package/node_modules/tar/dist/esm/pack.js +502 -0
  785. package/node_modules/tar/dist/esm/pack.js.map +1 -0
  786. package/node_modules/tar/dist/esm/package.json +3 -0
  787. package/node_modules/tar/dist/esm/parse.d.ts +92 -0
  788. package/node_modules/tar/dist/esm/parse.d.ts.map +1 -0
  789. package/node_modules/tar/dist/esm/parse.js +651 -0
  790. package/node_modules/tar/dist/esm/parse.js.map +1 -0
  791. package/node_modules/tar/dist/esm/path-reservations.d.ts +11 -0
  792. package/node_modules/tar/dist/esm/path-reservations.d.ts.map +1 -0
  793. package/node_modules/tar/dist/esm/path-reservations.js +166 -0
  794. package/node_modules/tar/dist/esm/path-reservations.js.map +1 -0
  795. package/node_modules/tar/dist/esm/pax.d.ts +26 -0
  796. package/node_modules/tar/dist/esm/pax.d.ts.map +1 -0
  797. package/node_modules/tar/dist/esm/pax.js +178 -0
  798. package/node_modules/tar/dist/esm/pax.js.map +1 -0
  799. package/node_modules/tar/dist/esm/process-umask.d.ts +2 -0
  800. package/node_modules/tar/dist/esm/process-umask.d.ts.map +1 -0
  801. package/node_modules/tar/dist/esm/process-umask.js +3 -0
  802. package/node_modules/tar/dist/esm/process-umask.js.map +1 -0
  803. package/node_modules/tar/dist/esm/read-entry.d.ts +36 -0
  804. package/node_modules/tar/dist/esm/read-entry.d.ts.map +1 -0
  805. package/node_modules/tar/dist/esm/read-entry.js +132 -0
  806. package/node_modules/tar/dist/esm/read-entry.js.map +1 -0
  807. package/node_modules/tar/dist/esm/replace.d.ts +2 -0
  808. package/node_modules/tar/dist/esm/replace.d.ts.map +1 -0
  809. package/node_modules/tar/dist/esm/replace.js +221 -0
  810. package/node_modules/tar/dist/esm/replace.js.map +1 -0
  811. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +2 -0
  812. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +1 -0
  813. package/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  814. package/node_modules/tar/dist/esm/strip-absolute-path.js.map +1 -0
  815. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +2 -0
  816. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +1 -0
  817. package/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  818. package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +1 -0
  819. package/node_modules/tar/dist/esm/symlink-error.d.ts +9 -0
  820. package/node_modules/tar/dist/esm/symlink-error.d.ts.map +1 -0
  821. package/node_modules/tar/dist/esm/symlink-error.js +15 -0
  822. package/node_modules/tar/dist/esm/symlink-error.js.map +1 -0
  823. package/node_modules/tar/dist/esm/types.d.ts +16 -0
  824. package/node_modules/tar/dist/esm/types.d.ts.map +1 -0
  825. package/node_modules/tar/dist/esm/types.js +65 -0
  826. package/node_modules/tar/dist/esm/types.js.map +1 -0
  827. package/node_modules/tar/dist/esm/unpack.d.ts +101 -0
  828. package/node_modules/tar/dist/esm/unpack.d.ts.map +1 -0
  829. package/node_modules/tar/dist/esm/unpack.js +891 -0
  830. package/node_modules/tar/dist/esm/unpack.js.map +1 -0
  831. package/node_modules/tar/dist/esm/update.d.ts +2 -0
  832. package/node_modules/tar/dist/esm/update.d.ts.map +1 -0
  833. package/node_modules/tar/dist/esm/update.js +30 -0
  834. package/node_modules/tar/dist/esm/update.js.map +1 -0
  835. package/node_modules/tar/dist/esm/warn-method.d.ts +24 -0
  836. package/node_modules/tar/dist/esm/warn-method.d.ts.map +1 -0
  837. package/node_modules/tar/dist/esm/warn-method.js +27 -0
  838. package/node_modules/tar/dist/esm/warn-method.js.map +1 -0
  839. package/node_modules/tar/dist/esm/winchars.d.ts +3 -0
  840. package/node_modules/tar/dist/esm/winchars.d.ts.map +1 -0
  841. package/node_modules/tar/dist/esm/winchars.js +9 -0
  842. package/node_modules/tar/dist/esm/winchars.js.map +1 -0
  843. package/node_modules/tar/dist/esm/write-entry.d.ts +129 -0
  844. package/node_modules/tar/dist/esm/write-entry.d.ts.map +1 -0
  845. package/node_modules/tar/dist/esm/write-entry.js +656 -0
  846. package/node_modules/tar/dist/esm/write-entry.js.map +1 -0
  847. package/node_modules/tar/package.json +298 -0
  848. package/node_modules/ws/README.md +21 -29
  849. package/node_modules/ws/lib/buffer-util.js +13 -2
  850. package/node_modules/ws/lib/sender.js +4 -1
  851. package/node_modules/ws/lib/websocket.js +25 -6
  852. package/node_modules/ws/package.json +1 -1
  853. package/node_modules/yallist/LICENSE.md +63 -0
  854. package/node_modules/yallist/README.md +205 -0
  855. package/node_modules/yallist/dist/commonjs/index.d.ts +39 -0
  856. package/node_modules/yallist/dist/commonjs/index.d.ts.map +1 -0
  857. package/node_modules/yallist/dist/commonjs/index.js +384 -0
  858. package/node_modules/yallist/dist/commonjs/index.js.map +1 -0
  859. package/node_modules/yallist/dist/commonjs/package.json +3 -0
  860. package/node_modules/yallist/dist/esm/index.d.ts +39 -0
  861. package/node_modules/yallist/dist/esm/index.d.ts.map +1 -0
  862. package/node_modules/yallist/dist/esm/index.js +379 -0
  863. package/node_modules/yallist/dist/esm/index.js.map +1 -0
  864. package/node_modules/yallist/dist/esm/package.json +3 -0
  865. package/node_modules/yallist/package.json +68 -0
  866. package/package.json +7 -1
  867. package/bin/completion/templates/cds-tmpl.fish +0 -65
  868. package/bin/completion/templates/cds-tmpl.ps1 +0 -217
  869. package/bin/completion/templates/cds-tmpl.sh +0 -93
  870. package/bin/completion/templates/cds-tmpl.zsh +0 -74
  871. package/node_modules/@cap-js/db-service/lib/recursion-guard.js +0 -40
  872. package/node_modules/@sap/cds/lib/env/cds-requires.js +0 -327
  873. package/node_modules/@sap/cds-mtxs/srv/bootstrap.cds +0 -2
  874. package/node_modules/@sap/cds-mtxs/srv/bootstrap.js +0 -33
  875. package/node_modules/body-parser/node_modules/content-type/LICENSE +0 -22
  876. package/node_modules/body-parser/node_modules/content-type/README.md +0 -71
  877. package/node_modules/body-parser/node_modules/content-type/package.json +0 -52
  878. package/node_modules/content-disposition/index.js +0 -536
  879. package/node_modules/content-type/HISTORY.md +0 -29
  880. package/node_modules/content-type/index.js +0 -225
  881. package/node_modules/negotiator/node_modules/content-type/LICENSE +0 -22
  882. package/node_modules/negotiator/node_modules/content-type/README.md +0 -71
  883. package/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +0 -46
  884. package/node_modules/negotiator/node_modules/content-type/dist/index.js +0 -176
  885. package/node_modules/negotiator/node_modules/content-type/dist/index.js.map +0 -1
  886. package/node_modules/negotiator/node_modules/content-type/package.json +0 -52
  887. package/node_modules/on-finished/HISTORY.md +0 -98
  888. package/node_modules/type-is/node_modules/content-type/LICENSE +0 -22
  889. package/node_modules/type-is/node_modules/content-type/README.md +0 -71
  890. package/node_modules/type-is/node_modules/content-type/dist/index.d.ts +0 -46
  891. package/node_modules/type-is/node_modules/content-type/dist/index.js +0 -176
  892. package/node_modules/type-is/node_modules/content-type/dist/index.js.map +0 -1
  893. package/node_modules/type-is/node_modules/content-type/package.json +0 -52
  894. /package/lib/init/template/vue/files/src/{main.js → main.{{extension}}.hbs} +0 -0
  895. /package/{lib/import/openapi → node_modules/@cap-js/openapi/lib/import}/utilities.js +0 -0
  896. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.d.ts +0 -0
  897. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js +0 -0
  898. /package/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js.map +0 -0
@@ -0,0 +1,388 @@
1
+ "use strict";
2
+ /*!
3
+ * content-disposition
4
+ * Copyright(c) 2014-2017 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.create = create;
9
+ exports.parse = parse;
10
+ exports.decodeExtended = decodeExtended;
11
+ exports.format = format;
12
+ exports.encodeExtended = encodeExtended;
13
+ /**
14
+ * Null object perf optimization. Faster than `Object.create(null)` and `{ __proto__: null }`.
15
+ */
16
+ const NullObject = /* @__PURE__ */ (() => {
17
+ const C = function () { };
18
+ C.prototype = Object.create(null);
19
+ return C;
20
+ })();
21
+ /**
22
+ * Create an attachment Content-Disposition header.
23
+ */
24
+ function create(filename, options) {
25
+ const type = options?.type || 'attachment';
26
+ const parameters = createParameters(filename, options?.fallback);
27
+ return format({ type, parameters }, { extended: false });
28
+ }
29
+ const SP = 32; // " "
30
+ const HTAB = 9; // "\t"
31
+ const SEMI = 59; // ";"
32
+ const EQ = 61; // "="
33
+ const DQUOTE = 34; // '"'
34
+ const BSLASH = 92; // "\\"
35
+ const ASTERISK = 42; // "*"
36
+ /**
37
+ * Parse Content-Disposition header string.
38
+ */
39
+ function parse(header, options) {
40
+ const len = header.length;
41
+ const multipart = options?.multipart === true;
42
+ const extended = options?.extended !== false;
43
+ let index = skipOWS(header, 0, header.length);
44
+ const typeStart = index;
45
+ index = parseToken(header, index, len);
46
+ const typeEnd = trailingOWS(header, typeStart, index);
47
+ const type = header.slice(typeStart, typeEnd).toLowerCase();
48
+ const parameters = new NullObject();
49
+ parameter: while (index < len) {
50
+ index = skipOWS(header, index + 1, len); // Skip over semicolon.
51
+ const keyStart = index;
52
+ while (index < len) {
53
+ const char = header.charCodeAt(index);
54
+ if (char === SEMI)
55
+ continue parameter;
56
+ if (char === EQ) {
57
+ const keyEnd = trailingOWS(header, keyStart, index);
58
+ const key = header.slice(keyStart, keyEnd).toLowerCase();
59
+ index = skipOWS(header, index + 1, len);
60
+ if (index < len && header.charCodeAt(index) === DQUOTE) {
61
+ index++;
62
+ let value = '';
63
+ if (multipart) {
64
+ while (index < len) {
65
+ const code = header.charCodeAt(index++);
66
+ if (code === DQUOTE) {
67
+ index = parseToken(header, index, len);
68
+ if (parameters[key] === undefined)
69
+ parameters[key] = value;
70
+ break;
71
+ }
72
+ if (code === /* % */ 37 && index + 1 < len) {
73
+ const code2 = header.charCodeAt(index);
74
+ const code3 = header.charCodeAt(index + 1);
75
+ if (code2 === 50 /* "2" */ && code3 === 50 /* "2" */) {
76
+ value += '"';
77
+ index += 2;
78
+ continue;
79
+ }
80
+ if (code2 === 48 /* "0" */) {
81
+ if (code3 === 100 /* "d" */ || code3 === 68 /* "D" */) {
82
+ value += '\r';
83
+ index += 2;
84
+ continue;
85
+ }
86
+ if (code3 === 97 /* "a" */ || code3 === 65 /* "A" */) {
87
+ value += '\n';
88
+ index += 2;
89
+ continue;
90
+ }
91
+ }
92
+ }
93
+ value += String.fromCharCode(code);
94
+ }
95
+ }
96
+ else {
97
+ while (index < len) {
98
+ const code = header.charCodeAt(index++);
99
+ if (code === DQUOTE) {
100
+ index = parseToken(header, index, len);
101
+ if (parameters[key] === undefined)
102
+ parameters[key] = value;
103
+ break;
104
+ }
105
+ if (code === BSLASH && index < len) {
106
+ value += header[index++];
107
+ continue;
108
+ }
109
+ value += String.fromCharCode(code);
110
+ }
111
+ }
112
+ continue parameter;
113
+ }
114
+ const valueStart = index;
115
+ index = parseToken(header, index, len);
116
+ const valueEnd = trailingOWS(header, valueStart, index);
117
+ const value = header.slice(valueStart, valueEnd);
118
+ if (parameters[key] === undefined) {
119
+ parameters[key] = value;
120
+ if (extended && key.charCodeAt(key.length - 1) === ASTERISK) {
121
+ const normalizedKey = key.slice(0, -1);
122
+ const decoded = decodeExtended(value);
123
+ if (decoded !== undefined)
124
+ parameters[normalizedKey] = decoded;
125
+ }
126
+ }
127
+ continue parameter;
128
+ }
129
+ index++;
130
+ }
131
+ }
132
+ return { type, parameters };
133
+ }
134
+ /**
135
+ * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%")
136
+ */
137
+ const ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g; // eslint-disable-line no-control-regex
138
+ /**
139
+ * RegExp to match non-US-ASCII characters.
140
+ */
141
+ const NON_ASCII_REGEXP = /[^\x20-\x7e]/g;
142
+ /**
143
+ * RegExp to match chars that must be quoted-pair in RFC 2616
144
+ */
145
+ const QUOTE_REGEXP = /[\\"]/g;
146
+ /**
147
+ * Match chars that can't be used in the filename for compatibility.
148
+ */
149
+ const INVALID_FILENAME_REGEXP = /%[0-9A-Fa-f]{2}/;
150
+ /**
151
+ * RegExp for various RFC 2616 grammar
152
+ *
153
+ * parameter = token "=" ( token | quoted-string )
154
+ * token = 1*<any CHAR except CTLs or separators>
155
+ * separators = "(" | ")" | "<" | ">" | "@"
156
+ * | "," | ";" | ":" | "\" | <">
157
+ * | "/" | "[" | "]" | "?" | "="
158
+ * | "{" | "}" | SP | HT
159
+ * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> )
160
+ * qdtext = <any TEXT except <">>
161
+ * quoted-pair = "\" CHAR
162
+ * CHAR = <any US-ASCII character (octets 0 - 127)>
163
+ * TEXT = <any OCTET except CTLs, but including LWS>
164
+ * LWS = [CRLF] 1*( SP | HT )
165
+ * CRLF = CR LF
166
+ * CR = <US-ASCII CR, carriage return (13)>
167
+ * LF = <US-ASCII LF, linefeed (10)>
168
+ * SP = <US-ASCII SP, space (32)>
169
+ * HT = <US-ASCII HT, horizontal-tab (9)>
170
+ * CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)>
171
+ * OCTET = <any 8-bit sequence of data>
172
+ */
173
+ const TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]*$/;
174
+ const ASCII_TEXT_REGEXP = /^[\x20-\x7e]*$/;
175
+ const TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/;
176
+ /**
177
+ * Create parameters object from filename and fallback.
178
+ */
179
+ function createParameters(filename, fallback = true) {
180
+ if (filename === undefined)
181
+ return;
182
+ if (typeof fallback === 'string') {
183
+ if (!ASCII_TEXT_REGEXP.test(fallback)) {
184
+ throw new TypeError('Fallback must be valid US-ASCII: ' + fallback);
185
+ }
186
+ if (fallback === filename)
187
+ return { filename };
188
+ return { filename: fallback, 'filename*': encodeExtended(filename) };
189
+ }
190
+ // Use `filename` when possible, otherwise use `filename*`.
191
+ if (ASCII_TEXT_REGEXP.test(filename) &&
192
+ !INVALID_FILENAME_REGEXP.test(filename)) {
193
+ return { filename };
194
+ }
195
+ if (fallback === false) {
196
+ return { 'filename*': encodeExtended(filename) };
197
+ }
198
+ return {
199
+ filename: getAscii(filename),
200
+ 'filename*': encodeExtended(filename),
201
+ };
202
+ }
203
+ /**
204
+ * Decode a RFC 8187 field value (gracefully).
205
+ */
206
+ function decodeExtended(str) {
207
+ const charsetEnd = str.indexOf("'");
208
+ if (charsetEnd <= 0) {
209
+ return undefined;
210
+ }
211
+ const languageEnd = str.indexOf("'", charsetEnd + 1);
212
+ if (languageEnd === -1) {
213
+ return undefined;
214
+ }
215
+ const charset = str.slice(0, charsetEnd).toLowerCase();
216
+ const encoded = str.slice(languageEnd + 1);
217
+ switch (charset) {
218
+ case 'iso-8859-1': {
219
+ return decodeHexEscapes(encoded);
220
+ }
221
+ case 'utf-8':
222
+ case 'utf8': {
223
+ return tryDecodeURIComponent(encoded);
224
+ }
225
+ }
226
+ return undefined;
227
+ }
228
+ /**
229
+ * Decode URI component but return `undefined` on error.
230
+ */
231
+ function tryDecodeURIComponent(str) {
232
+ try {
233
+ return decodeURIComponent(str);
234
+ }
235
+ catch {
236
+ return undefined;
237
+ }
238
+ }
239
+ /**
240
+ * Parse a token starting at the provided index.
241
+ */
242
+ function parseToken(str, index, len) {
243
+ while (index < len) {
244
+ const char = str.charCodeAt(index);
245
+ if (char === SEMI)
246
+ break;
247
+ index++;
248
+ }
249
+ return index;
250
+ }
251
+ /**
252
+ * Skip RFC 2616 linear whitespace (space / tab).
253
+ */
254
+ function skipOWS(str, index, len) {
255
+ while (index < len) {
256
+ const char = str.charCodeAt(index);
257
+ if (char !== SP && char !== HTAB)
258
+ break;
259
+ index++;
260
+ }
261
+ return index;
262
+ }
263
+ /**
264
+ * Skip RFC 2616 linear whitespace (space / tab) from the end of a string.
265
+ */
266
+ function trailingOWS(str, start, end) {
267
+ while (end > start) {
268
+ const char = str.charCodeAt(end - 1);
269
+ if (char !== SP && char !== HTAB)
270
+ break;
271
+ end--;
272
+ }
273
+ return end;
274
+ }
275
+ /**
276
+ * Format object to Content-Disposition header.
277
+ */
278
+ function format(obj, options) {
279
+ const { type, parameters } = obj;
280
+ const multipart = options?.multipart === true;
281
+ const extended = options?.extended !== false;
282
+ if (!type || !TOKEN_REGEXP.test(type)) {
283
+ throw new TypeError('Invalid type: ' + type);
284
+ }
285
+ let result = type;
286
+ if (parameters) {
287
+ for (const param of Object.keys(parameters)) {
288
+ const value = parameters[param];
289
+ if (!TOKEN_REGEXP.test(param)) {
290
+ throw new TypeError('Invalid parameter name: ' + param);
291
+ }
292
+ if (multipart) {
293
+ result += '; ' + param + '=' + qmultipart(value);
294
+ continue;
295
+ }
296
+ if (TOKEN_REGEXP.test(value)) {
297
+ result += '; ' + param + '=' + value;
298
+ continue;
299
+ }
300
+ if (TEXT_REGEXP.test(value)) {
301
+ result += '; ' + param + '=' + qstring(value);
302
+ continue;
303
+ }
304
+ if (!extended) {
305
+ throw new TypeError('Invalid parameter value: ' + value);
306
+ }
307
+ result += '; ' + param + '*=' + encodeExtended(value);
308
+ }
309
+ }
310
+ return result;
311
+ }
312
+ /**
313
+ * Get US-ASCII version of string.
314
+ */
315
+ function getAscii(val) {
316
+ // simple Unicode -> US-ASCII transformation
317
+ return val.replace(NON_ASCII_REGEXP, '?');
318
+ }
319
+ /**
320
+ * Percent encode a single character.
321
+ */
322
+ function pencode(char) {
323
+ return '%' + char.charCodeAt(0).toString(16).toUpperCase();
324
+ }
325
+ /**
326
+ * Quote a string for HTTP.
327
+ */
328
+ function qstring(str) {
329
+ return '"' + str.replace(QUOTE_REGEXP, '\\$&') + '"';
330
+ }
331
+ /**
332
+ * Quote a string for multipart/form-data.
333
+ *
334
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data
335
+ */
336
+ function qmultipart(str) {
337
+ return '"' + str.replace(/[\n\r"]/g, multipartEscape) + '"';
338
+ }
339
+ /**
340
+ * Escape a multipart/form-data string character.
341
+ */
342
+ function multipartEscape(char) {
343
+ if (char === '\n')
344
+ return '%0A';
345
+ if (char === '\r')
346
+ return '%0D';
347
+ return '%22';
348
+ }
349
+ /**
350
+ * Encode a Unicode string for HTTP (RFC 8187).
351
+ */
352
+ function encodeExtended(str) {
353
+ const encoded = encodeURIComponent(str).replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode);
354
+ return "UTF-8''" + encoded;
355
+ }
356
+ /**
357
+ * Check if a character is a hex digit [0-9A-Fa-f]
358
+ */
359
+ function isHexDigit(char) {
360
+ const code = char.charCodeAt(0);
361
+ return ((code >= 48 && code <= 57) || // 0-9
362
+ (code >= 65 && code <= 70) || // A-F
363
+ (code >= 97 && code <= 102) // a-f
364
+ );
365
+ }
366
+ /**
367
+ * Decode hex escapes in a string (e.g., %20 -> space)
368
+ */
369
+ function decodeHexEscapes(str) {
370
+ const firstEscape = str.indexOf('%');
371
+ if (firstEscape === -1)
372
+ return str;
373
+ let result = str.slice(0, firstEscape);
374
+ for (let idx = firstEscape; idx < str.length; idx++) {
375
+ if (str[idx] === '%' &&
376
+ idx + 2 < str.length &&
377
+ isHexDigit(str[idx + 1]) &&
378
+ isHexDigit(str[idx + 2])) {
379
+ result += String.fromCharCode(Number.parseInt(str[idx + 1] + str[idx + 2], 16));
380
+ idx += 2;
381
+ }
382
+ else {
383
+ result += str[idx];
384
+ }
385
+ }
386
+ return result;
387
+ }
388
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * content-disposition\n * Copyright(c) 2014-2017 Douglas Christopher Wilson\n * MIT Licensed\n */\n\nexport interface ContentDisposition {\n /**\n * Content-Disposition type, such as \"attachment\" or \"inline\"\n */\n type: string;\n /**\n * Content-Disposition parameters, such as \"filename\"\n */\n parameters: Record<string, string>;\n}\n\n/**\n * Null object perf optimization. Faster than `Object.create(null)` and `{ __proto__: null }`.\n */\nconst NullObject = /* @__PURE__ */ (() => {\n const C = function () {};\n C.prototype = Object.create(null);\n return C;\n})() as unknown as { new (): any };\n\nexport interface CreateOptions {\n /**\n * Content-Disposition type, defaults to \"attachment\"\n * @default \"attachment\"\n */\n type?: string;\n /**\n * Fallback filename for non-US-ASCII strings. If true, a fallback will be generated by replacing non-US-ASCII characters with \"?\". If false, no fallback will be generated.\n * @default true\n */\n fallback?: string | boolean;\n}\n\n/**\n * Create an attachment Content-Disposition header.\n */\nexport function create(filename?: string, options?: CreateOptions): string {\n const type = options?.type || 'attachment';\n const parameters = createParameters(filename, options?.fallback);\n\n return format({ type, parameters }, { extended: false });\n}\n\nconst SP = 32; // \" \"\nconst HTAB = 9; // \"\\t\"\nconst SEMI = 59; // \";\"\nconst EQ = 61; // \"=\"\nconst DQUOTE = 34; // '\"'\nconst BSLASH = 92; // \"\\\\\"\nconst ASTERISK = 42; // \"*\"\n\nexport interface ParseOptions {\n /**\n * Whether to decode RFC 8187 encoded parameters.\n * @default true\n */\n extended?: boolean;\n /**\n * Parse parameters as sent by browsers in `multipart/form-data`.\n * @default false\n */\n multipart?: boolean;\n}\n\n/**\n * Parse Content-Disposition header string.\n */\nexport function parse(\n header: string,\n options?: ParseOptions,\n): ContentDisposition {\n const len = header.length;\n const multipart = options?.multipart === true;\n const extended = options?.extended !== false;\n let index = skipOWS(header, 0, header.length);\n\n const typeStart = index;\n index = parseToken(header, index, len);\n const typeEnd = trailingOWS(header, typeStart, index);\n const type = header.slice(typeStart, typeEnd).toLowerCase();\n\n const parameters: Record<string, string> = new NullObject();\n\n parameter: while (index < len) {\n index = skipOWS(header, index + 1, len); // Skip over semicolon.\n\n const keyStart = index;\n\n while (index < len) {\n const char = header.charCodeAt(index);\n if (char === SEMI) continue parameter;\n\n if (char === EQ) {\n const keyEnd = trailingOWS(header, keyStart, index);\n const key = header.slice(keyStart, keyEnd).toLowerCase();\n\n index = skipOWS(header, index + 1, len);\n\n if (index < len && header.charCodeAt(index) === DQUOTE) {\n index++;\n\n let value = '';\n\n if (multipart) {\n while (index < len) {\n const code = header.charCodeAt(index++);\n if (code === DQUOTE) {\n index = parseToken(header, index, len);\n if (parameters[key] === undefined) parameters[key] = value;\n break;\n }\n\n if (code === /* % */ 37 && index + 1 < len) {\n const code2 = header.charCodeAt(index);\n const code3 = header.charCodeAt(index + 1);\n\n if (code2 === 50 /* \"2\" */ && code3 === 50 /* \"2\" */) {\n value += '\"';\n index += 2;\n continue;\n }\n\n if (code2 === 48 /* \"0\" */) {\n if (code3 === 100 /* \"d\" */ || code3 === 68 /* \"D\" */) {\n value += '\\r';\n index += 2;\n continue;\n }\n\n if (code3 === 97 /* \"a\" */ || code3 === 65 /* \"A\" */) {\n value += '\\n';\n index += 2;\n continue;\n }\n }\n }\n\n value += String.fromCharCode(code);\n }\n } else {\n while (index < len) {\n const code = header.charCodeAt(index++);\n if (code === DQUOTE) {\n index = parseToken(header, index, len);\n if (parameters[key] === undefined) parameters[key] = value;\n break;\n }\n\n if (code === BSLASH && index < len) {\n value += header[index++];\n continue;\n }\n\n value += String.fromCharCode(code);\n }\n }\n\n continue parameter;\n }\n\n const valueStart = index;\n index = parseToken(header, index, len);\n const valueEnd = trailingOWS(header, valueStart, index);\n const value = header.slice(valueStart, valueEnd);\n\n if (parameters[key] === undefined) {\n parameters[key] = value;\n\n if (extended && key.charCodeAt(key.length - 1) === ASTERISK) {\n const normalizedKey = key.slice(0, -1);\n const decoded = decodeExtended(value);\n if (decoded !== undefined) parameters[normalizedKey] = decoded;\n }\n }\n\n continue parameter;\n }\n\n index++;\n }\n }\n\n return { type, parameters };\n}\n\n/**\n * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including \"%\")\n */\nconst ENCODE_URL_ATTR_CHAR_REGEXP = /[\\x00-\\x20\"'()*,/:;<=>?@[\\\\\\]{}\\x7f]/g; // eslint-disable-line no-control-regex\n\n/**\n * RegExp to match non-US-ASCII characters.\n */\nconst NON_ASCII_REGEXP = /[^\\x20-\\x7e]/g;\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 2616\n */\nconst QUOTE_REGEXP = /[\\\\\"]/g;\n\n/**\n * Match chars that can't be used in the filename for compatibility.\n */\nconst INVALID_FILENAME_REGEXP = /%[0-9A-Fa-f]{2}/;\n\n/**\n * RegExp for various RFC 2616 grammar\n *\n * parameter = token \"=\" ( token | quoted-string )\n * token = 1*<any CHAR except CTLs or separators>\n * separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n * | \",\" | \";\" | \":\" | \"\\\" | <\">\n * | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n * | \"{\" | \"}\" | SP | HT\n * quoted-string = ( <\"> *(qdtext | quoted-pair ) <\"> )\n * qdtext = <any TEXT except <\">>\n * quoted-pair = \"\\\" CHAR\n * CHAR = <any US-ASCII character (octets 0 - 127)>\n * TEXT = <any OCTET except CTLs, but including LWS>\n * LWS = [CRLF] 1*( SP | HT )\n * CRLF = CR LF\n * CR = <US-ASCII CR, carriage return (13)>\n * LF = <US-ASCII LF, linefeed (10)>\n * SP = <US-ASCII SP, space (32)>\n * HT = <US-ASCII HT, horizontal-tab (9)>\n * CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)>\n * OCTET = <any 8-bit sequence of data>\n */\nconst TEXT_REGEXP = /^[\\x20-\\x7e\\x80-\\xff]*$/;\nconst ASCII_TEXT_REGEXP = /^[\\x20-\\x7e]*$/;\nconst TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/;\n\n/**\n * Create parameters object from filename and fallback.\n */\nfunction createParameters(\n filename?: string,\n fallback: string | boolean = true,\n): Record<string, string> | undefined {\n if (filename === undefined) return;\n\n if (typeof fallback === 'string') {\n if (!ASCII_TEXT_REGEXP.test(fallback)) {\n throw new TypeError('Fallback must be valid US-ASCII: ' + fallback);\n }\n\n if (fallback === filename) return { filename };\n return { filename: fallback, 'filename*': encodeExtended(filename) };\n }\n\n // Use `filename` when possible, otherwise use `filename*`.\n if (\n ASCII_TEXT_REGEXP.test(filename) &&\n !INVALID_FILENAME_REGEXP.test(filename)\n ) {\n return { filename };\n }\n\n if (fallback === false) {\n return { 'filename*': encodeExtended(filename) };\n }\n\n return {\n filename: getAscii(filename),\n 'filename*': encodeExtended(filename),\n };\n}\n\n/**\n * Decode a RFC 8187 field value (gracefully).\n */\nexport function decodeExtended(str: string): string | undefined {\n const charsetEnd = str.indexOf(\"'\");\n if (charsetEnd <= 0) {\n return undefined;\n }\n\n const languageEnd = str.indexOf(\"'\", charsetEnd + 1);\n if (languageEnd === -1) {\n return undefined;\n }\n\n const charset = str.slice(0, charsetEnd).toLowerCase();\n const encoded = str.slice(languageEnd + 1);\n\n switch (charset) {\n case 'iso-8859-1': {\n return decodeHexEscapes(encoded);\n }\n case 'utf-8':\n case 'utf8': {\n return tryDecodeURIComponent(encoded);\n }\n }\n\n return undefined;\n}\n\n/**\n * Decode URI component but return `undefined` on error.\n */\nfunction tryDecodeURIComponent(str: string): string | undefined {\n try {\n return decodeURIComponent(str);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Parse a token starting at the provided index.\n */\nfunction parseToken(str: string, index: number, len: number): number {\n while (index < len) {\n const char = str.charCodeAt(index);\n if (char === SEMI) break;\n index++;\n }\n return index;\n}\n\n/**\n * Skip RFC 2616 linear whitespace (space / tab).\n */\nfunction skipOWS(str: string, index: number, len: number): number {\n while (index < len) {\n const char = str.charCodeAt(index);\n if (char !== SP && char !== HTAB) break;\n index++;\n }\n return index;\n}\n\n/**\n * Skip RFC 2616 linear whitespace (space / tab) from the end of a string.\n */\nfunction trailingOWS(str: string, start: number, end: number): number {\n while (end > start) {\n const char = str.charCodeAt(end - 1);\n if (char !== SP && char !== HTAB) break;\n end--;\n }\n return end;\n}\n\nexport interface FormatOptions {\n /**\n * Whether to use extended parameter encoding for non-ISO-8859-1 strings.\n * If false, an error will be thrown when formatting such strings.\n * @default true\n */\n extended?: boolean;\n /**\n * Format parameters as sent by browsers in `multipart/form-data`.\n * @default false\n */\n multipart?: boolean;\n}\n\n/**\n * Format object to Content-Disposition header.\n */\nexport function format(\n obj: Partial<ContentDisposition>,\n options?: FormatOptions,\n): string {\n const { type, parameters } = obj;\n const multipart = options?.multipart === true;\n const extended = options?.extended !== false;\n\n if (!type || !TOKEN_REGEXP.test(type)) {\n throw new TypeError('Invalid type: ' + type);\n }\n\n let result = type;\n\n if (parameters) {\n for (const param of Object.keys(parameters)) {\n const value = parameters[param];\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('Invalid parameter name: ' + param);\n }\n\n if (multipart) {\n result += '; ' + param + '=' + qmultipart(value);\n continue;\n }\n\n if (TOKEN_REGEXP.test(value)) {\n result += '; ' + param + '=' + value;\n continue;\n }\n\n if (TEXT_REGEXP.test(value)) {\n result += '; ' + param + '=' + qstring(value);\n continue;\n }\n\n if (!extended) {\n throw new TypeError('Invalid parameter value: ' + value);\n }\n\n result += '; ' + param + '*=' + encodeExtended(value);\n }\n }\n\n return result;\n}\n\n/**\n * Get US-ASCII version of string.\n */\nfunction getAscii(val: string): string {\n // simple Unicode -> US-ASCII transformation\n return val.replace(NON_ASCII_REGEXP, '?');\n}\n\n/**\n * Percent encode a single character.\n */\nfunction pencode(char: string): string {\n return '%' + char.charCodeAt(0).toString(16).toUpperCase();\n}\n\n/**\n * Quote a string for HTTP.\n */\nfunction qstring(str: string): string {\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$&') + '\"';\n}\n\n/**\n * Quote a string for multipart/form-data.\n *\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data\n */\nfunction qmultipart(str: string): string {\n return '\"' + str.replace(/[\\n\\r\"]/g, multipartEscape) + '\"';\n}\n\n/**\n * Escape a multipart/form-data string character.\n */\nfunction multipartEscape(char: string): string {\n if (char === '\\n') return '%0A';\n if (char === '\\r') return '%0D';\n return '%22';\n}\n\n/**\n * Encode a Unicode string for HTTP (RFC 8187).\n */\nexport function encodeExtended(str: string): string {\n const encoded = encodeURIComponent(str).replace(\n ENCODE_URL_ATTR_CHAR_REGEXP,\n pencode,\n );\n\n return \"UTF-8''\" + encoded;\n}\n\n/**\n * Check if a character is a hex digit [0-9A-Fa-f]\n */\nfunction isHexDigit(char: string): boolean {\n const code = char.charCodeAt(0);\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 70) || // A-F\n (code >= 97 && code <= 102) // a-f\n );\n}\n\n/**\n * Decode hex escapes in a string (e.g., %20 -> space)\n */\nfunction decodeHexEscapes(str: string): string {\n const firstEscape = str.indexOf('%');\n if (firstEscape === -1) return str;\n\n let result = str.slice(0, firstEscape);\n for (let idx = firstEscape; idx < str.length; idx++) {\n if (\n str[idx] === '%' &&\n idx + 2 < str.length &&\n isHexDigit(str[idx + 1]) &&\n isHexDigit(str[idx + 2])\n ) {\n result += String.fromCharCode(\n Number.parseInt(str[idx + 1] + str[idx + 2], 16),\n );\n idx += 2;\n } else {\n result += str[idx];\n }\n }\n return result;\n}\n"]}
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "name": "content-disposition",
3
+ "version": "2.0.1",
3
4
  "description": "Create and parse Content-Disposition header",
4
- "version": "1.1.0",
5
- "author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
6
- "license": "MIT",
7
5
  "keywords": [
8
6
  "content-disposition",
9
7
  "http",
@@ -15,26 +13,40 @@
15
13
  "type": "opencollective",
16
14
  "url": "https://opencollective.com/express"
17
15
  },
18
- "devDependencies": {
19
- "c8": "^10.1.2",
20
- "eslint": "^8.57.1",
21
- "eslint-config-standard": "^14.1.1",
22
- "eslint-plugin-import": "^2.32.0",
23
- "eslint-plugin-markdown": "^3.0.1",
24
- "eslint-plugin-node": "^11.1.0",
25
- "eslint-plugin-promise": "^6.6.0",
26
- "eslint-plugin-standard": "^4.1.0"
27
- },
16
+ "license": "MIT",
17
+ "author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
18
+ "type": "commonjs",
19
+ "exports": "./dist/index.js",
20
+ "main": "./dist/index.js",
21
+ "types": "./dist/index.d.ts",
28
22
  "files": [
29
- "index.js"
23
+ "dist/"
30
24
  ],
25
+ "scripts": {
26
+ "bench": "vitest bench",
27
+ "build": "ts-scripts build",
28
+ "demo": "node demo/server.js",
29
+ "format": "ts-scripts format",
30
+ "lint": "ts-scripts lint",
31
+ "prepare": "ts-scripts install && npm run build",
32
+ "specs": "ts-scripts specs",
33
+ "test": "ts-scripts test"
34
+ },
35
+ "devDependencies": {
36
+ "@borderless/ts-scripts": "^0.15.0",
37
+ "@vitest/coverage-v8": "^3.2.4",
38
+ "typescript": "^5.9.3",
39
+ "vitest": "^3.2.4"
40
+ },
31
41
  "engines": {
32
42
  "node": ">=18"
33
43
  },
34
- "scripts": {
35
- "lint": "eslint .",
36
- "test": "node --test --test-reporter spec",
37
- "test-ci": "c8 --reporter=lcovonly --reporter=text npm test",
38
- "test-cov": "c8 --reporter=html --reporter=text npm test"
44
+ "ts-scripts": {
45
+ "dist": [
46
+ "dist"
47
+ ],
48
+ "project": [
49
+ "tsconfig.build.json"
50
+ ]
39
51
  }
40
52
  }
@@ -1,81 +1,57 @@
1
1
  # content-type
2
2
 
3
- [![NPM Version][npm-version-image]][npm-url]
4
- [![NPM Downloads][npm-downloads-image]][npm-url]
5
- [![Node.js Version][node-image]][node-url]
6
- [![Build Status][ci-image]][ci-url]
7
- [![Coverage Status][coveralls-image]][coveralls-url]
3
+ [![NPM version][npm-image]][npm-url]
4
+ [![NPM downloads][downloads-image]][downloads-url]
5
+ [![Build status][build-image]][build-url]
6
+ [![Build coverage][coverage-image]][coverage-url]
7
+ [![License][license-image]][license-url]
8
8
 
9
- Create and parse HTTP Content-Type header according to RFC 7231
9
+ Create and parse HTTP `Content-Type` header.
10
10
 
11
11
  ## Installation
12
12
 
13
13
  ```sh
14
- $ npm install content-type
14
+ npm install content-type
15
15
  ```
16
16
 
17
17
  ## API
18
18
 
19
19
  ```js
20
- var contentType = require('content-type')
20
+ const contentType = require("content-type");
21
21
  ```
22
22
 
23
- ### contentType.parse(string)
23
+ ### contentType.parse(string, options?)
24
24
 
25
25
  ```js
26
- var obj = contentType.parse('image/svg+xml; charset=utf-8')
26
+ const obj = contentType.parse("image/svg+xml; charset=utf-8");
27
27
  ```
28
28
 
29
- Parse a `Content-Type` header. This will return an object with the following
30
- properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`):
29
+ Parse a `Content-Type` header. This will return an object with the following properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`):
31
30
 
32
- - `type`: The media type (the type and subtype, always lower case).
33
- Example: `'image/svg+xml'`
31
+ - `type`: The media type. Example: `'image/svg+xml'`.
32
+ - `parameters`: An object of the parameters in the media type (parameter name is always lower case). Example: `{charset: 'utf-8'}`.
34
33
 
35
- - `parameters`: An object of the parameters in the media type (name of parameter
36
- always lower case). Example: `{charset: 'utf-8'}`
34
+ The parser is lenient and does not error. You should validate `type` and `parameters` before trusting them.
37
35
 
38
- Throws a `TypeError` if the string is missing or invalid.
36
+ #### Options
39
37
 
40
- ### contentType.parse(req)
41
-
42
- ```js
43
- var obj = contentType.parse(req)
44
- ```
45
-
46
- Parse the `Content-Type` header from the given `req`. Short-cut for
47
- `contentType.parse(req.headers['content-type'])`.
48
-
49
- Throws a `TypeError` if the `Content-Type` header is missing or invalid.
50
-
51
- ### contentType.parse(res)
52
-
53
- ```js
54
- var obj = contentType.parse(res)
55
- ```
56
-
57
- Parse the `Content-Type` header set on the given `res`. Short-cut for
58
- `contentType.parse(res.getHeader('content-type'))`.
59
-
60
- Throws a `TypeError` if the `Content-Type` header is missing or invalid.
38
+ - `parameters` (default: `true`): Set to `false` to skip parameters.
39
+ - `comma` (default: `false`): Set to `true` to stop on a comma. This can be used to parse the media range in an `Accept` header.
40
+ - `start` (default: `0`): Set index to start parsing from.
61
41
 
62
42
  ### contentType.format(obj)
63
43
 
64
44
  ```js
65
- var str = contentType.format({
66
- type: 'image/svg+xml',
67
- parameters: { charset: 'utf-8' }
68
- })
45
+ const str = contentType.format({
46
+ type: "image/svg+xml",
47
+ parameters: { charset: "utf-8" },
48
+ });
69
49
  ```
70
50
 
71
- Format an object into a `Content-Type` header. This will return a string of the
72
- content type for the given object with the following properties (examples are
73
- shown that produce the string `'image/svg+xml; charset=utf-8'`):
74
-
75
- - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'`
51
+ Format an object into a `Content-Type` header. This will return a string of the content type for the given object with the following properties (examples are shown that produce the string `'image/svg+xml; charset=utf-8'`):
76
52
 
77
- - `parameters`: An object of the parameters in the media type (name of the
78
- parameter will be lower-cased). Example: `{charset: 'utf-8'}`
53
+ - `type`: The media type. Example: `'image/svg+xml'`.
54
+ - `parameters`: An optional object of the parameters in the media type. Example: `{charset: 'utf-8'}`.
79
55
 
80
56
  Throws a `TypeError` if the object contains an invalid type or parameter names.
81
57
 
@@ -83,12 +59,13 @@ Throws a `TypeError` if the object contains an invalid type or parameter names.
83
59
 
84
60
  [MIT](LICENSE)
85
61
 
86
- [ci-image]: https://badgen.net/github/checks/jshttp/content-type/master?label=ci
87
- [ci-url]: https://github.com/jshttp/content-type/actions/workflows/ci.yml
88
- [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/content-type/master
89
- [coveralls-url]: https://coveralls.io/r/jshttp/content-type?branch=master
90
- [node-image]: https://badgen.net/npm/node/content-type
91
- [node-url]: https://nodejs.org/en/download
92
- [npm-downloads-image]: https://badgen.net/npm/dm/content-type
62
+ [npm-image]: https://img.shields.io/npm/v/content-type
93
63
  [npm-url]: https://npmjs.org/package/content-type
94
- [npm-version-image]: https://badgen.net/npm/v/content-type
64
+ [downloads-image]: https://img.shields.io/npm/dm/content-type
65
+ [downloads-url]: https://npmjs.org/package/content-type
66
+ [build-image]: https://img.shields.io/github/actions/workflow/status/jshttp/content-type/ci.yml?branch=master
67
+ [build-url]: https://github.com/jshttp/content-type/actions/workflows/ci.yml?query=branch%3Amaster
68
+ [coverage-image]: https://img.shields.io/codecov/c/gh/jshttp/content-type
69
+ [coverage-url]: https://codecov.io/gh/jshttp/content-type
70
+ [license-image]: http://img.shields.io/npm/l/content-type.svg?style=flat
71
+ [license-url]: LICENSE