projen-pipelines 0.3.21 → 0.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/.jsii +7 -4
  2. package/API.md +420 -0
  3. package/lib/assign-approver/base.js +3 -4
  4. package/lib/assign-approver/github.js +4 -4
  5. package/lib/awscdk/base.js +48 -6
  6. package/lib/awscdk/bash.js +2 -4
  7. package/lib/awscdk/github.js +13 -6
  8. package/lib/awscdk/gitlab.js +11 -6
  9. package/lib/drift/base.js +8 -4
  10. package/lib/drift/bash.js +3 -4
  11. package/lib/drift/detect-drift.js +3 -2
  12. package/lib/drift/github.js +5 -4
  13. package/lib/drift/gitlab.js +5 -4
  14. package/lib/drift/step.js +2 -4
  15. package/lib/release.js +5 -2
  16. package/lib/steps/amplify-deploy.step.js +5 -4
  17. package/lib/steps/artifact-steps.js +5 -6
  18. package/lib/steps/aws-assume-role.step.js +3 -4
  19. package/lib/steps/github-summary.step.js +3 -4
  20. package/lib/steps/package-manager-setup.step.js +4 -6
  21. package/lib/steps/registries.js +7 -8
  22. package/lib/steps/set-env.step.js +2 -1
  23. package/lib/steps/step.js +9 -10
  24. package/lib/versioning/computation.js +6 -8
  25. package/lib/versioning/config.js +3 -6
  26. package/lib/versioning/outputs.js +13 -16
  27. package/lib/versioning/setup.js +9 -9
  28. package/lib/versioning/strategy.js +4 -4
  29. package/lib/versioning/version-info.js +18 -9
  30. package/node_modules/@babel/code-frame/package.json +2 -2
  31. package/node_modules/@babel/helper-validator-identifier/package.json +1 -1
  32. package/node_modules/@nodable/entities/README.md +52 -1
  33. package/node_modules/@nodable/entities/package.json +4 -1
  34. package/node_modules/@nodable/entities/src/EntityDecoder.js +105 -4
  35. package/node_modules/@nodable/entities/src/EntityEncoder.js +79 -34
  36. package/node_modules/@nodable/entities/src/all-entities.js +53 -0
  37. package/node_modules/@nodable/entities/src/entities.js +0 -38
  38. package/node_modules/@nodable/entities/src/entityTries.js +48 -37
  39. package/node_modules/@nodable/entities/src/index.d.ts +93 -2
  40. package/node_modules/@nodable/entities/src/index.js +2 -2
  41. package/node_modules/anynum/LICENSE +21 -0
  42. package/node_modules/anynum/README.md +142 -0
  43. package/node_modules/anynum/anynum.js +135 -0
  44. package/node_modules/anynum/digitTable.js +116 -0
  45. package/node_modules/anynum/package.json +42 -0
  46. package/node_modules/dotgitignore/node_modules/brace-expansion/README.md +23 -1
  47. package/node_modules/dotgitignore/node_modules/brace-expansion/index.js +265 -86
  48. package/node_modules/dotgitignore/node_modules/brace-expansion/package.json +1 -1
  49. package/node_modules/fast-xml-builder/CHANGELOG.md +12 -0
  50. package/node_modules/fast-xml-builder/README.md +4 -1
  51. package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -1
  52. package/node_modules/fast-xml-builder/lib/fxb.min.js +1 -1
  53. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -1
  54. package/node_modules/fast-xml-builder/package.json +6 -10
  55. package/node_modules/fast-xml-builder/src/fxb.js +34 -24
  56. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +18 -17
  57. package/node_modules/fast-xml-builder/src/util.js +10 -3
  58. package/node_modules/fast-xml-parser/CHANGELOG.md +34 -0
  59. package/node_modules/fast-xml-parser/README.md +10 -6
  60. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  61. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  62. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  63. package/node_modules/fast-xml-parser/lib/fxp.d.cts +3 -1
  64. package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  65. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  66. package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  67. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  68. package/node_modules/fast-xml-parser/package.json +8 -10
  69. package/node_modules/fast-xml-parser/src/fxp.d.ts +5 -1
  70. package/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +16 -1
  71. package/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +2 -1
  72. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +36 -3
  73. package/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +14 -0
  74. package/node_modules/get-pkg-repo/node_modules/yargs/package.json +27 -26
  75. package/node_modules/get-pkg-repo/node_modules/yargs/yargs +5 -9
  76. package/node_modules/get-pkg-repo/node_modules/yargs/yargs.cjs +15 -0
  77. package/node_modules/hasown/CHANGELOG.md +7 -0
  78. package/node_modules/hasown/index.d.ts +0 -1
  79. package/node_modules/hasown/package.json +4 -5
  80. package/node_modules/is-unsafe/LICENSE +21 -0
  81. package/node_modules/is-unsafe/README.md +599 -0
  82. package/node_modules/is-unsafe/package.json +56 -0
  83. package/node_modules/is-unsafe/src/contexts/html.js +102 -0
  84. package/node_modules/is-unsafe/src/contexts/log.js +98 -0
  85. package/node_modules/is-unsafe/src/contexts/nosql.js +114 -0
  86. package/node_modules/is-unsafe/src/contexts/redos.js +60 -0
  87. package/node_modules/is-unsafe/src/contexts/shell.js +105 -0
  88. package/node_modules/is-unsafe/src/contexts/sql-strict.js +47 -0
  89. package/node_modules/is-unsafe/src/contexts/sql.js +95 -0
  90. package/node_modules/is-unsafe/src/contexts/svg.js +81 -0
  91. package/node_modules/is-unsafe/src/contexts/xml.js +79 -0
  92. package/node_modules/is-unsafe/src/index.cjs +27 -0
  93. package/node_modules/is-unsafe/src/index.d.ts +95 -0
  94. package/node_modules/is-unsafe/src/index.js +265 -0
  95. package/node_modules/path-expression-matcher/README.md +82 -7
  96. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  97. package/node_modules/path-expression-matcher/lib/pem.d.cts +94 -3
  98. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  99. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -1
  100. package/node_modules/path-expression-matcher/package.json +2 -1
  101. package/node_modules/path-expression-matcher/src/ExpressionSet.js +18 -2
  102. package/node_modules/path-expression-matcher/src/Matcher.js +109 -16
  103. package/node_modules/path-expression-matcher/src/index.d.ts +67 -1
  104. package/node_modules/path-expression-matcher/src/index.js +3 -2
  105. package/node_modules/semver/classes/range.js +24 -4
  106. package/node_modules/semver/classes/semver.js +19 -2
  107. package/node_modules/semver/package.json +2 -2
  108. package/node_modules/semver/ranges/subset.js +2 -2
  109. package/node_modules/strnum/CHANGELOG.md +14 -0
  110. package/node_modules/strnum/README.md +9 -0
  111. package/node_modules/strnum/package.json +7 -3
  112. package/node_modules/strnum/strnum.js +14 -2
  113. package/node_modules/xml-naming/LICENSE +21 -0
  114. package/node_modules/xml-naming/README.md +99 -1
  115. package/node_modules/xml-naming/package.json +4 -2
  116. package/node_modules/xml-naming/src/index.d.ts +34 -0
  117. package/node_modules/xml-naming/src/index.js +134 -22
  118. package/node_modules/yargs/build/index.cjs +1 -1
  119. package/node_modules/yargs/package.json +6 -4
  120. package/node_modules/yargs/yargs +5 -9
  121. package/node_modules/yargs/yargs.cjs +15 -0
  122. package/package.json +8 -9
  123. package/node_modules/yargs/browser.d.ts +0 -5
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fast-xml-parser",
3
- "version": "5.8.0",
3
+ "version": "5.11.0",
4
4
  "description": "Validate XML, Parse XML, Build XML without C/C++ based libraries",
5
5
  "main": "./lib/fxp.cjs",
6
6
  "type": "module",
@@ -27,9 +27,7 @@
27
27
  "lint": "eslint src/**/*.js spec/**/*.js benchmark/**/*.js",
28
28
  "bundle": "webpack --config webpack.cjs.config.js",
29
29
  "prettier": "prettier --write src/**/*.js",
30
- "checkReadiness": "publish-please --dry-run",
31
- "publish-please": "publish-please",
32
- "prepublishOnly": "publish-please guard"
30
+ "preversion": "npm test"
33
31
  },
34
32
  "bin": {
35
33
  "fxparser": "src/cli/cli.js"
@@ -74,7 +72,6 @@
74
72
  "eslint": "^8.3.0",
75
73
  "jasmine": "^5.6.0",
76
74
  "prettier": "^3.5.1",
77
- "publish-please": "^5.5.2",
78
75
  "typescript": "5",
79
76
  "webpack": "^5.64.4",
80
77
  "webpack-cli": "^4.9.1"
@@ -86,10 +83,11 @@
86
83
  }
87
84
  ],
88
85
  "dependencies": {
89
- "@nodable/entities": "^2.1.0",
86
+ "@nodable/entities": "^3.0.0",
90
87
  "fast-xml-builder": "^1.2.0",
91
- "path-expression-matcher": "^1.5.0",
92
- "strnum": "^2.3.0",
93
- "xml-naming": "^0.1.0"
88
+ "is-unsafe": "^2.0.0",
89
+ "path-expression-matcher": "^1.6.2",
90
+ "strnum": "^2.4.2",
91
+ "xml-naming": "^0.3.0"
94
92
  }
95
- }
93
+ }
@@ -503,7 +503,9 @@ export type strnumOptions = {
503
503
  hex: boolean;
504
504
  leadingZeros: boolean,
505
505
  skipLike?: RegExp,
506
- eNotation?: boolean
506
+ eNotation?: boolean,
507
+ infinity?: string,
508
+ unicode?: boolean
507
509
  }
508
510
 
509
511
  export type validationOptions = {
@@ -747,4 +749,6 @@ export class XMLBuilder {
747
749
  export interface XMLMetaData {
748
750
  /** The index, if available, of the character where the XML node began in the input stream. */
749
751
  startIndex?: number;
752
+ /** The index, if available, of the character where the XML node ended in the input stream. */
753
+ endIndex?: number;
750
754
  }
@@ -23,8 +23,23 @@ export default class DocTypeReader {
23
23
  i = i + 9;
24
24
  let angleBracketsCount = 1;
25
25
  let hasBody = false, comment = false;
26
+ let quoteChar = null; // tracks an open SYSTEM/PUBLIC literal before the '[' body
26
27
  let exp = "";
27
28
  for (; i < xmlData.length; i++) {
29
+ // Inside a quoted external-identifier literal — XML allows '<'
30
+ // and '>' as plain data here, so they must not be interpreted
31
+ // as DOCTYPE structure until the matching quote closes.
32
+ if (quoteChar !== null) {
33
+ if (xmlData[i] === quoteChar) quoteChar = null;
34
+ exp += xmlData[i];
35
+ continue;
36
+ }
37
+ if (!hasBody && !comment && (xmlData[i] === '"' || xmlData[i] === "'")) {
38
+ quoteChar = xmlData[i];
39
+ exp += xmlData[i];
40
+ continue;
41
+ }
42
+
28
43
  if (xmlData[i] === '<' && !comment) { //Determine the tag type
29
44
  if (hasBody && hasSeq(xmlData, "!ENTITY", i)) {
30
45
  i += 7;
@@ -79,7 +94,7 @@ export default class DocTypeReader {
79
94
  exp += xmlData[i];
80
95
  }
81
96
  }
82
- if (angleBracketsCount !== 0) {
97
+ if (quoteChar !== null || angleBracketsCount !== 0) {
83
98
  throw new Error(`Unclosed DOCTYPE`);
84
99
  }
85
100
  } else {
@@ -25,7 +25,8 @@ export const defaultOptions = {
25
25
  numberParseOptions: {
26
26
  hex: true,
27
27
  leadingZeros: true,
28
- eNotation: true
28
+ eNotation: true,
29
+ unicode: false
29
30
  },
30
31
  tagValueProcessor: function (tagName, val) {
31
32
  return val;
@@ -8,7 +8,9 @@ import toNumber from "strnum";
8
8
  import getIgnoreAttributesFn from "../ignoreAttributes.js";
9
9
  import { Expression, Matcher } from 'path-expression-matcher';
10
10
  import { ExpressionSet } from 'path-expression-matcher';
11
- import { EntityDecoder, XML, CURRENCY, COMMON_HTML } from '@nodable/entities';
11
+ import { EntityDecoder, XML, CURRENCY, COMMON_HTML, ENTITY_ACTION } from '@nodable/entities';
12
+ import { isUnsafe, HTML as HTML_CONTEXT, XML as XML_CONTEXT } from "is-unsafe"
13
+
12
14
 
13
15
  // const regx =
14
16
  // '<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)'
@@ -85,6 +87,7 @@ export default class OrderedObjParser {
85
87
  this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)
86
88
  this.entityExpansionCount = 0;
87
89
  this.currentExpandedLength = 0;
90
+ this.doctypefound = false;
88
91
  let namedEntities = { ...XML };
89
92
  if (this.options.entityDecoder) {
90
93
  this.entityDecoder = this.options.entityDecoder
@@ -98,7 +101,12 @@ export default class OrderedObjParser {
98
101
  maxTotalExpansions: this.options.processEntities.maxTotalExpansions,
99
102
  maxExpandedLength: this.options.processEntities.maxExpandedLength,
100
103
  applyLimitsTo: this.options.processEntities.appliesTo,
101
- }
104
+ },
105
+ // onExternalEntity: (name, value) => isUnsafe(value) ? 'block' : 'allow',
106
+ onInputEntity: (name, value) =>
107
+ //TODO: VALID_CONTEXTS.HTML should be set only if this.options.htmlEntities
108
+ isUnsafe(value, [HTML_CONTEXT, XML_CONTEXT]) ? ENTITY_ACTION.BLOCK : ENTITY_ACTION.ALLOW,
109
+
102
110
  //postCheck: resolved => resolved
103
111
  });
104
112
  }
@@ -287,6 +295,7 @@ const parseXml = function (xmlData) {
287
295
  // Reset entity expansion counters for this document
288
296
  this.entityExpansionCount = 0;
289
297
  this.currentExpandedLength = 0;
298
+ this.doctypefound = false;
290
299
  const options = this.options;
291
300
  const docTypeReader = new DocTypeReader(options.processEntities);
292
301
  const xmlLen = xmlData.length;
@@ -327,7 +336,12 @@ const parseXml = function (xmlData) {
327
336
  this.matcher.pop();
328
337
  this.isCurrentNodeStopNode = false; // Reset flag when closing tag
329
338
 
330
- currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope
339
+ //a closing tag with no matching opening tag leaves the stack empty
340
+ currentNode = this.tagsNodeStack.pop() || xmlObj;//avoid recursion, set the parent tag scope
341
+
342
+ if (options.captureMetaData && currentNode) {
343
+ currentNode.addEndIndex(closeIndex + 1);
344
+ }
331
345
  textData = "";
332
346
  i = closeIndex;
333
347
  } else if (c1 === 63) { //'?'
@@ -353,6 +367,11 @@ const parseXml = function (xmlData) {
353
367
  childNode[":@"] = attsMap
354
368
  }
355
369
  this.addChild(currentNode, childNode, this.readonlyMatcher, i);
370
+
371
+ if (options.captureMetaData) {
372
+ // closeIndex points at '?' of the closing '?>'
373
+ currentNode.addEndIndex(tagData.closeIndex + 2);
374
+ }
356
375
  }
357
376
 
358
377
 
@@ -371,6 +390,8 @@ const parseXml = function (xmlData) {
371
390
  i = endIndex;
372
391
  } else if (c1 === 33
373
392
  && xmlData.charCodeAt(i + 2) === 68) { //'!D'
393
+ if (this.doctypefound) throw new Error("Multiple DOCTYPE declarations found.");
394
+ this.doctypefound = true;
374
395
  const result = docTypeReader.readDocType(xmlData, i);
375
396
  this.entityDecoder.addInputEntities(result.entities);
376
397
  i = result.i;
@@ -515,6 +536,10 @@ const parseXml = function (xmlData) {
515
536
  this.isCurrentNodeStopNode = false; // Reset flag
516
537
 
517
538
  this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
539
+
540
+ if (options.captureMetaData) {
541
+ currentNode.addEndIndex(i + 1);
542
+ }
518
543
  } else {
519
544
  //selfClosing tag
520
545
  if (isSelfClosing) {
@@ -525,6 +550,10 @@ const parseXml = function (xmlData) {
525
550
  childNode[":@"] = prefixedAttrs;
526
551
  }
527
552
  this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
553
+
554
+ if (options.captureMetaData) {
555
+ currentNode.addEndIndex(closeIndex + 1);
556
+ }
528
557
  this.matcher.pop(); // Pop self-closing tag
529
558
  this.isCurrentNodeStopNode = false; // Reset flag
530
559
  }
@@ -534,6 +563,10 @@ const parseXml = function (xmlData) {
534
563
  childNode[":@"] = prefixedAttrs;
535
564
  }
536
565
  this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
566
+
567
+ if (options.captureMetaData) {
568
+ currentNode.addEndIndex(result.closeIndex + 1);
569
+ }
537
570
  this.matcher.pop(); // Pop unpaired tag
538
571
  this.isCurrentNodeStopNode = false; // Reset flag
539
572
  i = result.closeIndex;
@@ -27,12 +27,26 @@ export default class XmlNode {
27
27
  this.child.push({ [node.tagname]: node.child });
28
28
  }
29
29
  // if requested, add the startIndex
30
+ this.addStartIndex(startIndex);
31
+ }
32
+
33
+ addStartIndex(startIndex) {
30
34
  if (startIndex !== undefined) {
31
35
  // Note: for now we just overwrite the metadata. If we had more complex metadata,
32
36
  // we might need to do an object append here: metadata = { ...metadata, startIndex }
33
37
  this.child[this.child.length - 1][METADATA_SYMBOL] = { startIndex };
34
38
  }
35
39
  }
40
+
41
+ addEndIndex(endIndex) {
42
+ const lastChild = this.child[this.child.length - 1];
43
+ // endIndex is write-once: when updateTag drops a node, the last child is a
44
+ // previously completed sibling whose endIndex must not be overwritten
45
+ if (lastChild !== undefined && lastChild[METADATA_SYMBOL] !== undefined
46
+ && lastChild[METADATA_SYMBOL].endIndex === undefined) {
47
+ lastChild[METADATA_SYMBOL].endIndex = endIndex;
48
+ }
49
+ }
36
50
  /** symbol used for metadata */
37
51
  static getMetaDataSymbol() {
38
52
  return METADATA_SYMBOL;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yargs",
3
- "version": "16.2.0",
3
+ "version": "16.2.2",
4
4
  "description": "yargs the modern, pirate-themed, successor to optimist.",
5
5
  "main": "./index.cjs",
6
6
  "exports": {
@@ -18,9 +18,9 @@
18
18
  },
19
19
  "./yargs": [
20
20
  {
21
- "require": "./yargs"
21
+ "require": "./yargs.cjs"
22
22
  },
23
- "./yargs"
23
+ "./yargs.cjs"
24
24
  ]
25
25
  },
26
26
  "type": "module",
@@ -38,6 +38,7 @@
38
38
  "helpers/*",
39
39
  "index.mjs",
40
40
  "yargs",
41
+ "yargs.cjs",
41
42
  "build",
42
43
  "locales",
43
44
  "LICENSE",
@@ -54,34 +55,35 @@
54
55
  "yargs-parser": "^20.2.2"
55
56
  },
56
57
  "devDependencies": {
57
- "@types/chai": "^4.2.11",
58
- "@types/mocha": "^8.0.0",
59
- "@types/node": "^14.11.2",
60
- "@wessberg/rollup-plugin-ts": "^1.3.2",
61
- "c8": "^7.0.0",
62
- "chai": "^4.2.0",
63
- "chalk": "^4.0.0",
64
- "coveralls": "^3.0.9",
65
- "cpr": "^3.0.1",
66
- "cross-env": "^7.0.2",
67
- "cross-spawn": "^7.0.0",
68
- "gts": "^3.0.0",
58
+ "@types/babel__traverse": "7.0.16",
59
+ "@types/chai": "4.2.14",
60
+ "@types/mocha": "8.0.4",
61
+ "@types/node": "14.14.0",
62
+ "@wessberg/rollup-plugin-ts": "1.3.8",
63
+ "chai": "4.2.0",
64
+ "chalk": "4.1.0",
65
+ "coveralls": "3.1.0",
66
+ "cpr": "3.0.1",
67
+ "cross-env": "7.0.2",
68
+ "cross-spawn": "7.0.3",
69
+ "gts": "3.0.3",
69
70
  "hashish": "0.0.4",
70
- "mocha": "^8.0.0",
71
- "rimraf": "^3.0.2",
72
- "rollup": "^2.23.0",
73
- "rollup-plugin-cleanup": "^3.1.1",
71
+ "mocha": "8.2.1",
72
+ "rimraf": "3.0.2",
73
+ "prettier": "2.2.1",
74
+ "rollup": "2.34.1",
75
+ "rollup-plugin-cleanup": "3.2.1",
74
76
  "standardx": "^5.0.0",
75
- "typescript": "^4.0.2",
76
- "which": "^2.0.0",
77
- "yargs-test-extends": "^1.0.1"
77
+ "typescript": "4.1.2",
78
+ "which": "2.0.2",
79
+ "yargs-test-extends": "1.0.1"
78
80
  },
79
81
  "scripts": {
80
82
  "fix": "gts fix && npm run fix:js",
81
83
  "fix:js": "standardx --fix '**/*.mjs' && standardx --fix '**/*.cjs' && standardx --fix './*.mjs' && standardx --fix './*.cjs'",
82
84
  "posttest": "npm run check",
83
- "test": "c8 mocha ./test/*.cjs --require ./test/before.cjs --timeout=12000 --check-leaks",
84
- "test:esm": "c8 mocha ./test/esm/*.mjs --check-leaks",
85
+ "test": "mocha ./test/*.cjs --require ./test/before.cjs --timeout=12000 --check-leaks",
86
+ "test:esm": "mocha ./test/esm/*.mjs --check-leaks",
85
87
  "coverage": "c8 report --check-coverage",
86
88
  "prepare": "npm run compile",
87
89
  "pretest": "npm run compile -- -p tsconfig.test.json && cross-env NODE_ENV=test npm run build:cjs",
@@ -89,8 +91,7 @@
89
91
  "postcompile": "npm run build:cjs",
90
92
  "build:cjs": "rollup -c rollup.config.cjs",
91
93
  "postbuild:cjs": "rimraf ./build/index.cjs.d.ts",
92
- "check": "gts lint && npm run check:js",
93
- "check:js": "standardx '**/*.mjs' && standardx '**/*.cjs' && standardx './*.mjs' && standardx './*.cjs'",
94
+ "check": "gts lint",
94
95
  "clean": "gts clean"
95
96
  },
96
97
  "repository": {
@@ -1,9 +1,5 @@
1
- // TODO: consolidate on using a helpers file at some point in the future, which
2
- // is the approach currently used to export Parser and applyExtends for ESM:
3
- const {applyExtends, cjsPlatformShim, Parser, Yargs, processArgv} = require('./build/index.cjs')
4
- Yargs.applyExtends = (config, cwd, mergeExtends) => {
5
- return applyExtends(config, cwd, mergeExtends, cjsPlatformShim)
6
- }
7
- Yargs.hideBin = processArgv.hideBin
8
- Yargs.Parser = Parser
9
- module.exports = Yargs
1
+ // This file gets hit in node versions below node 12.17.0
2
+ // when require('yargs/yargs') from CommonJS
3
+ // because conditional exports not fully supported and treats as filename.
4
+
5
+ module.exports = require('./yargs.cjs');
@@ -0,0 +1,15 @@
1
+ // TODO: consolidate on using a helpers file at some point in the future, which
2
+ // is the approach currently used to export Parser and applyExtends for ESM:
3
+ const {
4
+ applyExtends,
5
+ cjsPlatformShim,
6
+ Parser,
7
+ Yargs,
8
+ processArgv,
9
+ } = require('./build/index.cjs');
10
+ Yargs.applyExtends = (config, cwd, mergeExtends) => {
11
+ return applyExtends(config, cwd, mergeExtends, cjsPlatformShim);
12
+ };
13
+ Yargs.hideBin = processArgv.hideBin;
14
+ Yargs.Parser = Parser;
15
+ module.exports = Yargs;
@@ -5,6 +5,13 @@ 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
+ ## [v2.0.4](https://github.com/inspect-js/hasOwn/compare/v2.0.3...v2.0.4) - 2026-05-28
9
+
10
+ ### Commits
11
+
12
+ - [types] drop the dead key-narrowing overload [`fdab00e`](https://github.com/inspect-js/hasOwn/commit/fdab00e2703e65411424e19bf86a7e72a8f10da9)
13
+ - [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `eslint` [`91f6247`](https://github.com/inspect-js/hasOwn/commit/91f624768dd0f7db0d019b89d4d86bd66e20ec30)
14
+
8
15
  ## [v2.0.3](https://github.com/inspect-js/hasOwn/compare/v2.0.2...v2.0.3) - 2026-04-17
9
16
 
10
17
  ### Commits
@@ -1,4 +1,3 @@
1
- declare function hasOwn<O, K extends PropertyKey>(o: O, p: K): p is K & keyof O;
2
1
  declare function hasOwn<O, K extends PropertyKey, V = unknown>(o: O, p: K): o is O & Record<K, V>;
3
2
 
4
3
  export = hasOwn;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hasown",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "A robust, ES3 compatible, \"has own property\" predicate.",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -52,13 +52,12 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@arethetypeswrong/cli": "^0.18.2",
55
- "@ljharb/eslint-config": "^22.2.2",
55
+ "@ljharb/eslint-config": "^22.2.3",
56
56
  "@ljharb/tsconfig": "^0.3.2",
57
57
  "@types/function-bind": "^1.1.10",
58
58
  "@types/tape": "^5.8.1",
59
- "auto-changelog": "^2.5.0",
60
- "encoding": "^0.1.13",
61
- "eslint": "^10.2.0",
59
+ "auto-changelog": "^2.5.1",
60
+ "eslint": "^10.4.0",
62
61
  "evalmd": "^0.0.19",
63
62
  "in-publish": "^2.0.1",
64
63
  "jiti": "^0.0.0",
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Natural Intelligence
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.