isomorphic-git 1.25.3 → 1.25.5

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/README.md CHANGED
@@ -367,6 +367,7 @@ Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds
367
367
  <td align="center"><a href="https://github.com/DanilKazanov"><img src="https://avatars.githubusercontent.com/u/139755256?v=4?s=60" width="60px;" alt=""/><br /><sub><b>DanilKazanov</b></sub></a><br /><a href="https://github.com/isomorphic-git/isomorphic-git/commits?author=DanilKazanov" title="Code">💻</a> <a href="https://github.com/isomorphic-git/isomorphic-git/commits?author=DanilKazanov" title="Documentation">📖</a> <a href="https://github.com/isomorphic-git/isomorphic-git/commits?author=DanilKazanov" title="Tests">⚠️</a></td>
368
368
  <td align="center"><a href="https://api.github.com/users/hisco"><img src="https://avatars.githubusercontent.com/u/39222286?v=4?s=60" width="60px;" alt=""/><br /><sub><b>Eyal Hisco</b></sub></a><br /><a href="https://github.com/isomorphic-git/isomorphic-git/issues?q=author%3Ahisco" title="Bug reports">🐛</a></td>
369
369
  <td align="center"><a href="https://github.com/scolladon"><img src="https://avatars.githubusercontent.com/u/522422?v=4?s=60" width="60px;" alt=""/><br /><sub><b>Sebastien</b></sub></a><br /><a href="https://github.com/isomorphic-git/isomorphic-git/commits?author=scolladon" title="Code">💻</a></td>
370
+ <td align="center"><a href="https://github.com/yarikoptic"><img src="https://avatars.githubusercontent.com/u/39889?v=4?s=60" width="60px;" alt=""/><br /><sub><b>Yaroslav Halchenko</b></sub></a><br /><a href="https://github.com/isomorphic-git/isomorphic-git/commits?author=yarikoptic" title="Documentation">📖</a></td>
370
371
  </tr>
371
372
  </table>
372
373
 
@@ -1,12 +1,8 @@
1
1
  [
2
2
  "Chrome Headless 79.0.3945.0 (Linux x86_64)",
3
- "Firefox 121.0 (Ubuntu 0.0.0)",
4
- "X Chrome 117.0.0.0 (Android 10)",
3
+ "Firefox 122.0 (Ubuntu 0.0.0)",
4
+ "Chrome 120.0.0.0 (Android 10)",
5
5
  "Edge 79.0.309.65 (Windows 10)",
6
- "Mobile Safari 13.0 (iOS 13.0)",
7
6
  "Safari 13.1 (Mac OS 10.15.4)",
8
- "Chrome Headless 79.0.3945.0 (Linux x86_64)",
9
- "X Chrome 117.0.0.0 (Android 10)",
10
- "Chrome Headless 79.0.3945.0 (Linux x86_64)",
11
- "Chrome 117.0.0.0 (Android 10)"
7
+ "Mobile Safari 13.0 (iOS 13.0)"
12
8
  ]
package/index.cjs CHANGED
@@ -1518,7 +1518,7 @@ const schema = {
1518
1518
  // section starts with [ and ends with ]
1519
1519
  // section is alphanumeric (ASCII) with - and .
1520
1520
  // section is case insensitive
1521
- // subsection is optionnal
1521
+ // subsection is optional
1522
1522
  // subsection is specified after section and one or more spaces
1523
1523
  // subsection is specified between double quotes
1524
1524
  const SECTION_LINE_REGEX = /^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/;
@@ -3502,7 +3502,7 @@ class IndexResetError extends BaseError {
3502
3502
  */
3503
3503
  constructor(filepath) {
3504
3504
  super(
3505
- `Could not merge index: Entry for '${filepath}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged chages.`
3505
+ `Could not merge index: Entry for '${filepath}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`
3506
3506
  );
3507
3507
  this.code = this.name = IndexResetError.code;
3508
3508
  this.data = { filepath };
@@ -4501,7 +4501,7 @@ class FileSystem {
4501
4501
 
4502
4502
  /**
4503
4503
  * Return true if a file exists, false if it doesn't exist.
4504
- * Rethrows errors that aren't related to file existance.
4504
+ * Rethrows errors that aren't related to file existence.
4505
4505
  */
4506
4506
  async exists(filepath, options = {}) {
4507
4507
  try {
@@ -4645,7 +4645,7 @@ class FileSystem {
4645
4645
 
4646
4646
  /**
4647
4647
  * Return the Stats of a file/symlink if it exists, otherwise returns null.
4648
- * Rethrows errors that aren't related to file existance.
4648
+ * Rethrows errors that aren't related to file existence.
4649
4649
  */
4650
4650
  async lstat(filename) {
4651
4651
  try {
@@ -4661,7 +4661,7 @@ class FileSystem {
4661
4661
 
4662
4662
  /**
4663
4663
  * Reads the contents of a symlink if it exists, otherwise returns null.
4664
- * Rethrows errors that aren't related to file existance.
4664
+ * Rethrows errors that aren't related to file existence.
4665
4665
  */
4666
4666
  async readlink(filename, opts = { encoding: 'buffer' }) {
4667
4667
  // Note: FileSystem.readlink returns a buffer by default
@@ -4821,7 +4821,7 @@ async function abortMerge({
4821
4821
  }
4822
4822
 
4823
4823
  // I'm putting this in a Manager because I reckon it could benefit
4824
- // from a LOT of cacheing.
4824
+ // from a LOT of caching.
4825
4825
  class GitIgnoreManager {
4826
4826
  static async isIgnored({ fs, dir, gitdir = join(dir, '.git'), filepath }) {
4827
4827
  // ALWAYS ignore ".git" folders.
@@ -4913,8 +4913,9 @@ function testCompressionStream() {
4913
4913
  try {
4914
4914
  const cs = new CompressionStream('deflate');
4915
4915
  // Test if `Blob.stream` is present. React Native does not have the `stream` method
4916
- new Blob([]).stream();
4917
- if (cs) return true
4916
+ const stream = new Blob([]).stream();
4917
+ stream.cancel();
4918
+ return !!cs
4918
4919
  } catch (_) {
4919
4920
  // no bother
4920
4921
  }
@@ -5805,7 +5806,7 @@ async function _annotatedTag({
5805
5806
  * @param {string} [args.tagger.email] - Default is `user.email` config.
5806
5807
  * @param {number} [args.tagger.timestamp=Math.floor(Date.now()/1000)] - Set the tagger timestamp field. This is the integer number of seconds since the Unix epoch (1970-01-01 00:00:00).
5807
5808
  * @param {number} [args.tagger.timezoneOffset] - Set the tagger timezone offset field. This is the difference, in minutes, from the current timezone to UTC. Default is `(new Date()).getTimezoneOffset()`.
5808
- * @param {string} [args.gpgsig] - The gpgsig attatched to the tag object. (Mutually exclusive with the `signingKey` option.)
5809
+ * @param {string} [args.gpgsig] - The gpgsig attached to the tag object. (Mutually exclusive with the `signingKey` option.)
5809
5810
  * @param {string} [args.signingKey] - Sign the tag object using this private PGP key. (Mutually exclusive with the `gpgsig` option.)
5810
5811
  * @param {boolean} [args.force = false] - Instead of throwing an error if a tag named `ref` already exists, overwrite the existing tag. Note that this option does not modify the original tag object itself.
5811
5812
  * @param {object} [args.cache] - a [cache](cache.md) object
@@ -6300,7 +6301,7 @@ async function analyze({
6300
6301
 
6301
6302
  // This is a kind of silly pattern but it worked so well for me in the past
6302
6303
  // and it makes intuitively demonstrating exhaustiveness so *easy*.
6303
- // This checks for the presense and/or absence of each of the 3 entries,
6304
+ // This checks for the presence and/or absence of each of the 3 entries,
6304
6305
  // converts that to a 3-bit binary representation, and then handles
6305
6306
  // every possible combination (2^3 or 8 cases) with a lookup table.
6306
6307
  const key = [!!stage, !!commit, !!workdir].map(Number).join('');
@@ -6781,7 +6782,7 @@ of the line, the pkt-len, indicates the total length of the line,
6781
6782
  in hexadecimal. The pkt-len includes the 4 bytes used to contain
6782
6783
  the length's hexadecimal representation.
6783
6784
 
6784
- A pkt-line MAY contain binary data, so implementors MUST ensure
6785
+ A pkt-line MAY contain binary data, so implementers MUST ensure
6785
6786
  pkt-line parsing/formatting routines are 8-bit clean.
6786
6787
 
6787
6788
  A non-binary line SHOULD BE terminated by an LF, which if present
@@ -6961,7 +6962,7 @@ function splitAndAssert(line, sep, expected) {
6961
6962
  return split
6962
6963
  }
6963
6964
 
6964
- // Try to accomodate known CORS proxy implementations:
6965
+ // Try to accommodate known CORS proxy implementations:
6965
6966
  // - https://jcubic.pl/proxy.php? <-- uses query string
6966
6967
  // - https://cors.isomorphic-git.org <-- uses path
6967
6968
  const corsProxify = (corsProxy, url) =>
@@ -7333,8 +7334,8 @@ function filterCapabilities(server, client) {
7333
7334
 
7334
7335
  const pkg = {
7335
7336
  name: 'isomorphic-git',
7336
- version: '1.25.3',
7337
- agent: 'git/isomorphic-git@1.25.3',
7337
+ version: '1.25.5',
7338
+ agent: 'git/isomorphic-git@1.25.5',
7338
7339
  };
7339
7340
 
7340
7341
  class FIFO {
@@ -10925,12 +10926,12 @@ async function writeListRefsRequest({ prefix, symrefs, peelTags }) {
10925
10926
  * Hard numbers vary by situation, but here's some numbers from my machine:
10926
10927
  *
10927
10928
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://github.com/isomorphic-git/isomorphic-git
10928
- * - Protocol Version 1 took ~300ms and transfered 84 KB.
10929
- * - Protocol Version 2 took ~500ms and transfered 4.1 KB.
10929
+ * - Protocol Version 1 took ~300ms and transferred 84 KB.
10930
+ * - Protocol Version 2 took ~500ms and transferred 4.1 KB.
10930
10931
  *
10931
10932
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://gitlab.com/gitlab-org/gitlab
10932
- * - Protocol Version 1 took ~4900ms and transfered 9.41 MB.
10933
- * - Protocol Version 2 took ~1280ms and transfered 433 KB.
10933
+ * - Protocol Version 1 took ~4900ms and transferred 9.41 MB.
10934
+ * - Protocol Version 2 took ~1280ms and transferred 433 KB.
10934
10935
  *
10935
10936
  * Finally, there is a fun quirk regarding the `symrefs` parameter.
10936
10937
  * Protocol Version 1 will generally only return the `HEAD` symref and not others.
package/index.d.ts CHANGED
@@ -920,7 +920,7 @@ export function addRemote({ fs, dir, gitdir, remote, url, force, }: {
920
920
  * @param {string} [args.tagger.email] - Default is `user.email` config.
921
921
  * @param {number} [args.tagger.timestamp=Math.floor(Date.now()/1000)] - Set the tagger timestamp field. This is the integer number of seconds since the Unix epoch (1970-01-01 00:00:00).
922
922
  * @param {number} [args.tagger.timezoneOffset] - Set the tagger timezone offset field. This is the difference, in minutes, from the current timezone to UTC. Default is `(new Date()).getTimezoneOffset()`.
923
- * @param {string} [args.gpgsig] - The gpgsig attatched to the tag object. (Mutually exclusive with the `signingKey` option.)
923
+ * @param {string} [args.gpgsig] - The gpgsig attached to the tag object. (Mutually exclusive with the `signingKey` option.)
924
924
  * @param {string} [args.signingKey] - Sign the tag object using this private PGP key. (Mutually exclusive with the `gpgsig` option.)
925
925
  * @param {boolean} [args.force = false] - Instead of throwing an error if a tag named `ref` already exists, overwrite the existing tag. Note that this option does not modify the original tag object itself.
926
926
  * @param {object} [args.cache] - a [cache](cache.md) object
@@ -1974,12 +1974,12 @@ export function listRemotes({ fs, dir, gitdir }: {
1974
1974
  * Hard numbers vary by situation, but here's some numbers from my machine:
1975
1975
  *
1976
1976
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://github.com/isomorphic-git/isomorphic-git
1977
- * - Protocol Version 1 took ~300ms and transfered 84 KB.
1978
- * - Protocol Version 2 took ~500ms and transfered 4.1 KB.
1977
+ * - Protocol Version 1 took ~300ms and transferred 84 KB.
1978
+ * - Protocol Version 2 took ~500ms and transferred 4.1 KB.
1979
1979
  *
1980
1980
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://gitlab.com/gitlab-org/gitlab
1981
- * - Protocol Version 1 took ~4900ms and transfered 9.41 MB.
1982
- * - Protocol Version 2 took ~1280ms and transfered 433 KB.
1981
+ * - Protocol Version 1 took ~4900ms and transferred 9.41 MB.
1982
+ * - Protocol Version 2 took ~1280ms and transferred 433 KB.
1983
1983
  *
1984
1984
  * Finally, there is a fun quirk regarding the `symrefs` parameter.
1985
1985
  * Protocol Version 1 will generally only return the `HEAD` symref and not others.
package/index.js CHANGED
@@ -1512,7 +1512,7 @@ const schema = {
1512
1512
  // section starts with [ and ends with ]
1513
1513
  // section is alphanumeric (ASCII) with - and .
1514
1514
  // section is case insensitive
1515
- // subsection is optionnal
1515
+ // subsection is optional
1516
1516
  // subsection is specified after section and one or more spaces
1517
1517
  // subsection is specified between double quotes
1518
1518
  const SECTION_LINE_REGEX = /^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/;
@@ -3496,7 +3496,7 @@ class IndexResetError extends BaseError {
3496
3496
  */
3497
3497
  constructor(filepath) {
3498
3498
  super(
3499
- `Could not merge index: Entry for '${filepath}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged chages.`
3499
+ `Could not merge index: Entry for '${filepath}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`
3500
3500
  );
3501
3501
  this.code = this.name = IndexResetError.code;
3502
3502
  this.data = { filepath };
@@ -4495,7 +4495,7 @@ class FileSystem {
4495
4495
 
4496
4496
  /**
4497
4497
  * Return true if a file exists, false if it doesn't exist.
4498
- * Rethrows errors that aren't related to file existance.
4498
+ * Rethrows errors that aren't related to file existence.
4499
4499
  */
4500
4500
  async exists(filepath, options = {}) {
4501
4501
  try {
@@ -4639,7 +4639,7 @@ class FileSystem {
4639
4639
 
4640
4640
  /**
4641
4641
  * Return the Stats of a file/symlink if it exists, otherwise returns null.
4642
- * Rethrows errors that aren't related to file existance.
4642
+ * Rethrows errors that aren't related to file existence.
4643
4643
  */
4644
4644
  async lstat(filename) {
4645
4645
  try {
@@ -4655,7 +4655,7 @@ class FileSystem {
4655
4655
 
4656
4656
  /**
4657
4657
  * Reads the contents of a symlink if it exists, otherwise returns null.
4658
- * Rethrows errors that aren't related to file existance.
4658
+ * Rethrows errors that aren't related to file existence.
4659
4659
  */
4660
4660
  async readlink(filename, opts = { encoding: 'buffer' }) {
4661
4661
  // Note: FileSystem.readlink returns a buffer by default
@@ -4815,7 +4815,7 @@ async function abortMerge({
4815
4815
  }
4816
4816
 
4817
4817
  // I'm putting this in a Manager because I reckon it could benefit
4818
- // from a LOT of cacheing.
4818
+ // from a LOT of caching.
4819
4819
  class GitIgnoreManager {
4820
4820
  static async isIgnored({ fs, dir, gitdir = join(dir, '.git'), filepath }) {
4821
4821
  // ALWAYS ignore ".git" folders.
@@ -4907,8 +4907,9 @@ function testCompressionStream() {
4907
4907
  try {
4908
4908
  const cs = new CompressionStream('deflate');
4909
4909
  // Test if `Blob.stream` is present. React Native does not have the `stream` method
4910
- new Blob([]).stream();
4911
- if (cs) return true
4910
+ const stream = new Blob([]).stream();
4911
+ stream.cancel();
4912
+ return !!cs
4912
4913
  } catch (_) {
4913
4914
  // no bother
4914
4915
  }
@@ -5799,7 +5800,7 @@ async function _annotatedTag({
5799
5800
  * @param {string} [args.tagger.email] - Default is `user.email` config.
5800
5801
  * @param {number} [args.tagger.timestamp=Math.floor(Date.now()/1000)] - Set the tagger timestamp field. This is the integer number of seconds since the Unix epoch (1970-01-01 00:00:00).
5801
5802
  * @param {number} [args.tagger.timezoneOffset] - Set the tagger timezone offset field. This is the difference, in minutes, from the current timezone to UTC. Default is `(new Date()).getTimezoneOffset()`.
5802
- * @param {string} [args.gpgsig] - The gpgsig attatched to the tag object. (Mutually exclusive with the `signingKey` option.)
5803
+ * @param {string} [args.gpgsig] - The gpgsig attached to the tag object. (Mutually exclusive with the `signingKey` option.)
5803
5804
  * @param {string} [args.signingKey] - Sign the tag object using this private PGP key. (Mutually exclusive with the `gpgsig` option.)
5804
5805
  * @param {boolean} [args.force = false] - Instead of throwing an error if a tag named `ref` already exists, overwrite the existing tag. Note that this option does not modify the original tag object itself.
5805
5806
  * @param {object} [args.cache] - a [cache](cache.md) object
@@ -6294,7 +6295,7 @@ async function analyze({
6294
6295
 
6295
6296
  // This is a kind of silly pattern but it worked so well for me in the past
6296
6297
  // and it makes intuitively demonstrating exhaustiveness so *easy*.
6297
- // This checks for the presense and/or absence of each of the 3 entries,
6298
+ // This checks for the presence and/or absence of each of the 3 entries,
6298
6299
  // converts that to a 3-bit binary representation, and then handles
6299
6300
  // every possible combination (2^3 or 8 cases) with a lookup table.
6300
6301
  const key = [!!stage, !!commit, !!workdir].map(Number).join('');
@@ -6775,7 +6776,7 @@ of the line, the pkt-len, indicates the total length of the line,
6775
6776
  in hexadecimal. The pkt-len includes the 4 bytes used to contain
6776
6777
  the length's hexadecimal representation.
6777
6778
 
6778
- A pkt-line MAY contain binary data, so implementors MUST ensure
6779
+ A pkt-line MAY contain binary data, so implementers MUST ensure
6779
6780
  pkt-line parsing/formatting routines are 8-bit clean.
6780
6781
 
6781
6782
  A non-binary line SHOULD BE terminated by an LF, which if present
@@ -6955,7 +6956,7 @@ function splitAndAssert(line, sep, expected) {
6955
6956
  return split
6956
6957
  }
6957
6958
 
6958
- // Try to accomodate known CORS proxy implementations:
6959
+ // Try to accommodate known CORS proxy implementations:
6959
6960
  // - https://jcubic.pl/proxy.php? <-- uses query string
6960
6961
  // - https://cors.isomorphic-git.org <-- uses path
6961
6962
  const corsProxify = (corsProxy, url) =>
@@ -7327,8 +7328,8 @@ function filterCapabilities(server, client) {
7327
7328
 
7328
7329
  const pkg = {
7329
7330
  name: 'isomorphic-git',
7330
- version: '1.25.3',
7331
- agent: 'git/isomorphic-git@1.25.3',
7331
+ version: '1.25.5',
7332
+ agent: 'git/isomorphic-git@1.25.5',
7332
7333
  };
7333
7334
 
7334
7335
  class FIFO {
@@ -10919,12 +10920,12 @@ async function writeListRefsRequest({ prefix, symrefs, peelTags }) {
10919
10920
  * Hard numbers vary by situation, but here's some numbers from my machine:
10920
10921
  *
10921
10922
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://github.com/isomorphic-git/isomorphic-git
10922
- * - Protocol Version 1 took ~300ms and transfered 84 KB.
10923
- * - Protocol Version 2 took ~500ms and transfered 4.1 KB.
10923
+ * - Protocol Version 1 took ~300ms and transferred 84 KB.
10924
+ * - Protocol Version 2 took ~500ms and transferred 4.1 KB.
10924
10925
  *
10925
10926
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://gitlab.com/gitlab-org/gitlab
10926
- * - Protocol Version 1 took ~4900ms and transfered 9.41 MB.
10927
- * - Protocol Version 2 took ~1280ms and transfered 433 KB.
10927
+ * - Protocol Version 1 took ~4900ms and transferred 9.41 MB.
10928
+ * - Protocol Version 2 took ~1280ms and transferred 433 KB.
10928
10929
  *
10929
10930
  * Finally, there is a fun quirk regarding the `symrefs` parameter.
10930
10931
  * Protocol Version 1 will generally only return the `HEAD` symref and not others.
@@ -920,7 +920,7 @@ export function addRemote({ fs, dir, gitdir, remote, url, force, }: {
920
920
  * @param {string} [args.tagger.email] - Default is `user.email` config.
921
921
  * @param {number} [args.tagger.timestamp=Math.floor(Date.now()/1000)] - Set the tagger timestamp field. This is the integer number of seconds since the Unix epoch (1970-01-01 00:00:00).
922
922
  * @param {number} [args.tagger.timezoneOffset] - Set the tagger timezone offset field. This is the difference, in minutes, from the current timezone to UTC. Default is `(new Date()).getTimezoneOffset()`.
923
- * @param {string} [args.gpgsig] - The gpgsig attatched to the tag object. (Mutually exclusive with the `signingKey` option.)
923
+ * @param {string} [args.gpgsig] - The gpgsig attached to the tag object. (Mutually exclusive with the `signingKey` option.)
924
924
  * @param {string} [args.signingKey] - Sign the tag object using this private PGP key. (Mutually exclusive with the `gpgsig` option.)
925
925
  * @param {boolean} [args.force = false] - Instead of throwing an error if a tag named `ref` already exists, overwrite the existing tag. Note that this option does not modify the original tag object itself.
926
926
  * @param {object} [args.cache] - a [cache](cache.md) object
@@ -1974,12 +1974,12 @@ export function listRemotes({ fs, dir, gitdir }: {
1974
1974
  * Hard numbers vary by situation, but here's some numbers from my machine:
1975
1975
  *
1976
1976
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://github.com/isomorphic-git/isomorphic-git
1977
- * - Protocol Version 1 took ~300ms and transfered 84 KB.
1978
- * - Protocol Version 2 took ~500ms and transfered 4.1 KB.
1977
+ * - Protocol Version 1 took ~300ms and transferred 84 KB.
1978
+ * - Protocol Version 2 took ~500ms and transferred 4.1 KB.
1979
1979
  *
1980
1980
  * Using isomorphic-git in a browser, with a CORS proxy, listing only the branches (refs/heads) of https://gitlab.com/gitlab-org/gitlab
1981
- * - Protocol Version 1 took ~4900ms and transfered 9.41 MB.
1982
- * - Protocol Version 2 took ~1280ms and transfered 433 KB.
1981
+ * - Protocol Version 1 took ~4900ms and transferred 9.41 MB.
1982
+ * - Protocol Version 2 took ~1280ms and transferred 433 KB.
1983
1983
  *
1984
1984
  * Finally, there is a fun quirk regarding the `symrefs` parameter.
1985
1985
  * Protocol Version 1 will generally only return the `HEAD` symref and not others.