Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package asar for openSUSE:Factory checked in at 2023-09-21 22:13:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/asar (Old) and /work/SRC/openSUSE:Factory/.asar.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "asar" Thu Sep 21 22:13:37 2023 rev:4 rq:1112369 version:3.2.5 Changes: -------- --- /work/SRC/openSUSE:Factory/asar/asar.changes 2023-01-18 13:11:51.173091075 +0100 +++ /work/SRC/openSUSE:Factory/.asar.new.1770/asar.changes 2023-09-21 22:14:26.682130787 +0200 @@ -1,0 +2,6 @@ +Tue Sep 19 17:12:27 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com> + +- New upstream version 3.2.5 + * properly handle rejections on `createPackageWithOptions` + +------------------------------------------------------------------- Old: ---- v3.2.3.tar.gz vendor.tar.xz New: ---- v3.2.5.tar.gz vendor.tar.zst ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ asar.spec ++++++ --- /var/tmp/diff_new_pack.DCZ1Ex/_old 2023-09-21 22:14:27.990178261 +0200 +++ /var/tmp/diff_new_pack.DCZ1Ex/_new 2023-09-21 22:14:27.994178406 +0200 @@ -17,7 +17,7 @@ Name: asar -Version: 3.2.3 +Version: 3.2.5 Release: 0 Summary: Creating atom-shell (electron) app packages License: MIT and ISC @@ -25,7 +25,7 @@ Url: https://github.com/electron/asar Source0: https://github.com/electron/asar/archive/refs/tags/v%{version}.tar.gz # Created by prepare-vendor.sh -Source1: vendor.tar.xz +Source1: vendor.tar.zst Source2: prepare_vendor.sh BuildArch: noarch @@ -33,7 +33,12 @@ BuildRequires: fdupes BuildRequires: jq BuildRequires: nodejs-packaging +%if 0%{?fedora} >= 37 +BuildRequires: nodejs-npm +%else BuildRequires: npm +%endif +BuildRequires: zstd %global __requires_exclude ^npm(.*)$ Provides: nodejs-asar = %{version} @@ -91,6 +96,6 @@ %defattr(-,root,root) %doc CHANGELOG.md README.md %license LICENSE.md -/usr/bin/asar +%{_bindir}/asar %{nodejs_sitelib} ++++++ prepare_vendor.sh ++++++ --- /var/tmp/diff_new_pack.DCZ1Ex/_old 2023-09-21 22:14:28.026179567 +0200 +++ /var/tmp/diff_new_pack.DCZ1Ex/_new 2023-09-21 22:14:28.026179567 +0200 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x # shellcheck disable=2181 ASAR_PKGDIR="$(pwd)" @@ -41,7 +41,7 @@ echo ">>>>>> Install npm modules" -yarn install --pure-lockfile --ignore-engines --ignore-scripts --production +yarn install --pure-lockfile --ignore-engines --ignore-scripts --production --link-duplicates ret=$? if [ $ret -ne 0 ]; then echo "ERROR: yarn install failed" @@ -53,6 +53,7 @@ find node_modules/ -name "*.wasm" -print -delete find node_modules/ -name "*.jar" -print -delete find node_modules/ -name "*.dll" -print -delete +find node_modules/ -name "*.exe" -print -delete find node_modules/ -name "*.dylib" -print -delete find node_modules/ -name "*.so" -print -delete find node_modules/ -name "*.o" -print -delete @@ -68,12 +69,12 @@ echo ">>>>>> Package vendor files" -rm -f "${ASAR_PKGDIR}/vendor.tar.xz" -XZ_OPT="-T$(nproc) -e9 -vv" tar -vvJcf "${ASAR_PKGDIR}/vendor.tar.xz" node_modules +rm -f "${SIGNAL_PKGDIR}/vendor.tar.zst" +ZSTD_CLEVEL=19 ZSTD_NBTHREADS=$(nproc) tar --zstd --sort=name -vvScf "${ASAR_PKGDIR}/vendor.tar.zst" node_modules if [ $? -ne 0 ]; then cleanup_and_exit 1 fi -echo "vendor $(du -sh "${ASAR_PKGDIR}/vendor.tar.xz")" +echo "vendor $(du -sh "${ASAR_PKGDIR}/vendor.tar.zst")" popd || cleanup_and_exit 1 ++++++ v3.2.3.tar.gz -> v3.2.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/.circleci/config.yml new/asar-3.2.5/.circleci/config.yml --- old/asar-3.2.3/.circleci/config.yml 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/.circleci/config.yml 2023-09-19 02:25:17.000000000 +0200 @@ -1,64 +1,41 @@ -step-restore-cache: &step-restore-cache - restore_cache: - keys: - - v1-dependencies-{{ arch }}-{{ checksum "yarn.lock" }} - - v1-dependencies-{{ arch }} - -steps-test: &steps-test - steps: - - run: - name: Install Linux Dependencies - command: | - if [ "`uname`" == "Linux" ]; then - sudo apt-get update && sudo apt-get install --no-install-recommends -y libasound2 libgtk-3-0 libnss3 libxss1 libxtst6 xvfb libgbm-dev - fi - - checkout - - *step-restore-cache - - run: yarn install - - save_cache: - paths: - - node_modules - key: v1-dependencies-{{ arch }}-{{ checksum "yarn.lock" }} - - run: yarn test - - version: 2.1 + orbs: cfa: continuousauth/npm@1.0.2 - win: circleci/windows@2.4.0 -jobs: - test-linux-14: - docker: - - image: cimg/node:14.19.3 - <<: *steps-test - test-linux-16: - docker: - - image: cimg/node:16.15.0 - <<: *steps-test - test-mac: - macos: - xcode: "13.3.0" - <<: *steps-test - test-windows: - executor: - name: win/default - shell: bash.exe - <<: *steps-test + node: electronjs/node@1.4.1 workflows: test_and_release: # Run the test jobs first, then the release only when all the test jobs are successful jobs: - - test-linux-14 - - test-linux-16 - - test-mac - - test-windows + - node/test: + name: test-<< matrix.executor >>-<< matrix.node-version >> + pre-steps: + - when: + condition: + equal: [ node/linux, << matrix.executor >> ] + steps: + - run: + name: Install Linux Dependencies + command: | + sudo apt-get update && sudo apt-get install --no-install-recommends -y libasound2 libgtk-3-0 libnss3 libxss1 libxtst6 xvfb libgbm-dev + matrix: + alias: test + parameters: + executor: + - node/linux + - node/macos + - node/windows + node-version: + # Don't bump above 20.2.0 until CircleCI updates + # their Windows image to pick up newer nvm-windows + - 20.2.0 + - 18.17.0 + - 16.20.1 + - 14.21.3 - cfa/release: requires: - - test-linux-14 - - test-linux-16 - - test-mac - - test-windows + - test filters: branches: only: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/.github/workflows/semantic.yml new/asar-3.2.5/.github/workflows/semantic.yml --- old/asar-3.2.3/.github/workflows/semantic.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/asar-3.2.5/.github/workflows/semantic.yml 2023-09-19 02:25:17.000000000 +0200 @@ -0,0 +1,26 @@ +name: "Check Semantic Commit" + +on: + pull_request: + types: + - opened + - edited + - synchronize + +permissions: + contents: read + +jobs: + main: + permissions: + pull-requests: read # for amannn/action-semantic-pull-request to analyze PRs + statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR + name: Validate PR Title + runs-on: ubuntu-latest + steps: + - name: semantic-pull-request + uses: amannn/action-semantic-pull-request@c3cd5d1ea3580753008872425915e343e351ab54 # v5.2.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + validateSingleCommit: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/.npmignore new/asar-3.2.5/.npmignore --- old/asar-3.2.3/.npmignore 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/.npmignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -/build -/spec -/tmp -*.coffee -*.log -*~ -*.swp -.DS_Store -.node-version -.npmignore -npm-debug.log -/test -.gitattributes -appveyor.yml -.travis.yml -coffeelint.json -.idea diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/README.md new/asar-3.2.5/README.md --- old/asar-3.2.3/README.md 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/README.md 2023-09-19 02:25:17.000000000 +0200 @@ -122,8 +122,7 @@ ## Format -Asar uses [Pickle][pickle] to safely serialize binary value to file, there is -also a [node.js binding][node-pickle] of `Pickle` class. +Asar uses [Pickle][pickle] to safely serialize binary value to file. The format of asar is very flat: @@ -211,5 +210,4 @@ * A integer value `blockSize` representing the size in bytes of each block in the `blocks` hashes above [pickle]: https://chromium.googlesource.com/chromium/src/+/main/base/pickle.h -[node-pickle]: https://www.npmjs.org/package/chromium-pickle-js [grunt-asar]: https://github.com/bwin/grunt-asar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/bin/asar.js new/asar-3.2.5/bin/asar.js --- old/asar-3.2.3/bin/asar.js 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/bin/asar.js 2023-09-19 02:25:17.000000000 +0200 @@ -35,11 +35,9 @@ builddir: options.sb, dot: !options.excludeHidden } - asar.createPackageWithOptions(dir, output, options, function (error) { - if (error) { - console.error(error.stack) - process.exit(1) - } + asar.createPackageWithOptions(dir, output, options).catch(error => { + console.error(error) + process.exit(1) }) }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/lib/disk.js new/asar-3.2.5/lib/disk.js --- old/asar-3.2.3/lib/disk.js 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/lib/disk.js 2023-09-19 02:25:17.000000000 +0200 @@ -2,7 +2,7 @@ const fs = require('./wrapped-fs') const path = require('path') -const pickle = require('chromium-pickle-js') +const pickle = require('./pickle') const Filesystem = require('./filesystem') let filesystemCache = {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/lib/index.d.ts new/asar-3.2.5/lib/index.d.ts --- old/asar-3.2.3/lib/index.d.ts 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/lib/index.d.ts 2023-09-19 02:25:17.000000000 +0200 @@ -1,9 +1,169 @@ -import { IOptions as GlobOptions } from 'glob'; -import { Stats } from 'fs'; +import { Stats } from "fs"; + +interface IMinimatchOptions { + /** + * Dump a ton of stuff to stderr. + * + * @default false + */ + debug?: boolean | undefined; + + /** + * Do not expand `{a,b}` and `{1..3}` brace sets. + * + * @default false + */ + nobrace?: boolean | undefined; + + /** + * Disable `**` matching against multiple folder names. + * + * @default false + */ + noglobstar?: boolean | undefined; + + /** + * Allow patterns to match filenames starting with a period, + * even if the pattern does not explicitly have a period in that spot. + * + * Note that by default, `'a/**' + '/b'` will **not** match `a/.d/b`, unless `dot` is set. + * + * @default false + */ + dot?: boolean | undefined; + + /** + * Disable "extglob" style patterns like `+(a|b)`. + * + * @default false + */ + noext?: boolean | undefined; + + /** + * Perform a case-insensitive match. + * + * @default false + */ + nocase?: boolean | undefined; + + /** + * When a match is not found by `minimatch.match`, + * return a list containing the pattern itself if this option is set. + * Otherwise, an empty list is returned if there are no matches. + * + * @default false + */ + nonull?: boolean | undefined; + + /** + * If set, then patterns without slashes will be matched + * against the basename of the path if it contains slashes. For example, + * `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. + * + * @default false + */ + matchBase?: boolean | undefined; + + /** + * Suppress the behavior of treating `#` at the start of a pattern as a comment. + * + * @default false + */ + nocomment?: boolean | undefined; + + /** + * Suppress the behavior of treating a leading `!` character as negation. + * + * @default false + */ + nonegate?: boolean | undefined; + + /** + * Returns from negate expressions the same as if they were not negated. + * (Ie, true on a hit, false on a miss.) + * + * @default false + */ + flipNegate?: boolean | undefined; + + /** + * Compare a partial path to a pattern. As long as the parts of the path that + * are present are not contradicted by the pattern, it will be treated as a + * match. This is useful in applications where you're walking through a + * folder structure, and don't yet have the full path, but want to ensure that + * you do not walk down paths that can never be a match. + * + * @default false + * + * @example + * import minimatch = require("minimatch"); + * + * minimatch('/a/b', '/a/*' + '/c/d', { partial: true }) // true, might be /a/b/c/d + * minimatch('/a/b', '/**' + '/d', { partial: true }) // true, might be /a/b/.../d + * minimatch('/x/y/z', '/a/**' + '/z', { partial: true }) // false, because x !== a + */ + partial?: boolean; + + /** + * Use `\\` as a path separator _only_, and _never_ as an escape + * character. If set, all `\\` characters are replaced with `/` in + * the pattern. Note that this makes it **impossible** to match + * against paths containing literal glob pattern characters, but + * allows matching with patterns constructed using `path.join()` and + * `path.resolve()` on Windows platforms, mimicking the (buggy!) + * behavior of earlier versions on Windows. Please use with + * caution, and be mindful of the caveat about Windows paths + * + * For legacy reasons, this is also set if + * `options.allowWindowsEscape` is set to the exact value `false`. + * + * @default false + */ + windowsPathsNoEscape?: boolean; +} + +import fs = require("fs"); +interface IGlobOptions extends IMinimatchOptions { + cwd?: string | undefined; + root?: string | undefined; + dot?: boolean | undefined; + nomount?: boolean | undefined; + mark?: boolean | undefined; + nosort?: boolean | undefined; + stat?: boolean | undefined; + silent?: boolean | undefined; + strict?: boolean | undefined; + cache?: + | { [path: string]: boolean | "DIR" | "FILE" | ReadonlyArray<string> } + | undefined; + statCache?: + | { [path: string]: false | { isDirectory(): boolean } | undefined } + | undefined; + symlinks?: { [path: string]: boolean | undefined } | undefined; + realpathCache?: { [path: string]: string } | undefined; + sync?: boolean | undefined; + nounique?: boolean | undefined; + nonull?: boolean | undefined; + debug?: boolean | undefined; + nobrace?: boolean | undefined; + noglobstar?: boolean | undefined; + noext?: boolean | undefined; + nocase?: boolean | undefined; + matchBase?: any; + nodir?: boolean | undefined; + ignore?: string | ReadonlyArray<string> | undefined; + follow?: boolean | undefined; + realpath?: boolean | undefined; + nonegate?: boolean | undefined; + nocomment?: boolean | undefined; + absolute?: boolean | undefined; + allowWindowsEscape?: boolean | undefined; + fs?: typeof fs; +} export type CreateOptions = { dot?: boolean; - globOptions?: GlobOptions; + globOptions?: IGlobOptions; ordering?: string; pattern?: string; transform?: (filePath: string) => NodeJS.ReadWriteStream | void; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/lib/pickle.js new/asar-3.2.5/lib/pickle.js --- old/asar-3.2.3/lib/pickle.js 1970-01-01 01:00:00.000000000 +0100 +++ new/asar-3.2.5/lib/pickle.js 2023-09-19 02:25:17.000000000 +0200 @@ -0,0 +1,230 @@ +// sizeof(T). +const SIZE_INT32 = 4 +const SIZE_UINT32 = 4 +const SIZE_INT64 = 8 +const SIZE_UINT64 = 8 +const SIZE_FLOAT = 4 +const SIZE_DOUBLE = 8 + +// The allocation granularity of the payload. +const PAYLOAD_UNIT = 64 + +// Largest JS number. +const CAPACITY_READ_ONLY = 9007199254740992 + +// Aligns 'i' by rounding it up to the next multiple of 'alignment'. +const alignInt = function (i, alignment) { + return i + (alignment - (i % alignment)) % alignment +} + +// PickleIterator reads data from a Pickle. The Pickle object must remain valid +// while the PickleIterator object is in use. +const PickleIterator = (function () { + function PickleIterator (pickle) { + this.payload = pickle.header + this.payloadOffset = pickle.headerSize + this.readIndex = 0 + this.endIndex = pickle.getPayloadSize() + } + + PickleIterator.prototype.readBool = function () { + return this.readInt() !== 0 + } + + PickleIterator.prototype.readInt = function () { + return this.readBytes(SIZE_INT32, Buffer.prototype.readInt32LE) + } + + PickleIterator.prototype.readUInt32 = function () { + return this.readBytes(SIZE_UINT32, Buffer.prototype.readUInt32LE) + } + + PickleIterator.prototype.readInt64 = function () { + return this.readBytes(SIZE_INT64, Buffer.prototype.readInt64LE) + } + + PickleIterator.prototype.readUInt64 = function () { + return this.readBytes(SIZE_UINT64, Buffer.prototype.readUInt64LE) + } + + PickleIterator.prototype.readFloat = function () { + return this.readBytes(SIZE_FLOAT, Buffer.prototype.readFloatLE) + } + + PickleIterator.prototype.readDouble = function () { + return this.readBytes(SIZE_DOUBLE, Buffer.prototype.readDoubleLE) + } + + PickleIterator.prototype.readString = function () { + return this.readBytes(this.readInt()).toString() + } + + PickleIterator.prototype.readBytes = function (length, method) { + const readPayloadOffset = this.getReadPayloadOffsetAndAdvance(length) + if (method != null) { + return method.call(this.payload, readPayloadOffset, length) + } else { + return this.payload.slice(readPayloadOffset, readPayloadOffset + length) + } + } + + PickleIterator.prototype.getReadPayloadOffsetAndAdvance = function (length) { + if (length > this.endIndex - this.readIndex) { + this.readIndex = this.endIndex + throw new Error('Failed to read data with length of ' + length) + } + const readPayloadOffset = this.payloadOffset + this.readIndex + this.advance(length) + return readPayloadOffset + } + + PickleIterator.prototype.advance = function (size) { + const alignedSize = alignInt(size, SIZE_UINT32) + if (this.endIndex - this.readIndex < alignedSize) { + this.readIndex = this.endIndex + } else { + this.readIndex += alignedSize + } + } + + return PickleIterator +})() + +// This class provides facilities for basic binary value packing and unpacking. +// +// The Pickle class supports appending primitive values (ints, strings, etc.) +// to a pickle instance. The Pickle instance grows its internal memory buffer +// dynamically to hold the sequence of primitive values. The internal memory +// buffer is exposed as the "data" of the Pickle. This "data" can be passed +// to a Pickle object to initialize it for reading. +// +// When reading from a Pickle object, it is important for the consumer to know +// what value types to read and in what order to read them as the Pickle does +// not keep track of the type of data written to it. +// +// The Pickle's data has a header which contains the size of the Pickle's +// payload. It can optionally support additional space in the header. That +// space is controlled by the header_size parameter passed to the Pickle +// constructor. +const Pickle = (function () { + function Pickle (buffer) { + if (buffer) { + this.initFromBuffer(buffer) + } else { + this.initEmpty() + } + } + + Pickle.prototype.initEmpty = function () { + this.header = Buffer.alloc(0) + this.headerSize = SIZE_UINT32 + this.capacityAfterHeader = 0 + this.writeOffset = 0 + this.resize(PAYLOAD_UNIT) + this.setPayloadSize(0) + } + + Pickle.prototype.initFromBuffer = function (buffer) { + this.header = buffer + this.headerSize = buffer.length - this.getPayloadSize() + this.capacityAfterHeader = CAPACITY_READ_ONLY + this.writeOffset = 0 + if (this.headerSize > buffer.length) { + this.headerSize = 0 + } + if (this.headerSize !== alignInt(this.headerSize, SIZE_UINT32)) { + this.headerSize = 0 + } + if (this.headerSize === 0) { + this.header = Buffer.alloc(0) + } + } + + Pickle.prototype.createIterator = function () { + return new PickleIterator(this) + } + + Pickle.prototype.toBuffer = function () { + return this.header.slice(0, this.headerSize + this.getPayloadSize()) + } + + Pickle.prototype.writeBool = function (value) { + return this.writeInt(value ? 1 : 0) + } + + Pickle.prototype.writeInt = function (value) { + return this.writeBytes(value, SIZE_INT32, Buffer.prototype.writeInt32LE) + } + + Pickle.prototype.writeUInt32 = function (value) { + return this.writeBytes(value, SIZE_UINT32, Buffer.prototype.writeUInt32LE) + } + + Pickle.prototype.writeInt64 = function (value) { + return this.writeBytes(value, SIZE_INT64, Buffer.prototype.writeInt64LE) + } + + Pickle.prototype.writeUInt64 = function (value) { + return this.writeBytes(value, SIZE_UINT64, Buffer.prototype.writeUInt64LE) + } + + Pickle.prototype.writeFloat = function (value) { + return this.writeBytes(value, SIZE_FLOAT, Buffer.prototype.writeFloatLE) + } + + Pickle.prototype.writeDouble = function (value) { + return this.writeBytes(value, SIZE_DOUBLE, Buffer.prototype.writeDoubleLE) + } + + Pickle.prototype.writeString = function (value) { + const length = Buffer.byteLength(value, 'utf8') + if (!this.writeInt(length)) { + return false + } + return this.writeBytes(value, length) + } + + Pickle.prototype.setPayloadSize = function (payloadSize) { + return this.header.writeUInt32LE(payloadSize, 0) + } + + Pickle.prototype.getPayloadSize = function () { + return this.header.readUInt32LE(0) + } + + Pickle.prototype.writeBytes = function (data, length, method) { + const dataLength = alignInt(length, SIZE_UINT32) + const newSize = this.writeOffset + dataLength + if (newSize > this.capacityAfterHeader) { + this.resize(Math.max(this.capacityAfterHeader * 2, newSize)) + } + if (method != null) { + method.call(this.header, data, this.headerSize + this.writeOffset) + } else { + this.header.write(data, this.headerSize + this.writeOffset, length) + } + const endOffset = this.headerSize + this.writeOffset + length + this.header.fill(0, endOffset, endOffset + dataLength - length) + this.setPayloadSize(newSize) + this.writeOffset = newSize + return true + } + + Pickle.prototype.resize = function (newCapacity) { + newCapacity = alignInt(newCapacity, PAYLOAD_UNIT) + this.header = Buffer.concat([this.header, Buffer.alloc(newCapacity)]) + this.capacityAfterHeader = newCapacity + } + + return Pickle +})() + +module.exports = { + createEmpty: function () { + return new Pickle() + }, + + createFromBuffer: function (buffer) { + return new Pickle(buffer) + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/package.json new/asar-3.2.5/package.json --- old/asar-3.2.3/package.json 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/package.json 2023-09-19 02:25:17.000000000 +0200 @@ -43,14 +43,10 @@ "directory": "test" }, "dependencies": { - "chromium-pickle-js": "^0.2.0", "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" }, - "optionalDependencies": { - "@types/glob": "^7.1.1" - }, "devDependencies": { "@continuous-auth/semantic-release-npm": "^3.0.0", "electron": "^22.0.0", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/test/pickle-spec.js new/asar-3.2.5/test/pickle-spec.js --- old/asar-3.2.3/test/pickle-spec.js 1970-01-01 01:00:00.000000000 +0100 +++ new/asar-3.2.5/test/pickle-spec.js 2023-09-19 02:25:17.000000000 +0200 @@ -0,0 +1,12 @@ +const assert = require('assert') +const Pickle = require('../lib/pickle') + +describe('Pickle', function () { + it('supports multi-byte characters', function () { + const write = Pickle.createEmpty() + write.writeString('女ã®å.txt') + + const read = Pickle.createFromBuffer(write.toBuffer()) + assert.strictEqual(read.createIterator().readString(), '女ã®å.txt') + }) +}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asar-3.2.3/yarn.lock new/asar-3.2.5/yarn.lock --- old/asar-3.2.3/yarn.lock 2023-01-17 21:09:00.000000000 +0100 +++ new/asar-3.2.5/yarn.lock 2023-09-19 02:25:17.000000000 +0200 @@ -323,14 +323,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - "@types/http-cache-semantics@*": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" @@ -348,11 +340,6 @@ dependencies: "@types/node" "*" -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -746,11 +733,6 @@ resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -chromium-pickle-js@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" - integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== - cidr-regex@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" @@ -1125,9 +1107,9 @@ is-electron-renderer "^2.0.0" electron@^22.0.0: - version "22.0.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-22.0.0.tgz#ef84ab9cf23aa3f8c2f42a1e8e000ad7fd941058" - integrity sha512-cgRc4wjyM+81A0E8UGv1HNJjL1HBI5cWNh/DUIjzYvoUuiEM0SS0hAH/zaFQ18xOz2ced6Yih8SybpOiOYJhdg== + version "22.3.24" + resolved "https://registry.yarnpkg.com/electron/-/electron-22.3.24.tgz#14479cf11cf4709f78d324015429fa82492c2150" + integrity sha512-wnGsShoRVk1Jmgr7h/jZK9bI5UwMF88sdQ5c8z2j2N8B9elhF/jKDFjwDXUrY1Y0xzAskOP0tYIDE+UbUM4byQ== dependencies: "@electron/get" "^2.0.0" "@types/node" "^16.11.26" @@ -1910,9 +1892,9 @@ lru-cache "^7.5.1" http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-proxy-agent@^5.0.0: version "5.0.0" @@ -3849,19 +3831,19 @@ integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== "semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@^6.1.0, semver@^6.1.2, semver@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" @@ -4410,9 +4392,9 @@ string-width "^1.0.2 || 2 || 3 || 4" word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== workerpool@6.2.0: version "6.2.0"