step-node-agent 3.26.3 → 3.26.5-CustomizedJv2
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/node_modules/{has-property-descriptors → call-bind-apply-helpers}/.github/FUNDING.yml +1 -1
- package/node_modules/call-bind-apply-helpers/CHANGELOG.md +23 -0
- package/node_modules/{call-bind → call-bind-apply-helpers}/LICENSE +1 -1
- package/node_modules/call-bind-apply-helpers/README.md +62 -0
- package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/node_modules/call-bind-apply-helpers/index.d.ts +46 -0
- package/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/node_modules/call-bound/.eslintrc +13 -0
- package/node_modules/{call-bind → call-bound}/.github/FUNDING.yml +1 -1
- package/node_modules/call-bound/CHANGELOG.md +34 -0
- package/node_modules/{has-property-descriptors → call-bound}/LICENSE +1 -1
- package/node_modules/call-bound/README.md +53 -0
- package/node_modules/call-bound/index.d.ts +13 -0
- package/node_modules/call-bound/index.js +18 -0
- package/node_modules/{call-bind → call-bound}/package.json +27 -23
- package/node_modules/{call-bind/test/callBound.js → call-bound/test/index.js} +1 -1
- package/node_modules/{define-data-property → dunder-proto}/.github/FUNDING.yml +1 -1
- package/node_modules/dunder-proto/CHANGELOG.md +24 -0
- package/node_modules/dunder-proto/LICENSE +21 -0
- package/node_modules/dunder-proto/README.md +54 -0
- package/node_modules/dunder-proto/get.d.ts +5 -0
- package/node_modules/dunder-proto/get.js +30 -0
- package/node_modules/{has-proto → dunder-proto}/package.json +34 -36
- package/node_modules/dunder-proto/set.d.ts +5 -0
- package/node_modules/dunder-proto/set.js +35 -0
- package/node_modules/dunder-proto/test/get.js +34 -0
- package/node_modules/dunder-proto/test/index.js +4 -0
- package/node_modules/dunder-proto/test/set.js +50 -0
- package/node_modules/dunder-proto/tsconfig.json +9 -0
- package/node_modules/es-define-property/CHANGELOG.md +14 -0
- package/node_modules/es-define-property/index.js +1 -3
- package/node_modules/es-define-property/package.json +12 -12
- package/node_modules/es-define-property/test/index.js +1 -0
- package/node_modules/es-define-property/tsconfig.json +2 -42
- package/node_modules/es-object-atoms/.eslintrc +16 -0
- package/node_modules/{set-function-length → es-object-atoms}/.github/FUNDING.yml +1 -1
- package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
- package/node_modules/{define-data-property → es-object-atoms}/LICENSE +1 -1
- package/node_modules/es-object-atoms/README.md +63 -0
- package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/node_modules/es-object-atoms/ToObject.js +10 -0
- package/node_modules/es-object-atoms/index.d.ts +3 -0
- package/node_modules/es-object-atoms/index.js +4 -0
- package/node_modules/es-object-atoms/isObject.d.ts +3 -0
- package/node_modules/es-object-atoms/isObject.js +6 -0
- package/node_modules/es-object-atoms/package.json +80 -0
- package/node_modules/es-object-atoms/test/index.js +38 -0
- package/node_modules/es-object-atoms/tsconfig.json +6 -0
- package/node_modules/express/History.md +10 -1
- package/node_modules/express/package.json +6 -2
- package/node_modules/get-intrinsic/CHANGELOG.md +35 -0
- package/node_modules/get-intrinsic/index.js +39 -21
- package/node_modules/get-intrinsic/package.json +23 -19
- package/node_modules/get-intrinsic/test/GetIntrinsic.js +2 -2
- package/node_modules/get-proto/.eslintrc +10 -0
- package/node_modules/{has-proto → get-proto}/.github/FUNDING.yml +1 -1
- package/node_modules/get-proto/.nycrc +9 -0
- package/node_modules/get-proto/CHANGELOG.md +21 -0
- package/node_modules/{has-proto → get-proto}/LICENSE +1 -1
- package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/node_modules/get-proto/README.md +50 -0
- package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/node_modules/get-proto/index.d.ts +5 -0
- package/node_modules/get-proto/index.js +27 -0
- package/node_modules/{has-property-descriptors → get-proto}/package.json +35 -31
- package/node_modules/get-proto/test/index.js +68 -0
- package/node_modules/get-proto/tsconfig.json +9 -0
- package/node_modules/gopd/CHANGELOG.md +20 -0
- package/node_modules/gopd/gOPD.d.ts +1 -0
- package/node_modules/gopd/gOPD.js +4 -0
- package/node_modules/gopd/index.d.ts +5 -0
- package/node_modules/gopd/index.js +2 -3
- package/node_modules/gopd/package.json +16 -10
- package/node_modules/gopd/test/index.js +2 -1
- package/node_modules/gopd/tsconfig.json +9 -0
- package/node_modules/has-symbols/CHANGELOG.md +16 -0
- package/node_modules/has-symbols/index.d.ts +3 -0
- package/node_modules/has-symbols/index.js +1 -0
- package/node_modules/has-symbols/package.json +19 -9
- package/node_modules/has-symbols/shams.d.ts +3 -0
- package/node_modules/has-symbols/shams.js +5 -2
- package/node_modules/has-symbols/test/shams/core-js.js +1 -0
- package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +1 -0
- package/node_modules/has-symbols/test/tests.js +4 -2
- package/node_modules/has-symbols/tsconfig.json +10 -0
- package/node_modules/is-core-module/CHANGELOG.md +13 -0
- package/node_modules/is-core-module/core.json +1 -0
- package/node_modules/is-core-module/package.json +3 -3
- package/node_modules/is-core-module/test/index.js +3 -0
- package/node_modules/math-intrinsics/.eslintrc +16 -0
- package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/node_modules/math-intrinsics/LICENSE +21 -0
- package/node_modules/math-intrinsics/README.md +50 -0
- package/node_modules/math-intrinsics/abs.d.ts +1 -0
- package/node_modules/math-intrinsics/abs.js +4 -0
- package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/node_modules/math-intrinsics/floor.d.ts +1 -0
- package/node_modules/math-intrinsics/floor.js +4 -0
- package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/node_modules/math-intrinsics/isFinite.js +12 -0
- package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/node_modules/math-intrinsics/isInteger.js +16 -0
- package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/node_modules/math-intrinsics/isNaN.js +6 -0
- package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/node_modules/math-intrinsics/max.d.ts +1 -0
- package/node_modules/math-intrinsics/max.js +4 -0
- package/node_modules/math-intrinsics/min.d.ts +1 -0
- package/node_modules/math-intrinsics/min.js +4 -0
- package/node_modules/math-intrinsics/mod.d.ts +3 -0
- package/node_modules/math-intrinsics/mod.js +9 -0
- package/node_modules/math-intrinsics/package.json +86 -0
- package/node_modules/math-intrinsics/pow.d.ts +1 -0
- package/node_modules/math-intrinsics/pow.js +4 -0
- package/node_modules/math-intrinsics/round.d.ts +1 -0
- package/node_modules/math-intrinsics/round.js +4 -0
- package/node_modules/math-intrinsics/sign.d.ts +3 -0
- package/node_modules/math-intrinsics/sign.js +11 -0
- package/node_modules/math-intrinsics/test/index.js +192 -0
- package/node_modules/math-intrinsics/tsconfig.json +3 -0
- package/node_modules/object-inspect/CHANGELOG.md +8 -0
- package/node_modules/object-inspect/index.js +10 -7
- package/node_modules/object-inspect/package.json +5 -4
- package/node_modules/object-inspect/test/values.js +50 -0
- package/node_modules/path-to-regexp/index.js +13 -3
- package/node_modules/path-to-regexp/package.json +1 -1
- package/node_modules/psl/README.md +75 -31
- package/node_modules/psl/SECURITY.md +13 -0
- package/node_modules/psl/data/rules.js +9778 -0
- package/node_modules/psl/dist/psl.cjs +1 -0
- package/node_modules/psl/dist/psl.mjs +10008 -0
- package/node_modules/psl/dist/psl.umd.cjs +1 -0
- package/node_modules/psl/index.js +59 -81
- package/node_modules/psl/package.json +24 -15
- package/node_modules/psl/types/index.d.ts +52 -0
- package/node_modules/psl/types/test.ts +14 -0
- package/node_modules/psl/types/tsconfig.json +22 -0
- package/node_modules/psl/vite.config.js +20 -0
- package/node_modules/resolve/lib/core.json +4 -0
- package/node_modules/resolve/package.json +12 -9
- package/node_modules/side-channel/.eslintrc +1 -0
- package/node_modules/side-channel/CHANGELOG.md +15 -0
- package/node_modules/side-channel/README.md +60 -1
- package/node_modules/side-channel/index.d.ts +9 -22
- package/node_modules/side-channel/index.js +20 -106
- package/node_modules/side-channel/package.json +20 -19
- package/node_modules/side-channel/test/index.js +76 -55
- package/node_modules/side-channel/tsconfig.json +2 -43
- package/node_modules/side-channel-list/.editorconfig +9 -0
- package/node_modules/side-channel-list/.eslintrc +11 -0
- package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel-list/CHANGELOG.md +15 -0
- package/node_modules/side-channel-list/LICENSE +21 -0
- package/node_modules/side-channel-list/README.md +62 -0
- package/node_modules/side-channel-list/index.d.ts +13 -0
- package/node_modules/side-channel-list/index.js +113 -0
- package/node_modules/side-channel-list/list.d.ts +14 -0
- package/node_modules/side-channel-list/package.json +77 -0
- package/node_modules/side-channel-list/test/index.js +104 -0
- package/node_modules/side-channel-list/tsconfig.json +9 -0
- package/node_modules/side-channel-map/.editorconfig +9 -0
- package/node_modules/side-channel-map/.eslintrc +11 -0
- package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel-map/.nycrc +13 -0
- package/node_modules/side-channel-map/CHANGELOG.md +22 -0
- package/node_modules/side-channel-map/LICENSE +21 -0
- package/node_modules/side-channel-map/README.md +62 -0
- package/node_modules/side-channel-map/index.d.ts +15 -0
- package/node_modules/side-channel-map/index.js +68 -0
- package/node_modules/side-channel-map/package.json +80 -0
- package/node_modules/side-channel-map/test/index.js +114 -0
- package/node_modules/side-channel-map/tsconfig.json +9 -0
- package/node_modules/side-channel-weakmap/.editorconfig +9 -0
- package/node_modules/side-channel-weakmap/.eslintrc +12 -0
- package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/node_modules/side-channel-weakmap/.nycrc +13 -0
- package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/node_modules/side-channel-weakmap/LICENSE +21 -0
- package/node_modules/side-channel-weakmap/README.md +62 -0
- package/node_modules/side-channel-weakmap/index.d.ts +15 -0
- package/node_modules/side-channel-weakmap/index.js +84 -0
- package/node_modules/side-channel-weakmap/package.json +87 -0
- package/node_modules/side-channel-weakmap/test/index.js +114 -0
- package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/node_modules/yaml/README.md +27 -8
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +1 -1
- package/node_modules/yaml/browser/dist/log.js +1 -4
- package/node_modules/yaml/browser/dist/schema/json/schema.js +1 -1
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +2 -11
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +1 -1
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +20 -11
- package/node_modules/yaml/browser/dist/util.js +1 -1
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +4 -4
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -6
- package/node_modules/yaml/dist/compose/compose-node.d.ts +7 -7
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +4 -4
- package/node_modules/yaml/dist/compose/composer.d.ts +7 -6
- package/node_modules/yaml/dist/compose/composer.js +2 -1
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +5 -5
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +5 -5
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -5
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +2 -2
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -7
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +4 -4
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +2 -2
- package/node_modules/yaml/dist/compose/resolve-props.js +1 -1
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +1 -1
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +1 -1
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +2 -2
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +3 -3
- package/node_modules/yaml/dist/doc/Document.d.ts +11 -11
- package/node_modules/yaml/dist/doc/anchors.d.ts +2 -2
- package/node_modules/yaml/dist/doc/createNode.d.ts +4 -4
- package/node_modules/yaml/dist/doc/directives.d.ts +1 -1
- package/node_modules/yaml/dist/index.d.ts +21 -18
- package/node_modules/yaml/dist/log.js +4 -2
- package/node_modules/yaml/dist/nodes/Alias.d.ts +9 -8
- package/node_modules/yaml/dist/nodes/Collection.d.ts +4 -4
- package/node_modules/yaml/dist/nodes/Node.d.ts +10 -10
- package/node_modules/yaml/dist/nodes/Pair.d.ts +9 -8
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +4 -3
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +10 -10
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +10 -10
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -3
- package/node_modules/yaml/dist/nodes/identity.d.ts +7 -7
- package/node_modules/yaml/dist/nodes/toJS.d.ts +2 -2
- package/node_modules/yaml/dist/options.d.ts +10 -10
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +4 -4
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +1 -1
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +2 -2
- package/node_modules/yaml/dist/parse/cst.d.ts +4 -3
- package/node_modules/yaml/dist/parse/lexer.d.ts +1 -1
- package/node_modules/yaml/dist/parse/parser.d.ts +4 -4
- package/node_modules/yaml/dist/parse/parser.js +2 -1
- package/node_modules/yaml/dist/public-api.d.ts +6 -5
- package/node_modules/yaml/dist/schema/Schema.d.ts +4 -4
- package/node_modules/yaml/dist/schema/common/map.d.ts +1 -1
- package/node_modules/yaml/dist/schema/common/null.d.ts +1 -1
- package/node_modules/yaml/dist/schema/common/seq.d.ts +1 -1
- package/node_modules/yaml/dist/schema/common/string.d.ts +1 -1
- package/node_modules/yaml/dist/schema/core/bool.d.ts +1 -1
- package/node_modules/yaml/dist/schema/core/float.d.ts +1 -1
- package/node_modules/yaml/dist/schema/core/int.d.ts +1 -1
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -1
- package/node_modules/yaml/dist/schema/json/schema.d.ts +1 -1
- package/node_modules/yaml/dist/schema/json/schema.js +1 -1
- package/node_modules/yaml/dist/schema/tags.d.ts +2 -2
- package/node_modules/yaml/dist/schema/types.d.ts +8 -8
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +1 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +6 -5
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +1 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +1 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +1 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +3 -3
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +11 -17
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +7 -7
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +9 -9
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +1 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +1 -1
- package/node_modules/yaml/dist/stringify/stringify.d.ts +3 -3
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +2 -2
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -3
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +1 -1
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +2 -2
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +2 -2
- package/node_modules/yaml/dist/stringify/stringifyString.js +20 -11
- package/node_modules/yaml/dist/util.d.ts +16 -12
- package/node_modules/yaml/dist/util.js +2 -2
- package/node_modules/yaml/dist/visit.d.ts +7 -7
- package/node_modules/yaml/package.json +4 -4
- package/package.json +1 -1
- package/node_modules/call-bind/.eslintignore +0 -1
- package/node_modules/call-bind/CHANGELOG.md +0 -93
- package/node_modules/call-bind/README.md +0 -64
- package/node_modules/call-bind/callBound.js +0 -15
- package/node_modules/call-bind/index.js +0 -35
- package/node_modules/call-bind/test/index.js +0 -80
- package/node_modules/define-data-property/.eslintrc +0 -24
- package/node_modules/define-data-property/CHANGELOG.md +0 -70
- package/node_modules/define-data-property/README.md +0 -67
- package/node_modules/define-data-property/index.d.ts +0 -12
- package/node_modules/define-data-property/index.js +0 -56
- package/node_modules/define-data-property/package.json +0 -106
- package/node_modules/define-data-property/test/index.js +0 -392
- package/node_modules/define-data-property/tsconfig.json +0 -59
- package/node_modules/has-property-descriptors/.eslintrc +0 -13
- package/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
- package/node_modules/has-property-descriptors/README.md +0 -43
- package/node_modules/has-property-descriptors/index.js +0 -22
- package/node_modules/has-property-descriptors/test/index.js +0 -57
- package/node_modules/has-proto/CHANGELOG.md +0 -38
- package/node_modules/has-proto/README.md +0 -38
- package/node_modules/has-proto/index.d.ts +0 -3
- package/node_modules/has-proto/index.js +0 -15
- package/node_modules/has-proto/test/index.js +0 -19
- package/node_modules/has-proto/tsconfig.json +0 -49
- package/node_modules/psl/browserstack.yml +0 -73
- package/node_modules/psl/data/rules.json +0 -9779
- package/node_modules/psl/dist/psl.js +0 -10498
- package/node_modules/psl/dist/psl.min.js +0 -1
- package/node_modules/psl/eslint.config.js +0 -9
- package/node_modules/psl/local.log +0 -12
- package/node_modules/psl/log/usage.log +0 -20
- package/node_modules/psl/playwright.config.js +0 -31
- package/node_modules/psl/test-results/.last-run.json +0 -4
- package/node_modules/set-function-length/.eslintrc +0 -27
- package/node_modules/set-function-length/CHANGELOG.md +0 -70
- package/node_modules/set-function-length/LICENSE +0 -21
- package/node_modules/set-function-length/README.md +0 -56
- package/node_modules/set-function-length/env.d.ts +0 -9
- package/node_modules/set-function-length/env.js +0 -25
- package/node_modules/set-function-length/index.d.ts +0 -7
- package/node_modules/set-function-length/index.js +0 -42
- package/node_modules/set-function-length/package.json +0 -102
- /package/node_modules/{call-bind → call-bind-apply-helpers}/.eslintrc +0 -0
- /package/node_modules/{call-bind → call-bind-apply-helpers}/.nycrc +0 -0
- /package/node_modules/{has-property-descriptors → call-bound}/.nycrc +0 -0
- /package/node_modules/{set-function-length → call-bound}/tsconfig.json +0 -0
- /package/node_modules/{has-proto → dunder-proto}/.eslintrc +0 -0
- /package/node_modules/{define-data-property → dunder-proto}/.nycrc +0 -0
- /package/node_modules/{set-function-length → side-channel-list}/.nycrc +0 -0
|
@@ -1,69 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var Punycode = require('punycode/');
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var internals = {};
|
|
9
|
-
|
|
1
|
+
import punycode from 'punycode/punycode.js';
|
|
2
|
+
import rules from './data/rules.js';
|
|
10
3
|
|
|
11
4
|
//
|
|
12
|
-
//
|
|
5
|
+
// Parse rules from file.
|
|
13
6
|
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
punySuffix: -1,
|
|
20
|
-
wildcard: rule.charAt(0) === '*',
|
|
21
|
-
exception: rule.charAt(0) === '!'
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
|
|
7
|
+
const rulesByPunySuffix = rules.reduce(
|
|
8
|
+
(map, rule) => {
|
|
9
|
+
const suffix = rule.replace(/^(\*\.|\!)/, '');
|
|
10
|
+
const punySuffix = punycode.toASCII(suffix);
|
|
11
|
+
const firstChar = rule.charAt(0);
|
|
25
12
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
internals.endsWith = function (str, suffix) {
|
|
13
|
+
if (map.has(punySuffix)) {
|
|
14
|
+
throw new Error(`Multiple rules found for ${rule} (${punySuffix})`);
|
|
15
|
+
}
|
|
30
16
|
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
map.set(punySuffix, {
|
|
18
|
+
rule,
|
|
19
|
+
suffix,
|
|
20
|
+
punySuffix,
|
|
21
|
+
wildcard: firstChar === '*',
|
|
22
|
+
exception: firstChar === '!'
|
|
23
|
+
});
|
|
33
24
|
|
|
25
|
+
return map;
|
|
26
|
+
},
|
|
27
|
+
new Map(),
|
|
28
|
+
);
|
|
34
29
|
|
|
35
30
|
//
|
|
36
31
|
// Find rule for a given domain.
|
|
37
32
|
//
|
|
38
|
-
|
|
33
|
+
const findRule = (domain) => {
|
|
34
|
+
const punyDomain = punycode.toASCII(domain);
|
|
35
|
+
const punyDomainChunks = punyDomain.split('.');
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
if (!internals.endsWith(punyDomain, '.' + rule.punySuffix) && punyDomain !== rule.punySuffix) {
|
|
47
|
-
return memo;
|
|
37
|
+
for (let i = 0; i < punyDomainChunks.length; i++) {
|
|
38
|
+
const suffix = punyDomainChunks.slice(i).join('.');
|
|
39
|
+
const matchingRules = rulesByPunySuffix.get(suffix);
|
|
40
|
+
if (matchingRules) {
|
|
41
|
+
return matchingRules;
|
|
48
42
|
}
|
|
49
|
-
|
|
50
|
-
// sub tlds always appear after their parents and we never find a shorter
|
|
51
|
-
// match.
|
|
52
|
-
//if (memo) {
|
|
53
|
-
// var memoSuffix = Punycode.toASCII(memo.suffix);
|
|
54
|
-
// if (memoSuffix.length >= punySuffix.length) {
|
|
55
|
-
// return memo;
|
|
56
|
-
// }
|
|
57
|
-
//}
|
|
58
|
-
return rule;
|
|
59
|
-
}, null);
|
|
60
|
-
};
|
|
43
|
+
}
|
|
61
44
|
|
|
45
|
+
return null;
|
|
46
|
+
};
|
|
62
47
|
|
|
63
48
|
//
|
|
64
49
|
// Error codes and messages.
|
|
65
50
|
//
|
|
66
|
-
|
|
51
|
+
export const errorCodes = {
|
|
67
52
|
DOMAIN_TOO_SHORT: 'Domain name too short.',
|
|
68
53
|
DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.',
|
|
69
54
|
LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.',
|
|
@@ -73,7 +58,6 @@ exports.errorCodes = {
|
|
|
73
58
|
LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.'
|
|
74
59
|
};
|
|
75
60
|
|
|
76
|
-
|
|
77
61
|
//
|
|
78
62
|
// Validate domain name and throw if not valid.
|
|
79
63
|
//
|
|
@@ -93,10 +77,9 @@ exports.errorCodes = {
|
|
|
93
77
|
// * http://en.wikipedia.org/wiki/Domain_name
|
|
94
78
|
// * http://en.wikipedia.org/wiki/Hostname
|
|
95
79
|
//
|
|
96
|
-
|
|
97
|
-
|
|
80
|
+
const validate = (input) => {
|
|
98
81
|
// Before we can validate we need to take care of IDNs with unicode chars.
|
|
99
|
-
|
|
82
|
+
const ascii = punycode.toASCII(input);
|
|
100
83
|
|
|
101
84
|
if (ascii.length < 1) {
|
|
102
85
|
return 'DOMAIN_TOO_SHORT';
|
|
@@ -106,10 +89,10 @@ internals.validate = function (input) {
|
|
|
106
89
|
}
|
|
107
90
|
|
|
108
91
|
// Check each part's length and allowed chars.
|
|
109
|
-
|
|
110
|
-
|
|
92
|
+
const labels = ascii.split('.');
|
|
93
|
+
let label;
|
|
111
94
|
|
|
112
|
-
for (
|
|
95
|
+
for (let i = 0; i < labels.length; ++i) {
|
|
113
96
|
label = labels[i];
|
|
114
97
|
if (!label.length) {
|
|
115
98
|
return 'LABEL_TOO_SHORT';
|
|
@@ -123,29 +106,26 @@ internals.validate = function (input) {
|
|
|
123
106
|
if (label.charAt(label.length - 1) === '-') {
|
|
124
107
|
return 'LABEL_ENDS_WITH_DASH';
|
|
125
108
|
}
|
|
126
|
-
if (!/^[a-z0-9\-]+$/.test(label)) {
|
|
109
|
+
if (!/^[a-z0-9\-_]+$/.test(label)) {
|
|
127
110
|
return 'LABEL_INVALID_CHARS';
|
|
128
111
|
}
|
|
129
112
|
}
|
|
130
113
|
};
|
|
131
114
|
|
|
132
|
-
|
|
133
115
|
//
|
|
134
116
|
// Public API
|
|
135
117
|
//
|
|
136
118
|
|
|
137
|
-
|
|
138
119
|
//
|
|
139
120
|
// Parse domain.
|
|
140
121
|
//
|
|
141
|
-
|
|
142
|
-
|
|
122
|
+
export const parse = (input) => {
|
|
143
123
|
if (typeof input !== 'string') {
|
|
144
124
|
throw new TypeError('Domain name must be a string.');
|
|
145
125
|
}
|
|
146
126
|
|
|
147
127
|
// Force domain to lowercase.
|
|
148
|
-
|
|
128
|
+
let domain = input.slice(0).toLowerCase();
|
|
149
129
|
|
|
150
130
|
// Handle FQDN.
|
|
151
131
|
// TODO: Simply remove trailing dot?
|
|
@@ -154,18 +134,18 @@ exports.parse = function (input) {
|
|
|
154
134
|
}
|
|
155
135
|
|
|
156
136
|
// Validate and sanitise input.
|
|
157
|
-
|
|
137
|
+
const error = validate(domain);
|
|
158
138
|
if (error) {
|
|
159
139
|
return {
|
|
160
140
|
input: input,
|
|
161
141
|
error: {
|
|
162
|
-
message:
|
|
142
|
+
message: errorCodes[error],
|
|
163
143
|
code: error
|
|
164
144
|
}
|
|
165
145
|
};
|
|
166
146
|
}
|
|
167
147
|
|
|
168
|
-
|
|
148
|
+
const parsed = {
|
|
169
149
|
input: input,
|
|
170
150
|
tld: null,
|
|
171
151
|
sld: null,
|
|
@@ -174,28 +154,27 @@ exports.parse = function (input) {
|
|
|
174
154
|
listed: false
|
|
175
155
|
};
|
|
176
156
|
|
|
177
|
-
|
|
157
|
+
const domainParts = domain.split('.');
|
|
178
158
|
|
|
179
159
|
// Non-Internet TLD
|
|
180
160
|
if (domainParts[domainParts.length - 1] === 'local') {
|
|
181
161
|
return parsed;
|
|
182
162
|
}
|
|
183
163
|
|
|
184
|
-
|
|
185
|
-
|
|
164
|
+
const handlePunycode = () => {
|
|
186
165
|
if (!/xn--/.test(domain)) {
|
|
187
166
|
return parsed;
|
|
188
167
|
}
|
|
189
168
|
if (parsed.domain) {
|
|
190
|
-
parsed.domain =
|
|
169
|
+
parsed.domain = punycode.toASCII(parsed.domain);
|
|
191
170
|
}
|
|
192
171
|
if (parsed.subdomain) {
|
|
193
|
-
parsed.subdomain =
|
|
172
|
+
parsed.subdomain = punycode.toASCII(parsed.subdomain);
|
|
194
173
|
}
|
|
195
174
|
return parsed;
|
|
196
175
|
};
|
|
197
176
|
|
|
198
|
-
|
|
177
|
+
const rule = findRule(domain);
|
|
199
178
|
|
|
200
179
|
// Unlisted tld.
|
|
201
180
|
if (!rule) {
|
|
@@ -208,14 +187,15 @@ exports.parse = function (input) {
|
|
|
208
187
|
if (domainParts.length) {
|
|
209
188
|
parsed.subdomain = domainParts.pop();
|
|
210
189
|
}
|
|
190
|
+
|
|
211
191
|
return handlePunycode();
|
|
212
192
|
}
|
|
213
193
|
|
|
214
194
|
// At this point we know the public suffix is listed.
|
|
215
195
|
parsed.listed = true;
|
|
216
196
|
|
|
217
|
-
|
|
218
|
-
|
|
197
|
+
const tldParts = rule.suffix.split('.');
|
|
198
|
+
const privateParts = domainParts.slice(0, domainParts.length - tldParts.length);
|
|
219
199
|
|
|
220
200
|
if (rule.exception) {
|
|
221
201
|
privateParts.push(tldParts.shift());
|
|
@@ -246,24 +226,22 @@ exports.parse = function (input) {
|
|
|
246
226
|
return handlePunycode();
|
|
247
227
|
};
|
|
248
228
|
|
|
249
|
-
|
|
250
229
|
//
|
|
251
230
|
// Get domain.
|
|
252
231
|
//
|
|
253
|
-
|
|
254
|
-
|
|
232
|
+
export const get = (domain) => {
|
|
255
233
|
if (!domain) {
|
|
256
234
|
return null;
|
|
257
235
|
}
|
|
258
|
-
return
|
|
236
|
+
return parse(domain).domain || null;
|
|
259
237
|
};
|
|
260
238
|
|
|
261
|
-
|
|
262
239
|
//
|
|
263
240
|
// Check whether domain belongs to a known public suffix.
|
|
264
241
|
//
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
var parsed = exports.parse(domain);
|
|
242
|
+
export const isValid = (domain) => {
|
|
243
|
+
const parsed = parse(domain);
|
|
268
244
|
return Boolean(parsed.domain && parsed.listed);
|
|
269
245
|
};
|
|
246
|
+
|
|
247
|
+
export default { parse, get, isValid };
|
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "psl",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Domain name parser based on the Public Suffix List",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git@github.com:lupomontero/psl.git"
|
|
8
8
|
},
|
|
9
|
-
"
|
|
9
|
+
"type": "module",
|
|
10
|
+
"main": "./dist/psl.cjs",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/psl.mjs",
|
|
14
|
+
"require": "./dist/psl.cjs"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"types": "types/index.d.ts",
|
|
10
18
|
"scripts": {
|
|
11
19
|
"lint": "eslint .",
|
|
12
20
|
"test": "mocha test/*.spec.js",
|
|
13
21
|
"test:browserstack": "browserstack-node-sdk playwright test",
|
|
14
22
|
"watch": "mocha test/*.spec.js --watch",
|
|
15
|
-
"
|
|
16
|
-
"build": "
|
|
17
|
-
"postbuild": "
|
|
18
|
-
"
|
|
23
|
+
"update-rules": "./scripts/update-rules.js",
|
|
24
|
+
"build": "vite build",
|
|
25
|
+
"postbuild": "ln -s ./psl.umd.cjs dist/psl.js && ln -s ./psl.umd.cjs dist/psl.min.js",
|
|
26
|
+
"benchmark": "node --experimental-vm-modules --no-warnings benchmark/suite.js",
|
|
19
27
|
"changelog": "git log $(git describe --tags --abbrev=0)..HEAD --oneline --format=\"%h %s (%an <%ae>)\""
|
|
20
28
|
},
|
|
21
29
|
"keywords": [
|
|
@@ -23,20 +31,21 @@
|
|
|
23
31
|
"publicsuffixlist"
|
|
24
32
|
],
|
|
25
33
|
"author": "Lupo Montero <lupomontero@gmail.com> (https://lupomontero.com/)",
|
|
34
|
+
"funding": "https://github.com/sponsors/lupomontero",
|
|
26
35
|
"license": "MIT",
|
|
27
36
|
"dependencies": {
|
|
28
37
|
"punycode": "^2.3.1"
|
|
29
38
|
},
|
|
30
39
|
"devDependencies": {
|
|
31
|
-
"@
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"eslint": "^9.
|
|
37
|
-
"JSONStream": "^1.3.5",
|
|
40
|
+
"@eslint/js": "^9.16.0",
|
|
41
|
+
"@playwright/test": "^1.49.0",
|
|
42
|
+
"@types/eslint__js": "^8.42.3",
|
|
43
|
+
"benchmark": "^2.1.4",
|
|
44
|
+
"browserstack-node-sdk": "^1.34.27",
|
|
45
|
+
"eslint": "^9.16.0",
|
|
38
46
|
"mocha": "^10.8.2",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
47
|
+
"typescript": "^5.7.2",
|
|
48
|
+
"typescript-eslint": "^8.16.0",
|
|
49
|
+
"vite": "^6.0.2"
|
|
41
50
|
}
|
|
42
51
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// TypeScript Version: 2.4
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Result returned when a given domain name was not parsable (not exported)
|
|
5
|
+
*/
|
|
6
|
+
export type ErrorResult<T extends keyof errorCodes> = {
|
|
7
|
+
input: string;
|
|
8
|
+
error: {
|
|
9
|
+
code: T;
|
|
10
|
+
message: errorCodes[T];
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Error codes and descriptions for domain name parsing errors
|
|
16
|
+
*/
|
|
17
|
+
export const enum errorCodes {
|
|
18
|
+
DOMAIN_TOO_SHORT = 'Domain name too short',
|
|
19
|
+
DOMAIN_TOO_LONG = 'Domain name too long. It should be no more than 255 chars.',
|
|
20
|
+
LABEL_STARTS_WITH_DASH = 'Domain name label can not start with a dash.',
|
|
21
|
+
LABEL_ENDS_WITH_DASH = 'Domain name label can not end with a dash.',
|
|
22
|
+
LABEL_TOO_LONG = 'Domain name label should be at most 63 chars long.',
|
|
23
|
+
LABEL_TOO_SHORT = 'Domain name label should be at least 1 character long.',
|
|
24
|
+
LABEL_INVALID_CHARS = 'Domain name label can only contain alphanumeric characters or dashes.'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Export the browser global variable name additionally to the CJS/AMD exports below
|
|
28
|
+
export as namespace psl;
|
|
29
|
+
|
|
30
|
+
export type ParsedDomain = {
|
|
31
|
+
input: string;
|
|
32
|
+
tld: string | null;
|
|
33
|
+
sld: string | null;
|
|
34
|
+
domain: string | null;
|
|
35
|
+
subdomain: string | null;
|
|
36
|
+
listed: boolean;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Parse a domain name and return its components
|
|
41
|
+
*/
|
|
42
|
+
export function parse(input: string): ParsedDomain | ErrorResult<keyof errorCodes>;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Get the base domain for full domain name
|
|
46
|
+
*/
|
|
47
|
+
export function get(domain: string): string | null;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Check whether the given domain belongs to a known public suffix
|
|
51
|
+
*/
|
|
52
|
+
export function isValid(domain: string): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as psl from 'psl';
|
|
2
|
+
import type { ParsedDomain, ErrorResult, errorCodes } from './index.d.ts';
|
|
3
|
+
|
|
4
|
+
const x = (a: ParsedDomain | ErrorResult<keyof errorCodes>) => {
|
|
5
|
+
return a;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
console.log(x(psl.parse('')));
|
|
9
|
+
|
|
10
|
+
// $ExpectType string | null
|
|
11
|
+
console.log(psl.get('example.com'));
|
|
12
|
+
|
|
13
|
+
// $ExpectType boolean
|
|
14
|
+
console.log(psl.isValid('example.com'));
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es5",
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"lib": [
|
|
6
|
+
"es5"
|
|
7
|
+
],
|
|
8
|
+
"strict": true,
|
|
9
|
+
"noEmit": false,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"noImplicitThis": true,
|
|
12
|
+
"strictNullChecks": true,
|
|
13
|
+
"strictFunctionTypes": true,
|
|
14
|
+
// Expose module under its CJS/AMD name
|
|
15
|
+
"baseUrl": ".",
|
|
16
|
+
"paths": {
|
|
17
|
+
"psl": [
|
|
18
|
+
"./index.d.ts"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
import { defineConfig } from 'vite';
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
build: {
|
|
6
|
+
target: 'es2015',
|
|
7
|
+
lib: {
|
|
8
|
+
entry: resolve(__dirname, 'index.js'),
|
|
9
|
+
name: 'psl',
|
|
10
|
+
formats: ['es', 'cjs', 'umd'],
|
|
11
|
+
fileName: format => (
|
|
12
|
+
format === 'umd'
|
|
13
|
+
? 'psl.umd.cjs'
|
|
14
|
+
: format === 'cjs'
|
|
15
|
+
? 'psl.cjs'
|
|
16
|
+
: 'psl.mjs'
|
|
17
|
+
),
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -89,7 +89,9 @@
|
|
|
89
89
|
"node:readline/promises": ">= 17",
|
|
90
90
|
"repl": true,
|
|
91
91
|
"node:repl": [">= 14.18 && < 15", ">= 16"],
|
|
92
|
+
"node:sea": [">= 20.12 && < 21", ">= 21.7"],
|
|
92
93
|
"smalloc": ">= 0.11.5 && < 3",
|
|
94
|
+
"node:sqlite": ">= 23.4",
|
|
93
95
|
"_stream_duplex": ">= 0.9.4",
|
|
94
96
|
"node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
|
|
95
97
|
"_stream_transform": ">= 0.9.4",
|
|
@@ -116,6 +118,8 @@
|
|
|
116
118
|
"node:sys": [">= 14.18 && < 15", ">= 16"],
|
|
117
119
|
"test/reporters": ">= 19.9 && < 20.2",
|
|
118
120
|
"node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"],
|
|
121
|
+
"test/mock_loader": ">= 22.3 && < 22.7",
|
|
122
|
+
"node:test/mock_loader": ">= 22.3 && < 22.7",
|
|
119
123
|
"node:test": [">= 16.17 && < 17", ">= 18"],
|
|
120
124
|
"timers": true,
|
|
121
125
|
"node:timers": [">= 14.18 && < 15", ">= 16"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "resolve",
|
|
3
3
|
"description": "resolve like require.resolve() on behalf of files asynchronously and synchronously",
|
|
4
|
-
"version": "1.22.
|
|
4
|
+
"version": "1.22.10",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git://github.com/browserify/resolve.git"
|
|
@@ -26,26 +26,25 @@
|
|
|
26
26
|
"tests-only": "tape test/*.js",
|
|
27
27
|
"pretest": "npm run lint",
|
|
28
28
|
"test": "npm run --silent tests-only",
|
|
29
|
-
"posttest": "npm run test:multirepo &&
|
|
29
|
+
"posttest": "npm run test:multirepo && npx npm@'>= 10.2' audit --production",
|
|
30
30
|
"test:multirepo": "cd ./test/resolver/multirepo && npm install && npm test"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@ljharb/eslint-config": "^21.1.
|
|
34
|
-
"array.prototype.map": "^1.0.
|
|
35
|
-
"aud": "^2.0.3",
|
|
33
|
+
"@ljharb/eslint-config": "^21.1.1",
|
|
34
|
+
"array.prototype.map": "^1.0.7",
|
|
36
35
|
"copy-dir": "^1.3.0",
|
|
37
36
|
"eclint": "^2.8.1",
|
|
38
37
|
"eslint": "=8.8.0",
|
|
39
38
|
"in-publish": "^2.0.1",
|
|
40
39
|
"mkdirp": "^0.5.5",
|
|
41
40
|
"mv": "^2.1.1",
|
|
42
|
-
"npmignore": "^0.3.
|
|
41
|
+
"npmignore": "^0.3.1",
|
|
43
42
|
"object-keys": "^1.1.1",
|
|
44
43
|
"rimraf": "^2.7.1",
|
|
45
44
|
"safe-publish-latest": "^2.0.0",
|
|
46
45
|
"semver": "^6.3.1",
|
|
47
46
|
"tap": "0.4.13",
|
|
48
|
-
"tape": "^5.
|
|
47
|
+
"tape": "^5.9.0",
|
|
49
48
|
"tmp": "^0.0.31"
|
|
50
49
|
},
|
|
51
50
|
"license": "MIT",
|
|
@@ -58,7 +57,7 @@
|
|
|
58
57
|
"url": "https://github.com/sponsors/ljharb"
|
|
59
58
|
},
|
|
60
59
|
"dependencies": {
|
|
61
|
-
"is-core-module": "^2.
|
|
60
|
+
"is-core-module": "^2.16.0",
|
|
62
61
|
"path-parse": "^1.0.7",
|
|
63
62
|
"supports-preserve-symlinks-flag": "^1.0.0"
|
|
64
63
|
},
|
|
@@ -66,7 +65,11 @@
|
|
|
66
65
|
"ignore": [
|
|
67
66
|
".github/workflows",
|
|
68
67
|
"appveyor.yml",
|
|
69
|
-
"test/resolver/malformed_package_json"
|
|
68
|
+
"test/resolver/malformed_package_json",
|
|
69
|
+
"test/list-exports"
|
|
70
70
|
]
|
|
71
|
+
},
|
|
72
|
+
"engines": {
|
|
73
|
+
"node": ">= 0.4"
|
|
71
74
|
}
|
|
72
75
|
}
|
|
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [v1.1.0](https://github.com/ljharb/side-channel/compare/v1.0.6...v1.1.0) - 2024-12-11
|
|
9
|
+
|
|
10
|
+
### Commits
|
|
11
|
+
|
|
12
|
+
- [Refactor] extract implementations to `side-channel-weakmap`, `side-channel-map`, `side-channel-list` [`ada5955`](https://github.com/ljharb/side-channel/commit/ada595549a5c4c6c853756d598846b180941c6da)
|
|
13
|
+
- [New] add `channel.delete` [`c01d2d3`](https://github.com/ljharb/side-channel/commit/c01d2d3fd51dbb1ce6da72ad7916e61bd6172aad)
|
|
14
|
+
- [types] improve types [`0c54356`](https://github.com/ljharb/side-channel/commit/0c5435651417df41b8cc1a5f7cdce8bffae68cde)
|
|
15
|
+
- [readme] add content [`be24868`](https://github.com/ljharb/side-channel/commit/be248682ac294b0e22c883092c45985aa91c490a)
|
|
16
|
+
- [actions] split out node 10-20, and 20+ [`c4488e2`](https://github.com/ljharb/side-channel/commit/c4488e241ef3d49a19fe266ac830a2e644305911)
|
|
17
|
+
- [types] use shared tsconfig [`0e0d57c`](https://github.com/ljharb/side-channel/commit/0e0d57c2ff17c7b45c6cbd43ebcf553edc9e3adc)
|
|
18
|
+
- [Dev Deps] update `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/get-intrinsic`, `@types/object-inspect`, `@types/tape`, `auto-changelog`, `tape` [`fb4f622`](https://github.com/ljharb/side-channel/commit/fb4f622e64a99a1e40b6e5cd7691674a9dc429e4)
|
|
19
|
+
- [Deps] update `call-bind`, `get-intrinsic`, `object-inspect` [`b78336b`](https://github.com/ljharb/side-channel/commit/b78336b886172d1b457d414ac9e28de8c5fecc78)
|
|
20
|
+
- [Tests] replace `aud` with `npm audit` [`ee3ab46`](https://github.com/ljharb/side-channel/commit/ee3ab4690d954311c35115651bcfd45edd205aa1)
|
|
21
|
+
- [Dev Deps] add missing peer dep [`c03e21a`](https://github.com/ljharb/side-channel/commit/c03e21a7def3b67cdc15ae22316884fefcb2f6a8)
|
|
22
|
+
|
|
8
23
|
## [v1.0.6](https://github.com/ljharb/side-channel/compare/v1.0.5...v1.0.6) - 2024-02-29
|
|
9
24
|
|
|
10
25
|
### Commits
|
|
@@ -1,2 +1,61 @@
|
|
|
1
|
-
# side-channel
|
|
1
|
+
# side-channel <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
|
|
2
|
+
|
|
3
|
+
[![github actions][actions-image]][actions-url]
|
|
4
|
+
[![coverage][codecov-image]][codecov-url]
|
|
5
|
+
[![License][license-image]][license-url]
|
|
6
|
+
[![Downloads][downloads-image]][downloads-url]
|
|
7
|
+
|
|
8
|
+
[![npm badge][npm-badge-png]][package-url]
|
|
9
|
+
|
|
2
10
|
Store information about any JS value in a side channel. Uses WeakMap if available.
|
|
11
|
+
|
|
12
|
+
Warning: in an environment that lacks `WeakMap`, this implementation will leak memory until you `delete` the `key`.
|
|
13
|
+
|
|
14
|
+
## Getting started
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
npm install --save side-channel
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage/Examples
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
const assert = require('assert');
|
|
24
|
+
const getSideChannel = require('side-channel');
|
|
25
|
+
|
|
26
|
+
const channel = getSideChannel();
|
|
27
|
+
|
|
28
|
+
const key = {};
|
|
29
|
+
assert.equal(channel.has(key), false);
|
|
30
|
+
assert.throws(() => channel.assert(key), TypeError);
|
|
31
|
+
|
|
32
|
+
channel.set(key, 42);
|
|
33
|
+
|
|
34
|
+
channel.assert(key); // does not throw
|
|
35
|
+
assert.equal(channel.has(key), true);
|
|
36
|
+
assert.equal(channel.get(key), 42);
|
|
37
|
+
|
|
38
|
+
channel.delete(key);
|
|
39
|
+
assert.equal(channel.has(key), false);
|
|
40
|
+
assert.throws(() => channel.assert(key), TypeError);
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Tests
|
|
44
|
+
|
|
45
|
+
Clone the repo, `npm install`, and run `npm test`
|
|
46
|
+
|
|
47
|
+
[package-url]: https://npmjs.org/package/side-channel
|
|
48
|
+
[npm-version-svg]: https://versionbadg.es/ljharb/side-channel.svg
|
|
49
|
+
[deps-svg]: https://david-dm.org/ljharb/side-channel.svg
|
|
50
|
+
[deps-url]: https://david-dm.org/ljharb/side-channel
|
|
51
|
+
[dev-deps-svg]: https://david-dm.org/ljharb/side-channel/dev-status.svg
|
|
52
|
+
[dev-deps-url]: https://david-dm.org/ljharb/side-channel#info=devDependencies
|
|
53
|
+
[npm-badge-png]: https://nodei.co/npm/side-channel.png?downloads=true&stars=true
|
|
54
|
+
[license-image]: https://img.shields.io/npm/l/side-channel.svg
|
|
55
|
+
[license-url]: LICENSE
|
|
56
|
+
[downloads-image]: https://img.shields.io/npm/dm/side-channel.svg
|
|
57
|
+
[downloads-url]: https://npm-stat.com/charts.html?package=side-channel
|
|
58
|
+
[codecov-image]: https://codecov.io/gh/ljharb/side-channel/branch/main/graphs/badge.svg
|
|
59
|
+
[codecov-url]: https://app.codecov.io/gh/ljharb/side-channel/
|
|
60
|
+
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/side-channel
|
|
61
|
+
[actions-url]: https://github.com/ljharb/side-channel/actions
|
|
@@ -1,27 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
key: Key;
|
|
5
|
-
next: ListNode<T>;
|
|
6
|
-
value: T;
|
|
7
|
-
};
|
|
8
|
-
type RootNode<T> = {
|
|
9
|
-
key: object;
|
|
10
|
-
next: null | ListNode<T>;
|
|
11
|
-
};
|
|
12
|
-
function listGetNode<T>(list: RootNode<T>, key: ListNode<T>['key']): ListNode<T> | void;
|
|
13
|
-
function listGet<T>(objects: RootNode<T>, key: ListNode<T>['key']): T | void;
|
|
14
|
-
function listSet<T>(objects: RootNode<T>, key: ListNode<T>['key'], value: T): void;
|
|
15
|
-
function listHas<T>(objects: RootNode<T>, key: ListNode<T>['key']): boolean;
|
|
1
|
+
import getSideChannelList from 'side-channel-list';
|
|
2
|
+
import getSideChannelMap from 'side-channel-map';
|
|
3
|
+
import getSideChannelWeakMap from 'side-channel-weakmap';
|
|
16
4
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
5
|
+
declare namespace getSideChannel {
|
|
6
|
+
type Channel<K, V> =
|
|
7
|
+
| getSideChannelList.Channel<K, V>
|
|
8
|
+
| ReturnType<Exclude<typeof getSideChannelMap<K, V>, false>>
|
|
9
|
+
| ReturnType<Exclude<typeof getSideChannelWeakMap<K, V>, false>>;
|
|
23
10
|
}
|
|
24
11
|
|
|
25
|
-
declare function getSideChannel(): getSideChannel.Channel
|
|
12
|
+
declare function getSideChannel<K, V>(): getSideChannel.Channel<K, V>;
|
|
26
13
|
|
|
27
14
|
export = getSideChannel;
|