@mavogel/cdk-vscode-server 0.0.2
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.
- package/.jsii +4351 -0
- package/API.md +367 -0
- package/CONTRIBUTING.md +59 -0
- package/LICENSE +202 -0
- package/README.md +183 -0
- package/assets/installer/installer.lambda/index.js +112 -0
- package/assets/secret-retriever/secret-retriever.lambda/index.js +57 -0
- package/docs/img/vscode-server-ui-login-min.png +0 -0
- package/docs/img/vscode-server-ui-min.png +0 -0
- package/docs/img/vscode-server.drawio +108 -0
- package/docs/img/vscode-server.drawio-min.png +0 -0
- package/integ-tests/code-server login.html +48 -0
- package/integ-tests/functions/login-handler.ts +63 -0
- package/integ-tests/integ.al2023.ts +69 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.assets.json +32 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json +337 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.assets.json +110 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.template.json +2459 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce/index.js +6169 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +3 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda/index.js +112 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle/index.js +30572 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a/index.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/index.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/cdk.out +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/integ.json +22 -0
- package/integ-tests/integ.al2023.ts.snapshot/manifest.json +510 -0
- package/integ-tests/integ.al2023.ts.snapshot/tree.json +2944 -0
- package/integ-tests/integ.ubuntu.ts +66 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +32 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +337 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.assets.json +110 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.template.json +2477 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce/index.js +6169 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +3 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda/index.js +112 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle/index.js +30572 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/cdk.out +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/integ.json +22 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/manifest.json +510 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/tree.json +2962 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +18 -0
- package/lib/installer/installer-function.d.ts +13 -0
- package/lib/installer/installer-function.js +23 -0
- package/lib/installer/installer.d.ts +64 -0
- package/lib/installer/installer.js +707 -0
- package/lib/installer/installer.lambda.d.ts +3 -0
- package/lib/installer/installer.lambda.js +94 -0
- package/lib/mappings.d.ts +2 -0
- package/lib/mappings.js +25 -0
- package/lib/prefixlist-retriever/prefixlist-retriever.d.ts +16 -0
- package/lib/prefixlist-retriever/prefixlist-retriever.js +56 -0
- package/lib/secret-retriever/secret-retriever-function.d.ts +13 -0
- package/lib/secret-retriever/secret-retriever-function.js +23 -0
- package/lib/secret-retriever/secret-retriever.d.ts +33 -0
- package/lib/secret-retriever/secret-retriever.js +72 -0
- package/lib/secret-retriever/secret-retriever.lambda.d.ts +2 -0
- package/lib/secret-retriever/secret-retriever.lambda.js +36 -0
- package/lib/vscode-server.d.ts +97 -0
- package/lib/vscode-server.js +417 -0
- package/node_modules/boolbase/README.md +10 -0
- package/node_modules/boolbase/index.js +8 -0
- package/node_modules/boolbase/package.json +23 -0
- package/node_modules/css-select/LICENSE +11 -0
- package/node_modules/css-select/README.md +264 -0
- package/node_modules/css-select/lib/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/attributes.js +236 -0
- package/node_modules/css-select/lib/attributes.js.map +1 -0
- package/node_modules/css-select/lib/compile.d.ts +13 -0
- package/node_modules/css-select/lib/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/compile.js +151 -0
- package/node_modules/css-select/lib/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.js +222 -0
- package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
- package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
- package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/compile.js +115 -0
- package/node_modules/css-select/lib/esm/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/general.d.ts +3 -0
- package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/general.js +144 -0
- package/node_modules/css-select/lib/esm/general.js.map +1 -0
- package/node_modules/css-select/lib/esm/index.d.ts +50 -0
- package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/index.js +115 -0
- package/node_modules/css-select/lib/esm/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/package.json +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
- package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/sort.js +79 -0
- package/node_modules/css-select/lib/esm/sort.js.map +1 -0
- package/node_modules/css-select/lib/esm/types.d.ts +167 -0
- package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/types.js +2 -0
- package/node_modules/css-select/lib/esm/types.js.map +1 -0
- package/node_modules/css-select/lib/general.d.ts +3 -0
- package/node_modules/css-select/lib/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/general.js +148 -0
- package/node_modules/css-select/lib/general.js.map +1 -0
- package/node_modules/css-select/lib/index.d.ts +50 -0
- package/node_modules/css-select/lib/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/index.js +154 -0
- package/node_modules/css-select/lib/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/sort.d.ts +12 -0
- package/node_modules/css-select/lib/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/sort.js +84 -0
- package/node_modules/css-select/lib/sort.js.map +1 -0
- package/node_modules/css-select/lib/types.d.ts +167 -0
- package/node_modules/css-select/lib/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/types.js +3 -0
- package/node_modules/css-select/lib/types.js.map +1 -0
- package/node_modules/css-select/package.json +81 -0
- package/node_modules/css-what/LICENSE +11 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/index.js +23 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/parse.js +425 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/types.js +42 -0
- package/node_modules/css-what/lib/es/index.d.ts +4 -0
- package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/index.js +3 -0
- package/node_modules/css-what/lib/es/parse.d.ts +20 -0
- package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/parse.js +420 -0
- package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/stringify.js +126 -0
- package/node_modules/css-what/lib/es/types.d.ts +70 -0
- package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/types.js +39 -0
- package/node_modules/css-what/package.json +59 -0
- package/node_modules/css-what/readme.md +69 -0
- package/node_modules/dom-serializer/LICENSE +11 -0
- package/node_modules/dom-serializer/README.md +109 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/index.js +190 -0
- package/node_modules/dom-serializer/lib/esm/package.json +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
- package/node_modules/dom-serializer/lib/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/index.js +229 -0
- package/node_modules/dom-serializer/package.json +69 -0
- package/node_modules/domelementtype/LICENSE +11 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/esm/index.js +51 -0
- package/node_modules/domelementtype/lib/esm/package.json +1 -0
- package/node_modules/domelementtype/lib/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/index.js +55 -0
- package/node_modules/domelementtype/package.json +54 -0
- package/node_modules/domelementtype/readme.md +1 -0
- package/node_modules/domhandler/LICENSE +11 -0
- package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
- package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/index.js +146 -0
- package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
- package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/node.js +338 -0
- package/node_modules/domhandler/lib/esm/package.json +1 -0
- package/node_modules/domhandler/lib/index.d.ts +76 -0
- package/node_modules/domhandler/lib/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/index.js +165 -0
- package/node_modules/domhandler/lib/node.d.ts +245 -0
- package/node_modules/domhandler/lib/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/node.js +474 -0
- package/node_modules/domhandler/package.json +73 -0
- package/node_modules/domhandler/readme.md +92 -0
- package/node_modules/domutils/LICENSE +11 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/feeds.js +183 -0
- package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.js +136 -0
- package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
- package/node_modules/domutils/lib/esm/index.d.ts +10 -0
- package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/index.js +10 -0
- package/node_modules/domutils/lib/esm/index.js.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.js +152 -0
- package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.js +134 -0
- package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/esm/package.json +1 -0
- package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
- package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/querying.js +142 -0
- package/node_modules/domutils/lib/esm/querying.js.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.js +81 -0
- package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.js +112 -0
- package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
- package/node_modules/domutils/lib/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/feeds.js +190 -0
- package/node_modules/domutils/lib/feeds.js.map +1 -0
- package/node_modules/domutils/lib/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/helpers.js +142 -0
- package/node_modules/domutils/lib/helpers.js.map +1 -0
- package/node_modules/domutils/lib/index.d.ts +10 -0
- package/node_modules/domutils/lib/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/index.js +33 -0
- package/node_modules/domutils/lib/index.js.map +1 -0
- package/node_modules/domutils/lib/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/legacy.js +168 -0
- package/node_modules/domutils/lib/legacy.js.map +1 -0
- package/node_modules/domutils/lib/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/manipulation.js +142 -0
- package/node_modules/domutils/lib/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/querying.d.ts +64 -0
- package/node_modules/domutils/lib/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/querying.js +155 -0
- package/node_modules/domutils/lib/querying.js.map +1 -0
- package/node_modules/domutils/lib/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/stringify.js +91 -0
- package/node_modules/domutils/lib/stringify.js.map +1 -0
- package/node_modules/domutils/lib/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/traversal.js +125 -0
- package/node_modules/domutils/lib/traversal.js.map +1 -0
- package/node_modules/domutils/package.json +79 -0
- package/node_modules/domutils/readme.md +31 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/lib/decode.d.ts +211 -0
- package/node_modules/entities/lib/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/decode.js +536 -0
- package/node_modules/entities/lib/decode.js.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.js +76 -0
- package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/encode.d.ts +22 -0
- package/node_modules/entities/lib/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/encode.js +77 -0
- package/node_modules/entities/lib/encode.js.map +1 -0
- package/node_modules/entities/lib/escape.d.ts +43 -0
- package/node_modules/entities/lib/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/escape.js +122 -0
- package/node_modules/entities/lib/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/decode.d.ts +211 -0
- package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode.js +496 -0
- package/node_modules/entities/lib/esm/decode.js.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/esm/encode.d.ts +22 -0
- package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/encode.js +69 -0
- package/node_modules/entities/lib/esm/encode.js.map +1 -0
- package/node_modules/entities/lib/esm/escape.d.ts +43 -0
- package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/escape.js +116 -0
- package/node_modules/entities/lib/esm/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/esm/index.d.ts +96 -0
- package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/index.js +99 -0
- package/node_modules/entities/lib/esm/index.js.map +1 -0
- package/node_modules/entities/lib/esm/package.json +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.js +12 -0
- package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/index.d.ts +96 -0
- package/node_modules/entities/lib/index.d.ts.map +1 -0
- package/node_modules/entities/lib/index.js +126 -0
- package/node_modules/entities/lib/index.js.map +1 -0
- package/node_modules/entities/package.json +90 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/he/LICENSE-MIT.txt +20 -0
- package/node_modules/he/README.md +379 -0
- package/node_modules/he/bin/he +148 -0
- package/node_modules/he/he.js +345 -0
- package/node_modules/he/man/he.1 +78 -0
- package/node_modules/he/package.json +58 -0
- package/node_modules/node-html-parser/CHANGELOG.md +137 -0
- package/node_modules/node-html-parser/LICENSE +7 -0
- package/node_modules/node-html-parser/README.md +365 -0
- package/node_modules/node-html-parser/dist/back.d.ts +1 -0
- package/node_modules/node-html-parser/dist/back.js +6 -0
- package/node_modules/node-html-parser/dist/index.d.ts +20 -0
- package/node_modules/node-html-parser/dist/index.js +32 -0
- package/node_modules/node-html-parser/dist/main.js +1646 -0
- package/node_modules/node-html-parser/dist/matcher.d.ts +6 -0
- package/node_modules/node-html-parser/dist/matcher.js +106 -0
- package/node_modules/node-html-parser/dist/nodes/comment.d.ts +20 -0
- package/node_modules/node-html-parser/dist/nodes/comment.js +57 -0
- package/node_modules/node-html-parser/dist/nodes/html.d.ts +240 -0
- package/node_modules/node-html-parser/dist/nodes/html.js +1218 -0
- package/node_modules/node-html-parser/dist/nodes/node.d.ts +24 -0
- package/node_modules/node-html-parser/dist/nodes/node.js +52 -0
- package/node_modules/node-html-parser/dist/nodes/text.d.ts +44 -0
- package/node_modules/node-html-parser/dist/nodes/text.js +144 -0
- package/node_modules/node-html-parser/dist/nodes/type.d.ts +6 -0
- package/node_modules/node-html-parser/dist/nodes/type.js +9 -0
- package/node_modules/node-html-parser/dist/parse.d.ts +1 -0
- package/node_modules/node-html-parser/dist/parse.js +5 -0
- package/node_modules/node-html-parser/dist/valid.d.ts +6 -0
- package/node_modules/node-html-parser/dist/valid.js +13 -0
- package/node_modules/node-html-parser/dist/void-tag.d.ts +7 -0
- package/node_modules/node-html-parser/dist/void-tag.js +29 -0
- package/node_modules/node-html-parser/package.json +114 -0
- package/node_modules/nth-check/LICENSE +11 -0
- package/node_modules/nth-check/README.md +136 -0
- package/node_modules/nth-check/lib/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/compile.js +121 -0
- package/node_modules/nth-check/lib/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.js +113 -0
- package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
- package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/index.js +63 -0
- package/node_modules/nth-check/lib/esm/index.js.map +1 -0
- package/node_modules/nth-check/lib/esm/package.json +1 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/parse.js +73 -0
- package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
- package/node_modules/nth-check/lib/index.d.ts +59 -0
- package/node_modules/nth-check/lib/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/index.js +70 -0
- package/node_modules/nth-check/lib/index.js.map +1 -0
- package/node_modules/nth-check/lib/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/parse.js +77 -0
- package/node_modules/nth-check/lib/parse.js.map +1 -0
- package/node_modules/nth-check/package.json +78 -0
- package/package.json +154 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Module dependencies
|
|
3
|
+
*/
|
|
4
|
+
import * as ElementType from "domelementtype";
|
|
5
|
+
import { encodeXML, escapeAttribute, escapeText } from "entities";
|
|
6
|
+
/**
|
|
7
|
+
* Mixed-case SVG and MathML tags & attributes
|
|
8
|
+
* recognized by the HTML parser.
|
|
9
|
+
*
|
|
10
|
+
* @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign
|
|
11
|
+
*/
|
|
12
|
+
import { elementNames, attributeNames } from "./foreignNames.js";
|
|
13
|
+
const unencodedElements = new Set([
|
|
14
|
+
"style",
|
|
15
|
+
"script",
|
|
16
|
+
"xmp",
|
|
17
|
+
"iframe",
|
|
18
|
+
"noembed",
|
|
19
|
+
"noframes",
|
|
20
|
+
"plaintext",
|
|
21
|
+
"noscript",
|
|
22
|
+
]);
|
|
23
|
+
function replaceQuotes(value) {
|
|
24
|
+
return value.replace(/"/g, """);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Format attributes
|
|
28
|
+
*/
|
|
29
|
+
function formatAttributes(attributes, opts) {
|
|
30
|
+
var _a;
|
|
31
|
+
if (!attributes)
|
|
32
|
+
return;
|
|
33
|
+
const encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false
|
|
34
|
+
? replaceQuotes
|
|
35
|
+
: opts.xmlMode || opts.encodeEntities !== "utf8"
|
|
36
|
+
? encodeXML
|
|
37
|
+
: escapeAttribute;
|
|
38
|
+
return Object.keys(attributes)
|
|
39
|
+
.map((key) => {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
const value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : "";
|
|
42
|
+
if (opts.xmlMode === "foreign") {
|
|
43
|
+
/* Fix up mixed-case attribute names */
|
|
44
|
+
key = (_b = attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;
|
|
45
|
+
}
|
|
46
|
+
if (!opts.emptyAttrs && !opts.xmlMode && value === "") {
|
|
47
|
+
return key;
|
|
48
|
+
}
|
|
49
|
+
return `${key}="${encode(value)}"`;
|
|
50
|
+
})
|
|
51
|
+
.join(" ");
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Self-enclosing tags
|
|
55
|
+
*/
|
|
56
|
+
const singleTag = new Set([
|
|
57
|
+
"area",
|
|
58
|
+
"base",
|
|
59
|
+
"basefont",
|
|
60
|
+
"br",
|
|
61
|
+
"col",
|
|
62
|
+
"command",
|
|
63
|
+
"embed",
|
|
64
|
+
"frame",
|
|
65
|
+
"hr",
|
|
66
|
+
"img",
|
|
67
|
+
"input",
|
|
68
|
+
"isindex",
|
|
69
|
+
"keygen",
|
|
70
|
+
"link",
|
|
71
|
+
"meta",
|
|
72
|
+
"param",
|
|
73
|
+
"source",
|
|
74
|
+
"track",
|
|
75
|
+
"wbr",
|
|
76
|
+
]);
|
|
77
|
+
/**
|
|
78
|
+
* Renders a DOM node or an array of DOM nodes to a string.
|
|
79
|
+
*
|
|
80
|
+
* Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
|
|
81
|
+
*
|
|
82
|
+
* @param node Node to be rendered.
|
|
83
|
+
* @param options Changes serialization behavior
|
|
84
|
+
*/
|
|
85
|
+
export function render(node, options = {}) {
|
|
86
|
+
const nodes = "length" in node ? node : [node];
|
|
87
|
+
let output = "";
|
|
88
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
89
|
+
output += renderNode(nodes[i], options);
|
|
90
|
+
}
|
|
91
|
+
return output;
|
|
92
|
+
}
|
|
93
|
+
export default render;
|
|
94
|
+
function renderNode(node, options) {
|
|
95
|
+
switch (node.type) {
|
|
96
|
+
case ElementType.Root:
|
|
97
|
+
return render(node.children, options);
|
|
98
|
+
// @ts-expect-error We don't use `Doctype` yet
|
|
99
|
+
case ElementType.Doctype:
|
|
100
|
+
case ElementType.Directive:
|
|
101
|
+
return renderDirective(node);
|
|
102
|
+
case ElementType.Comment:
|
|
103
|
+
return renderComment(node);
|
|
104
|
+
case ElementType.CDATA:
|
|
105
|
+
return renderCdata(node);
|
|
106
|
+
case ElementType.Script:
|
|
107
|
+
case ElementType.Style:
|
|
108
|
+
case ElementType.Tag:
|
|
109
|
+
return renderTag(node, options);
|
|
110
|
+
case ElementType.Text:
|
|
111
|
+
return renderText(node, options);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const foreignModeIntegrationPoints = new Set([
|
|
115
|
+
"mi",
|
|
116
|
+
"mo",
|
|
117
|
+
"mn",
|
|
118
|
+
"ms",
|
|
119
|
+
"mtext",
|
|
120
|
+
"annotation-xml",
|
|
121
|
+
"foreignObject",
|
|
122
|
+
"desc",
|
|
123
|
+
"title",
|
|
124
|
+
]);
|
|
125
|
+
const foreignElements = new Set(["svg", "math"]);
|
|
126
|
+
function renderTag(elem, opts) {
|
|
127
|
+
var _a;
|
|
128
|
+
// Handle SVG / MathML in HTML
|
|
129
|
+
if (opts.xmlMode === "foreign") {
|
|
130
|
+
/* Fix up mixed-case element names */
|
|
131
|
+
elem.name = (_a = elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;
|
|
132
|
+
/* Exit foreign mode at integration points */
|
|
133
|
+
if (elem.parent &&
|
|
134
|
+
foreignModeIntegrationPoints.has(elem.parent.name)) {
|
|
135
|
+
opts = { ...opts, xmlMode: false };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (!opts.xmlMode && foreignElements.has(elem.name)) {
|
|
139
|
+
opts = { ...opts, xmlMode: "foreign" };
|
|
140
|
+
}
|
|
141
|
+
let tag = `<${elem.name}`;
|
|
142
|
+
const attribs = formatAttributes(elem.attribs, opts);
|
|
143
|
+
if (attribs) {
|
|
144
|
+
tag += ` ${attribs}`;
|
|
145
|
+
}
|
|
146
|
+
if (elem.children.length === 0 &&
|
|
147
|
+
(opts.xmlMode
|
|
148
|
+
? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags
|
|
149
|
+
opts.selfClosingTags !== false
|
|
150
|
+
: // User explicitly asked for self-closing tags, even in HTML mode
|
|
151
|
+
opts.selfClosingTags && singleTag.has(elem.name))) {
|
|
152
|
+
if (!opts.xmlMode)
|
|
153
|
+
tag += " ";
|
|
154
|
+
tag += "/>";
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
tag += ">";
|
|
158
|
+
if (elem.children.length > 0) {
|
|
159
|
+
tag += render(elem.children, opts);
|
|
160
|
+
}
|
|
161
|
+
if (opts.xmlMode || !singleTag.has(elem.name)) {
|
|
162
|
+
tag += `</${elem.name}>`;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return tag;
|
|
166
|
+
}
|
|
167
|
+
function renderDirective(elem) {
|
|
168
|
+
return `<${elem.data}>`;
|
|
169
|
+
}
|
|
170
|
+
function renderText(elem, opts) {
|
|
171
|
+
var _a;
|
|
172
|
+
let data = elem.data || "";
|
|
173
|
+
// If entities weren't decoded, no need to encode them back
|
|
174
|
+
if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&
|
|
175
|
+
!(!opts.xmlMode &&
|
|
176
|
+
elem.parent &&
|
|
177
|
+
unencodedElements.has(elem.parent.name))) {
|
|
178
|
+
data =
|
|
179
|
+
opts.xmlMode || opts.encodeEntities !== "utf8"
|
|
180
|
+
? encodeXML(data)
|
|
181
|
+
: escapeText(data);
|
|
182
|
+
}
|
|
183
|
+
return data;
|
|
184
|
+
}
|
|
185
|
+
function renderCdata(elem) {
|
|
186
|
+
return `<![CDATA[${elem.children[0].data}]]>`;
|
|
187
|
+
}
|
|
188
|
+
function renderComment(elem) {
|
|
189
|
+
return `<!--${elem.data}-->`;
|
|
190
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"foreignNames.d.ts","sourceRoot":"","sources":["../src/foreignNames.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,qBAwCxB,CAAC;AACF,eAAO,MAAM,cAAc,qBA8D1B,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.attributeNames = exports.elementNames = void 0;
|
|
4
|
+
exports.elementNames = new Map([
|
|
5
|
+
"altGlyph",
|
|
6
|
+
"altGlyphDef",
|
|
7
|
+
"altGlyphItem",
|
|
8
|
+
"animateColor",
|
|
9
|
+
"animateMotion",
|
|
10
|
+
"animateTransform",
|
|
11
|
+
"clipPath",
|
|
12
|
+
"feBlend",
|
|
13
|
+
"feColorMatrix",
|
|
14
|
+
"feComponentTransfer",
|
|
15
|
+
"feComposite",
|
|
16
|
+
"feConvolveMatrix",
|
|
17
|
+
"feDiffuseLighting",
|
|
18
|
+
"feDisplacementMap",
|
|
19
|
+
"feDistantLight",
|
|
20
|
+
"feDropShadow",
|
|
21
|
+
"feFlood",
|
|
22
|
+
"feFuncA",
|
|
23
|
+
"feFuncB",
|
|
24
|
+
"feFuncG",
|
|
25
|
+
"feFuncR",
|
|
26
|
+
"feGaussianBlur",
|
|
27
|
+
"feImage",
|
|
28
|
+
"feMerge",
|
|
29
|
+
"feMergeNode",
|
|
30
|
+
"feMorphology",
|
|
31
|
+
"feOffset",
|
|
32
|
+
"fePointLight",
|
|
33
|
+
"feSpecularLighting",
|
|
34
|
+
"feSpotLight",
|
|
35
|
+
"feTile",
|
|
36
|
+
"feTurbulence",
|
|
37
|
+
"foreignObject",
|
|
38
|
+
"glyphRef",
|
|
39
|
+
"linearGradient",
|
|
40
|
+
"radialGradient",
|
|
41
|
+
"textPath",
|
|
42
|
+
].map(function (val) { return [val.toLowerCase(), val]; }));
|
|
43
|
+
exports.attributeNames = new Map([
|
|
44
|
+
"definitionURL",
|
|
45
|
+
"attributeName",
|
|
46
|
+
"attributeType",
|
|
47
|
+
"baseFrequency",
|
|
48
|
+
"baseProfile",
|
|
49
|
+
"calcMode",
|
|
50
|
+
"clipPathUnits",
|
|
51
|
+
"diffuseConstant",
|
|
52
|
+
"edgeMode",
|
|
53
|
+
"filterUnits",
|
|
54
|
+
"glyphRef",
|
|
55
|
+
"gradientTransform",
|
|
56
|
+
"gradientUnits",
|
|
57
|
+
"kernelMatrix",
|
|
58
|
+
"kernelUnitLength",
|
|
59
|
+
"keyPoints",
|
|
60
|
+
"keySplines",
|
|
61
|
+
"keyTimes",
|
|
62
|
+
"lengthAdjust",
|
|
63
|
+
"limitingConeAngle",
|
|
64
|
+
"markerHeight",
|
|
65
|
+
"markerUnits",
|
|
66
|
+
"markerWidth",
|
|
67
|
+
"maskContentUnits",
|
|
68
|
+
"maskUnits",
|
|
69
|
+
"numOctaves",
|
|
70
|
+
"pathLength",
|
|
71
|
+
"patternContentUnits",
|
|
72
|
+
"patternTransform",
|
|
73
|
+
"patternUnits",
|
|
74
|
+
"pointsAtX",
|
|
75
|
+
"pointsAtY",
|
|
76
|
+
"pointsAtZ",
|
|
77
|
+
"preserveAlpha",
|
|
78
|
+
"preserveAspectRatio",
|
|
79
|
+
"primitiveUnits",
|
|
80
|
+
"refX",
|
|
81
|
+
"refY",
|
|
82
|
+
"repeatCount",
|
|
83
|
+
"repeatDur",
|
|
84
|
+
"requiredExtensions",
|
|
85
|
+
"requiredFeatures",
|
|
86
|
+
"specularConstant",
|
|
87
|
+
"specularExponent",
|
|
88
|
+
"spreadMethod",
|
|
89
|
+
"startOffset",
|
|
90
|
+
"stdDeviation",
|
|
91
|
+
"stitchTiles",
|
|
92
|
+
"surfaceScale",
|
|
93
|
+
"systemLanguage",
|
|
94
|
+
"tableValues",
|
|
95
|
+
"targetX",
|
|
96
|
+
"targetY",
|
|
97
|
+
"textLength",
|
|
98
|
+
"viewBox",
|
|
99
|
+
"viewTarget",
|
|
100
|
+
"xChannelSelector",
|
|
101
|
+
"yChannelSelector",
|
|
102
|
+
"zoomAndPan",
|
|
103
|
+
].map(function (val) { return [val.toLowerCase(), val]; }));
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { AnyNode } from "domhandler";
|
|
2
|
+
export interface DomSerializerOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Print an empty attribute's value.
|
|
5
|
+
*
|
|
6
|
+
* @default xmlMode
|
|
7
|
+
* @example With <code>emptyAttrs: false</code>: <code><input checked></code>
|
|
8
|
+
* @example With <code>emptyAttrs: true</code>: <code><input checked=""></code>
|
|
9
|
+
*/
|
|
10
|
+
emptyAttrs?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Print self-closing tags for tags without contents.
|
|
13
|
+
*
|
|
14
|
+
* @default xmlMode
|
|
15
|
+
* @example With <code>selfClosingTags: false</code>: <code><foo></foo></code>
|
|
16
|
+
* @example With <code>selfClosingTags: true</code>: <code><foo /></code>
|
|
17
|
+
*/
|
|
18
|
+
selfClosingTags?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Treat the input as an XML document; enables the `emptyAttrs` and `selfClosingTags` options.
|
|
21
|
+
*
|
|
22
|
+
* If the value is `"foreign"`, it will try to correct mixed-case attribute names.
|
|
23
|
+
*
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
xmlMode?: boolean | "foreign";
|
|
27
|
+
/**
|
|
28
|
+
* Encode characters that are either reserved in HTML or XML.
|
|
29
|
+
*
|
|
30
|
+
* If `xmlMode` is `true` or the value not `'utf8'`, characters outside of the utf8 range will be encoded as well.
|
|
31
|
+
*
|
|
32
|
+
* @default `decodeEntities`
|
|
33
|
+
*/
|
|
34
|
+
encodeEntities?: boolean | "utf8";
|
|
35
|
+
/**
|
|
36
|
+
* Option inherited from parsing; will be used as the default value for `encodeEntities`.
|
|
37
|
+
*
|
|
38
|
+
* @default true
|
|
39
|
+
*/
|
|
40
|
+
decodeEntities?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Renders a DOM node or an array of DOM nodes to a string.
|
|
44
|
+
*
|
|
45
|
+
* Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
|
|
46
|
+
*
|
|
47
|
+
* @param node Node to be rendered.
|
|
48
|
+
* @param options Changes serialization behavior
|
|
49
|
+
*/
|
|
50
|
+
export declare function render(node: AnyNode | ArrayLike<AnyNode>, options?: DomSerializerOptions): string;
|
|
51
|
+
export default render;
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EAMR,MAAM,YAAY,CAAC;AAWpB,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA4ED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,EAClC,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAUR;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.render = void 0;
|
|
38
|
+
/*
|
|
39
|
+
* Module dependencies
|
|
40
|
+
*/
|
|
41
|
+
var ElementType = __importStar(require("domelementtype"));
|
|
42
|
+
var entities_1 = require("entities");
|
|
43
|
+
/**
|
|
44
|
+
* Mixed-case SVG and MathML tags & attributes
|
|
45
|
+
* recognized by the HTML parser.
|
|
46
|
+
*
|
|
47
|
+
* @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign
|
|
48
|
+
*/
|
|
49
|
+
var foreignNames_js_1 = require("./foreignNames.js");
|
|
50
|
+
var unencodedElements = new Set([
|
|
51
|
+
"style",
|
|
52
|
+
"script",
|
|
53
|
+
"xmp",
|
|
54
|
+
"iframe",
|
|
55
|
+
"noembed",
|
|
56
|
+
"noframes",
|
|
57
|
+
"plaintext",
|
|
58
|
+
"noscript",
|
|
59
|
+
]);
|
|
60
|
+
function replaceQuotes(value) {
|
|
61
|
+
return value.replace(/"/g, """);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Format attributes
|
|
65
|
+
*/
|
|
66
|
+
function formatAttributes(attributes, opts) {
|
|
67
|
+
var _a;
|
|
68
|
+
if (!attributes)
|
|
69
|
+
return;
|
|
70
|
+
var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false
|
|
71
|
+
? replaceQuotes
|
|
72
|
+
: opts.xmlMode || opts.encodeEntities !== "utf8"
|
|
73
|
+
? entities_1.encodeXML
|
|
74
|
+
: entities_1.escapeAttribute;
|
|
75
|
+
return Object.keys(attributes)
|
|
76
|
+
.map(function (key) {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : "";
|
|
79
|
+
if (opts.xmlMode === "foreign") {
|
|
80
|
+
/* Fix up mixed-case attribute names */
|
|
81
|
+
key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;
|
|
82
|
+
}
|
|
83
|
+
if (!opts.emptyAttrs && !opts.xmlMode && value === "") {
|
|
84
|
+
return key;
|
|
85
|
+
}
|
|
86
|
+
return "".concat(key, "=\"").concat(encode(value), "\"");
|
|
87
|
+
})
|
|
88
|
+
.join(" ");
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Self-enclosing tags
|
|
92
|
+
*/
|
|
93
|
+
var singleTag = new Set([
|
|
94
|
+
"area",
|
|
95
|
+
"base",
|
|
96
|
+
"basefont",
|
|
97
|
+
"br",
|
|
98
|
+
"col",
|
|
99
|
+
"command",
|
|
100
|
+
"embed",
|
|
101
|
+
"frame",
|
|
102
|
+
"hr",
|
|
103
|
+
"img",
|
|
104
|
+
"input",
|
|
105
|
+
"isindex",
|
|
106
|
+
"keygen",
|
|
107
|
+
"link",
|
|
108
|
+
"meta",
|
|
109
|
+
"param",
|
|
110
|
+
"source",
|
|
111
|
+
"track",
|
|
112
|
+
"wbr",
|
|
113
|
+
]);
|
|
114
|
+
/**
|
|
115
|
+
* Renders a DOM node or an array of DOM nodes to a string.
|
|
116
|
+
*
|
|
117
|
+
* Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
|
|
118
|
+
*
|
|
119
|
+
* @param node Node to be rendered.
|
|
120
|
+
* @param options Changes serialization behavior
|
|
121
|
+
*/
|
|
122
|
+
function render(node, options) {
|
|
123
|
+
if (options === void 0) { options = {}; }
|
|
124
|
+
var nodes = "length" in node ? node : [node];
|
|
125
|
+
var output = "";
|
|
126
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
127
|
+
output += renderNode(nodes[i], options);
|
|
128
|
+
}
|
|
129
|
+
return output;
|
|
130
|
+
}
|
|
131
|
+
exports.render = render;
|
|
132
|
+
exports.default = render;
|
|
133
|
+
function renderNode(node, options) {
|
|
134
|
+
switch (node.type) {
|
|
135
|
+
case ElementType.Root:
|
|
136
|
+
return render(node.children, options);
|
|
137
|
+
// @ts-expect-error We don't use `Doctype` yet
|
|
138
|
+
case ElementType.Doctype:
|
|
139
|
+
case ElementType.Directive:
|
|
140
|
+
return renderDirective(node);
|
|
141
|
+
case ElementType.Comment:
|
|
142
|
+
return renderComment(node);
|
|
143
|
+
case ElementType.CDATA:
|
|
144
|
+
return renderCdata(node);
|
|
145
|
+
case ElementType.Script:
|
|
146
|
+
case ElementType.Style:
|
|
147
|
+
case ElementType.Tag:
|
|
148
|
+
return renderTag(node, options);
|
|
149
|
+
case ElementType.Text:
|
|
150
|
+
return renderText(node, options);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
var foreignModeIntegrationPoints = new Set([
|
|
154
|
+
"mi",
|
|
155
|
+
"mo",
|
|
156
|
+
"mn",
|
|
157
|
+
"ms",
|
|
158
|
+
"mtext",
|
|
159
|
+
"annotation-xml",
|
|
160
|
+
"foreignObject",
|
|
161
|
+
"desc",
|
|
162
|
+
"title",
|
|
163
|
+
]);
|
|
164
|
+
var foreignElements = new Set(["svg", "math"]);
|
|
165
|
+
function renderTag(elem, opts) {
|
|
166
|
+
var _a;
|
|
167
|
+
// Handle SVG / MathML in HTML
|
|
168
|
+
if (opts.xmlMode === "foreign") {
|
|
169
|
+
/* Fix up mixed-case element names */
|
|
170
|
+
elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;
|
|
171
|
+
/* Exit foreign mode at integration points */
|
|
172
|
+
if (elem.parent &&
|
|
173
|
+
foreignModeIntegrationPoints.has(elem.parent.name)) {
|
|
174
|
+
opts = __assign(__assign({}, opts), { xmlMode: false });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (!opts.xmlMode && foreignElements.has(elem.name)) {
|
|
178
|
+
opts = __assign(__assign({}, opts), { xmlMode: "foreign" });
|
|
179
|
+
}
|
|
180
|
+
var tag = "<".concat(elem.name);
|
|
181
|
+
var attribs = formatAttributes(elem.attribs, opts);
|
|
182
|
+
if (attribs) {
|
|
183
|
+
tag += " ".concat(attribs);
|
|
184
|
+
}
|
|
185
|
+
if (elem.children.length === 0 &&
|
|
186
|
+
(opts.xmlMode
|
|
187
|
+
? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags
|
|
188
|
+
opts.selfClosingTags !== false
|
|
189
|
+
: // User explicitly asked for self-closing tags, even in HTML mode
|
|
190
|
+
opts.selfClosingTags && singleTag.has(elem.name))) {
|
|
191
|
+
if (!opts.xmlMode)
|
|
192
|
+
tag += " ";
|
|
193
|
+
tag += "/>";
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
tag += ">";
|
|
197
|
+
if (elem.children.length > 0) {
|
|
198
|
+
tag += render(elem.children, opts);
|
|
199
|
+
}
|
|
200
|
+
if (opts.xmlMode || !singleTag.has(elem.name)) {
|
|
201
|
+
tag += "</".concat(elem.name, ">");
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return tag;
|
|
205
|
+
}
|
|
206
|
+
function renderDirective(elem) {
|
|
207
|
+
return "<".concat(elem.data, ">");
|
|
208
|
+
}
|
|
209
|
+
function renderText(elem, opts) {
|
|
210
|
+
var _a;
|
|
211
|
+
var data = elem.data || "";
|
|
212
|
+
// If entities weren't decoded, no need to encode them back
|
|
213
|
+
if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&
|
|
214
|
+
!(!opts.xmlMode &&
|
|
215
|
+
elem.parent &&
|
|
216
|
+
unencodedElements.has(elem.parent.name))) {
|
|
217
|
+
data =
|
|
218
|
+
opts.xmlMode || opts.encodeEntities !== "utf8"
|
|
219
|
+
? (0, entities_1.encodeXML)(data)
|
|
220
|
+
: (0, entities_1.escapeText)(data);
|
|
221
|
+
}
|
|
222
|
+
return data;
|
|
223
|
+
}
|
|
224
|
+
function renderCdata(elem) {
|
|
225
|
+
return "<![CDATA[".concat(elem.children[0].data, "]]>");
|
|
226
|
+
}
|
|
227
|
+
function renderComment(elem) {
|
|
228
|
+
return "<!--".concat(elem.data, "-->");
|
|
229
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dom-serializer",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "render domhandler DOM nodes to a string",
|
|
5
|
+
"author": "Felix Boehm <me@feedic.com>",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"keywords": [
|
|
8
|
+
"html",
|
|
9
|
+
"xml",
|
|
10
|
+
"render"
|
|
11
|
+
],
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git://github.com/cheeriojs/dom-serializer.git"
|
|
15
|
+
},
|
|
16
|
+
"main": "lib/index.js",
|
|
17
|
+
"types": "lib/index.d.ts",
|
|
18
|
+
"module": "lib/esm/index.js",
|
|
19
|
+
"exports": {
|
|
20
|
+
"require": "./lib/index.js",
|
|
21
|
+
"import": "./lib/esm/index.js"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"lib/**/*"
|
|
25
|
+
],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"domelementtype": "^2.3.0",
|
|
28
|
+
"domhandler": "^5.0.2",
|
|
29
|
+
"entities": "^4.2.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/jest": "^27.4.1",
|
|
33
|
+
"@types/node": "^17.0.23",
|
|
34
|
+
"@typescript-eslint/eslint-plugin": "^5.18.0",
|
|
35
|
+
"@typescript-eslint/parser": "^5.18.0",
|
|
36
|
+
"cheerio": "^1.0.0-rc.9",
|
|
37
|
+
"eslint": "^8.12.0",
|
|
38
|
+
"eslint-config-prettier": "^8.5.0",
|
|
39
|
+
"htmlparser2": "^7.2.0",
|
|
40
|
+
"jest": "^27.5.1",
|
|
41
|
+
"prettier": "^2.6.2",
|
|
42
|
+
"ts-jest": "^27.1.4",
|
|
43
|
+
"typescript": "^4.6.3"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"test": "npm run test:jest && npm run lint",
|
|
47
|
+
"test:jest": "jest",
|
|
48
|
+
"lint": "npm run lint:es && npm run lint:prettier",
|
|
49
|
+
"lint:es": "eslint --ignore-path .gitignore .",
|
|
50
|
+
"lint:prettier": "npm run prettier -- --check",
|
|
51
|
+
"format": "npm run format:es && npm run format:prettier",
|
|
52
|
+
"format:es": "npm run lint:es -- --fix",
|
|
53
|
+
"format:prettier": "npm run prettier -- --write",
|
|
54
|
+
"prettier": "prettier \"**/*.{ts,md,json,yml}\" --ignore-path .gitignore",
|
|
55
|
+
"build": "npm run build:cjs && npm run build:esm",
|
|
56
|
+
"build:cjs": "tsc",
|
|
57
|
+
"build:esm": "tsc --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json",
|
|
58
|
+
"prepare": "npm run build"
|
|
59
|
+
},
|
|
60
|
+
"jest": {
|
|
61
|
+
"preset": "ts-jest",
|
|
62
|
+
"testEnvironment": "node",
|
|
63
|
+
"moduleNameMapper": {
|
|
64
|
+
"^(.*)\\.js$": "$1"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"funding": "https://github.com/cheeriojs/dom-serializer?sponsor=1",
|
|
68
|
+
"license": "MIT"
|
|
69
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Copyright (c) Felix Böhm
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
5
|
+
|
|
6
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
7
|
+
|
|
8
|
+
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
9
|
+
|
|
10
|
+
THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
|
|
11
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|