diff --git a/.github/workflows/Build and test.yml b/.github/workflows/Build and test.yml index f1349de1ae..8f2bede51b 100644 --- a/.github/workflows/Build and test.yml +++ b/.github/workflows/Build and test.yml @@ -105,6 +105,9 @@ jobs: with: node-version: ${{ matrix.node-version }} + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # master with: name: dist @@ -172,6 +175,10 @@ jobs: with: files: src/alasqlparser.jison + - name: Setup Bun + if: steps.detect-changes.outputs.any_changed == 'true' + uses: oven-sh/setup-bun@v2 + - name: Build from src # This step only runs if the jison file changed if: steps.detect-changes.outputs.any_changed == 'true' diff --git a/package.json b/package.json index 516d2ffb8d..81ad2b46f5 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,7 @@ "scripts": { "test": "sh build.sh && yarn test-only", "test-ci": "(yarn test-format-all || 1) && yarn test-only && yarn install-g && alasql 'select 1 as Succes'", - "test-only": "node node_modules/mocha/bin/mocha.js ./test --reporter dot --bail", - "#test-only": "(command -v bun && bun node_modules/.bin/mocha ./test --reporter dot) || npx bun node_modules/.bin/mocha ./test --reporter dot", + "test-only": "bun test --dots --preload ./test/bun-setup.js ./test/test[0-9]*.js ./test/test-*.js", "test-browser": "node test/browserTestRunner.js 7387", "test-cover": "# istanbul cover -x 'lib/zt/zt.js' --dir test/coverage _mocha", "build": "yarn format && yarn build-only", @@ -69,8 +68,6 @@ "git-branch-is": "4.0.0", "husky": "9.1.7", "jison": "^0.4.18", - "mocha": "11.7.5", - "mocha.parallel": "0.15.6", "open": "11.0.0", "prettier": "3.8.3", "react-native-fetch-blob": "^0.10.8", @@ -81,7 +78,7 @@ }, "resolutions": { "got": "15", - "axios": "^1.13.2", + "axios": "^1.16.1", "json5": "2", "underscore": "1", "glob-parent": "6", @@ -93,7 +90,7 @@ "rimraf": "^6.1.2" }, "overrides": { - "axios": "^1.13.2", + "axios": "^1.16.1", "follow-redirects": "^1.16.0", "glob": "^13.0.0", "rimraf": "^6.1.2" diff --git a/src/84from.js b/src/84from.js index 8d19f0141a..d749719a72 100755 --- a/src/84from.js +++ b/src/84from.js @@ -256,8 +256,8 @@ alasql.from.CSV = function (contents, opts, cb, idx, query) { alasql.utils.extend(opt, opts); var res; var hs = []; - // Determine once whether to auto-convert: not raw mode and not SELECT INTO - const shouldAutoConvert = !opt.raw && !query?.intofns; + // Determine once whether to auto-convert: not raw mode, not SELECT INTO, and csvStringToNumber option is set + const shouldAutoConvert = !opt.raw && !query?.intofns && alasql.options.csvStringToNumber; function potentialAutoConvert(val) { if (shouldAutoConvert && val !== undefined && val.length !== 0 && val == +val) { diff --git a/test/bun-setup.js b/test/bun-setup.js new file mode 100644 index 0000000000..58b5451182 --- /dev/null +++ b/test/bun-setup.js @@ -0,0 +1,17 @@ +// Provide Mocha-compatible before/after aliases for Bun's test runner. +// In Bun's preload context, beforeAll/afterAll are in the module scope +// (not on globalThis), so we define delegating wrappers on globalThis. +Object.defineProperty(globalThis, 'before', { + value: function (...args) { + return beforeAll(...args); + }, + configurable: true, + writable: true, +}); +Object.defineProperty(globalThis, 'after', { + value: function (...args) { + return afterAll(...args); + }, + configurable: true, + writable: true, +}); diff --git a/test/test-csv-string-type.js b/test/test-csv-string-type.js index 0464a6ef8f..1f482f9e05 100644 --- a/test/test-csv-string-type.js +++ b/test/test-csv-string-type.js @@ -16,13 +16,15 @@ describe('Test CSV string type preservation and column type conversion', functio alasql('drop database test' + test); }); - it('A) CSV parser always keeps values as strings', function () { + it('A) CSV parser keeps values as strings when csvStringToNumber=false', function () { + alasql.options.csvStringToNumber = false; var csvData = '"117.20";"500"\n"88.33";"600"'; var res = alasql('SELECT * FROM CSV(?, {separator:";", headers:false})', [csvData]); assert.deepEqual(res, [ {0: '117.20', 1: '500'}, {0: '88.33', 1: '600'}, ]); + alasql.options.csvStringToNumber = true; // Restore default }); it('B) STRING type - preserves string values', function () { @@ -170,10 +172,12 @@ describe('Test CSV string type preservation and column type conversion', functio alasql('DROP TABLE test_tsv'); }); - it('Q) Direct SELECT from CSV without INSERT returns strings', function () { + it('Q) Direct SELECT from CSV without INSERT returns strings when csvStringToNumber=false', function () { + alasql.options.csvStringToNumber = false; var csvData = '"id";"name"\n"117.20";"test"'; var res = alasql('SELECT * FROM CSV(?, {separator:";"})', [csvData]); assert.deepEqual(res, [{id: '117.20', name: 'test'}]); + alasql.options.csvStringToNumber = true; // Restore default }); it('R) Unquoted CSV data - preserves strings when column is STRING', function () { diff --git a/test/test003.js b/test/test003.js index 188d270862..6d6a9d9e3d 100644 --- a/test/test003.js +++ b/test/test003.js @@ -35,7 +35,6 @@ describe('Test 03 - ' + NUMTESTS + 'times', function () { }); it('3. Test insert without compilation #1', function (done) { - this.timeout(5000); zt('Test insert without compilation #1', function () { alasql(sql3); }); @@ -43,7 +42,6 @@ describe('Test 03 - ' + NUMTESTS + 'times', function () { }); it('4. Test insert without compilation and caching', function (done) { - this.timeout(5000); zt('Test insert without compilation and caching', function () { alasql(sql3.replace('999', (Math.random() * 1000) | 0)); }); @@ -51,7 +49,6 @@ describe('Test 03 - ' + NUMTESTS + 'times', function () { }); it('5. Test compiled insert', function (done) { - this.timeout(5000); var insert1 = alasql.compile(sql3); zt('Test compiled insert', function () { insert1(); diff --git a/test/test029.js b/test/test029.js index 03f30bc26f..407c2577ca 100644 --- a/test/test029.js +++ b/test/test029.js @@ -5,7 +5,7 @@ if (typeof exports === 'object') { describe('Test 29', function () { it('JOIN USING', function (done) { - var db = alasql.Database('db'); + var db = new alasql.Database('db'); db.exec('CREATE TABLE test1 (a int, b int)'); db.exec('INSERT INTO test1 VALUES (1,1)'); db.exec('INSERT INTO test1 VALUES (2,2)'); diff --git a/test/test1526.js b/test/test1526.js index 7404ae0976..ad72d3fe2d 100644 --- a/test/test1526.js +++ b/test/test1526.js @@ -14,14 +14,8 @@ describe('Test 1645', function () { } }); - it('Throws error when callback for user function error', done => { - try { - alasql('SELECT medain(8)'); - } catch (e) { - done(); - } - - throw 'error'; + it('Throws error when callback for user function error', () => { + expect(() => alasql('SELECT medain(8)')).toThrow(); }); it('Catches error when promise for user function error', done => { diff --git a/test/test168.js b/test/test168.js index 35777ff0cc..d2624b3e34 100644 --- a/test/test168.js +++ b/test/test168.js @@ -9,7 +9,6 @@ if (typeof exports === 'object') { //if(typeof exports === 'object' && false) { describe('Test 168a - read XLSX', function () { - this.timeout(10000); it('1. Read XLSX file', function (done) { var res = alasql( 'select * from xlsx("' + dirname + '/test168.xlsx",{headers:false})', @@ -68,7 +67,6 @@ describe('Test 168a - read XLSX', function () { }); describe('Test 168b - read XLS', function () { - this.timeout(9000); it('1. Read XLS file', function (done) { var res = alasql( 'select * from xls("' + dirname + '/test168.xls",{headers:false})', diff --git a/test/test2112.js b/test/test2112.js index eff102915a..e830c96568 100644 --- a/test/test2112.js +++ b/test/test2112.js @@ -20,7 +20,6 @@ describe('Test 2112 - load binary file', function () { }); it('C) Loads HTTPS binary file (async)', function (done) { - this.timeout(15000); alasql.utils.loadBinaryFile( 'https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg', true, diff --git a/test/test257.js b/test/test257.js index 9b0d006558..08395b3724 100644 --- a/test/test257.js +++ b/test/test257.js @@ -8,8 +8,6 @@ if (typeof exports === 'object') { if (typeof exports != 'undefined') { describe('Test 257 INTO XLS()', function () { it('1. INTO XLS()', function (done) { - this.timeout(9000); - var data = [ {a: 1, b: 10}, {a: 2, b: 20}, diff --git a/test/test268.js b/test/test268.js index c3ff9d2dd3..a8577ebbc4 100644 --- a/test/test268.js +++ b/test/test268.js @@ -75,7 +75,6 @@ describe('Test 268 INNER JOIN stress test', function () { //console.log(t2); it('4. INNER JOIN on Big Array', function (done) { - this.timeout(10000); var res = alasql('SELECT t1.*,t2.* FROM ? t1 INNER JOIN ? t2 ON t1.b = t2.b', [t1, t2]); /// console.log('INNER =',res.length); var res = alasql('SELECT t1.*,t2.* FROM ? t1 LEFT JOIN ? t2 ON t1.b = t2.b', [t1, t2]); diff --git a/test/test286.js b/test/test286.js index 51335e408b..1d9f3f3669 100644 --- a/test/test286.js +++ b/test/test286.js @@ -74,8 +74,6 @@ describe('Test 286 CREATE UNIQUE INDEX', function () { }); it('2. Fill tables with data', () => { - this.timeout(100000); - var K = 10; // Number of runs var P = 20; // Number of records coefficient diff --git a/test/test291.js b/test/test291.js index 022f8cd947..35877d321c 100644 --- a/test/test291.js +++ b/test/test291.js @@ -19,8 +19,6 @@ describe('Test 291 - Promises:', function () { }); it('.promise all', function (done) { - this.timeout(2000); // dont get why this is timing out... - alasql .promise(['SELECT VALUE 1']) .then(function (res) { @@ -34,8 +32,6 @@ describe('Test 291 - Promises:', function () { }); it('.promise .catch exception', function (done) { - this.timeout(2000); // dont get why this is timing out... - alasql.promise('SELECT * FROM tableThatDoesNotExists').catch(function (err) { assert(err instanceof Error); done(); @@ -43,8 +39,6 @@ describe('Test 291 - Promises:', function () { }); it('.promise all .catch exception', function (done) { - this.timeout(5000); // dont get why this is timing out... - alasql.promise(['SELECT * FROM tableThatDoesNotExists']).catch(function (err) { assert(err instanceof Error); done(); diff --git a/test/test324.js b/test/test324.js index 75925e6cc5..c3b8f9d817 100644 --- a/test/test324.js +++ b/test/test324.js @@ -39,8 +39,7 @@ describe('Test 324 Roads samples', function () { }); it('3. CREATE TABLE with constraints', function (done) { - var res = alasql(function () { - /* + var res = alasql(` CREATE TABLE dbo.Employees ( empid INT NOT NULL PRIMARY KEY, @@ -49,21 +48,18 @@ describe('Test 324 Roads samples', function () { salary MONEY NOT NULL, CHECK (empid <> mgrid) ); - */ - }); + `); assert(res == 1); assert(alasql.databases.dbo.tables.Employees); done(); }); it('4. INSERT INTO table with constraints', function (done) { - var res = alasql(function () { - /* + var res = alasql(` INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES (1, NULL, 'David' , 10000.00), (2, 1, 'Eitan' , 7000.00) - */ - }); + `); assert(res == 2); assert.deepStrictEqual(alasql('SELECT * FROM dbo.Employees'), [ {empid: 1, mgrid: undefined, empname: 'David', salary: 10000}, @@ -74,25 +70,21 @@ describe('Test 324 Roads samples', function () { it('5. INSERT INTO table with same primary key', function (done) { assert.throws(function () { - var res = alasql(function () { - /* + var res = alasql(` INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES (1, NULL, 'David' , 10000.00), (2, 1, 'Eitan' , 7000.00) - */ - }); + `); }, Error); done(); }); it('6. INSERT INTO wrong NULL in NOT NULL column', function (done) { assert.throws(function () { - var res = alasql(function () { - /* + var res = alasql(` INSERT INTO dbo.Employees(empid, mgrid, empname, salary) VALUES (NULL, 3, 'Samson' , 45000.00) - */ - }); + `); }, Error); done(); }); diff --git a/test/test325.js b/test/test325.js index ecddaab823..159d12cf3f 100644 --- a/test/test325.js +++ b/test/test325.js @@ -12,8 +12,7 @@ describe('Test 325 IDENTITY', function () { }); it('2. CREATE TABLE with multiple constraints', function (done) { - alasql(function () { - /* + alasql(` IF OBJECT_ID('dbo.Messages') IS NOT NULL DROP TABLE dbo.Messages; CREATE TABLE dbo.Messages ( @@ -29,8 +28,7 @@ describe('Test 325 IDENTITY', function () { CONSTRAINT CHK_Messages_status CHECK (status IN('new', 'open', 'done')) ); - */ - }); + `); done(); }); diff --git a/test/test326.js b/test/test326.js index 04c0de32b4..5e262604d0 100644 --- a/test/test326.js +++ b/test/test326.js @@ -12,8 +12,7 @@ describe('Test 326 FOREIGN KEYS', function () { }); it('2. CREATE TABLES City', function (done) { - alasql(function () { - /* + alasql(` CREATE TABLE dbo.Cities ( cityid CHAR(3) NOT NULL PRIMARY KEY, @@ -21,14 +20,12 @@ describe('Test 326 FOREIGN KEYS', function () { region VARCHAR(30) NULL, country VARCHAR(30) NOT NULL ); - */ - }); + `); done(); }); it('3. INSERT VALUES INTO City', function (done) { - alasql(function () { - /* + alasql(` INSERT INTO dbo.Cities(cityid, city, region, country) VALUES ('ATL', 'Atlanta', 'GA', 'USA'), ('ORD', 'Chicago', 'IL', 'USA'), @@ -43,14 +40,12 @@ describe('Test 326 FOREIGN KEYS', function () { ('SFO', 'San Francisco', 'CA', 'USA'), ('ANC', 'Anchorage', 'AK', 'USA'), ('FAI', 'Fairbanks', 'AK', 'USA'); - */ - }); + `); done(); }); it('4. CREATE TABLE Roads', function (done) { - alasql(function () { - /* + alasql(` CREATE TABLE dbo.Roads ( city1 CHAR(3) NOT NULL REFERENCES dbo.Cities, @@ -60,14 +55,12 @@ describe('Test 326 FOREIGN KEYS', function () { CHECK(city1 < city2), CHECK(distance > 0) ); - */ - }); + `); done(); }); it('5. INSERT VALUES INTO Roads', function (done) { - alasql(function () { - /* + alasql(` INSERT INTO dbo.Roads(city1, city2, distance) VALUES ('ANC', 'FAI', 359), ('ATL', 'ORD', 715), @@ -91,8 +84,7 @@ describe('Test 326 FOREIGN KEYS', function () { ('MSP', 'ORD', 410), ('MSP', 'SEA', 2015), ('SEA', 'SFO', 815); - */ - }); + `); done(); }); diff --git a/test/test327.js b/test/test327.js index 44cc11c050..ec2a965676 100644 --- a/test/test327.js +++ b/test/test327.js @@ -12,21 +12,18 @@ describe('Test 327 FOREIGN KEYS', function () { }); it('2. CREATE TABLES Parts', function (done) { - alasql(function () { - /* + alasql(` CREATE TABLE dbo.Parts ( partid INT NOT NULL PRIMARY KEY, partname VARCHAR(25) NOT NULL ); - */ - }); + `); done(); }); it('3. INSERT VALUES INTO Parts', function (done) { - alasql(function () { - /* + alasql(` INSERT INTO dbo.Parts(partid, partname) VALUES ( 1, 'Black Tea' ), ( 2, 'White Tea' ), @@ -45,15 +42,13 @@ describe('Test 327 FOREIGN KEYS', function () { (15, 'Sugar Bag' ), (16, 'Ground Coffee' ), (17, 'Coffee Beans' ); - */ - }); + `); done(); }); it('4. CREATE TABLE BOM', function (done) { if (false) { - alasql(function () { - /* + alasql(` CREATE TABLE dbo.BOM ( partid INT NOT NULL REFERENCES dbo.Parts, @@ -63,11 +58,9 @@ describe('Test 327 FOREIGN KEYS', function () { UNIQUE(partid, assemblyid), CHECK (partid <> assemblyid) ); - */ - }); + `); } - alasql(function () { - /* + alasql(` CREATE TABLE dbo.BOM ( partid INT NOT NULL, @@ -79,15 +72,13 @@ describe('Test 327 FOREIGN KEYS', function () { FOREIGN KEY (partid) REFERENCES dbo.Parts, CONSTRAINT assembly_fk FOREIGN KEY (assemblyid) REFERENCES dbo.Parts (partid) ); - */ - }); + `); done(); }); it('5. INSERT VALUES INTO BOM', function (done) { - alasql(function () { - /* + alasql(` INSERT INTO dbo.BOM(partid, assemblyid, unit, qty) VALUES ( 1, NULL, 'EA', 1.00), ( 2, NULL, 'EA', 1.00), @@ -116,8 +107,7 @@ describe('Test 327 FOREIGN KEYS', function () { (14, 12, 'mL', 20.00), (16, 12, 'g' , 15.00), (17, 16, 'g' , 15.00); - */ - }); + `); done(); }); diff --git a/test/test331.js b/test/test331.js index a1369ed574..81e5af2cb0 100644 --- a/test/test331.js +++ b/test/test331.js @@ -14,8 +14,7 @@ describe('Test 331 SLT#1 - test', function () { }); it('2. CREATE TABLES', function (done) { - alasql(function () { - /* + alasql(` CREATE TABLE t1(a INTEGER, b INTEGER, c INTEGER, d INTEGER, e INTEGER); INSERT INTO t1(e,c,b,d,a) VALUES(103,102,100,101,104); INSERT INTO t1(a,c,d,e,b) VALUES(107,106,108,109,105); @@ -48,15 +47,13 @@ describe('Test 331 SLT#1 - test', function () { INSERT INTO t1(e,c,b,a,d) VALUES(242,244,240,243,241); INSERT INTO t1(e,d,c,b,a) VALUES(246,248,247,249,245); - */ - }); + `); done(); }); it('2. SELECT 673', function (done) { alasql.options.modifier = 'MATRIX'; - var res = alasql(function () { - /* + var res = alasql(` SELECT a, c-d, d @@ -65,8 +62,7 @@ describe('Test 331 SLT#1 - test', function () { AND a>b AND (a>b-2 AND ac AND (a>b-2 AND a(SELECT avg(c) FROM t1) THEN a*2 ELSE b*10 END FROM t1 - */ - }); + `); // console.log(res.length); assert.deepStrictEqual(res.length, 30); done(); @@ -104,13 +96,11 @@ describe('Test 331 SLT#2 - test', function () { it('4. SELECT 97', function (done) { alasql.options.modifier = 'MATRIX'; - var res = alasql(function () { - /* + var res = alasql(` SELECT b-c, c FROM t1 - WHERE (e>a AND ea AND e= 7) FROM RANGE(1,8) - */ - }); + `); assert.deepStrictEqual(res, [7, 8, 7, 8]); done(); }); it.skip('6. SEARCH AS and RETURN ', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SEARCH / WHERE(_ <= 2) AS @a ^ / WHERE(_ >= 7) AS @b RETURNS(@a AS a,@b AS b) FROM RANGE(1,8) - */ - }); + `); assert.deepStrictEqual(res, [ {a: 1, b: 7}, {a: 1, b: 8}, @@ -78,11 +68,9 @@ describe('Test 337 SEARCH 8 queens', function () { }); it.skip('7. SEARCH ROW', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SEARCH / WHERE(_ <= 2) AS @a ^ / WHERE(_ >= 7) AS @b ROW(@a,@b) FROM RANGE(1,8) - */ - }); + `); assert.deepStrictEqual(res, [ [1, 7], [1, 8], @@ -94,11 +82,9 @@ describe('Test 337 SEARCH 8 queens', function () { it.skip('8. SEARCH TO', function (done) { alasql.vars.b = []; - var res = alasql(function () { - /* + var res = alasql(` SEARCH / ex(1) TO @b ex(2) TO @b @b FROM RANGE(1,8) - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [ [1, 2], @@ -115,11 +101,9 @@ describe('Test 337 SEARCH 8 queens', function () { it.skip('9. SEARCH SET variable', function (done) { alasql.vars.b = []; - var res = alasql(function () { - /* + var res = alasql(` SEARCH / set(@a=9) @a FROM RANGE(1,8) - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [9, 9, 9, 9, 9, 9, 9, 9]); done(); @@ -137,11 +121,9 @@ describe('Test 337 SEARCH 8 queens', function () { it.skip('11. SEARCH REPEAT', function (done) { alasql.vars.b = []; - var res = alasql(function () { - /* + var res = alasql(` SEARCH repeat(/,1,1) FROM @[@[1,2],3] - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [[1, 2], 3]); done(); @@ -167,11 +149,9 @@ describe('Test 337 SEARCH 8 queens', function () { it.skip('14. SEARCH REPEAT', function (done) { alasql.vars.b = []; - var res = alasql(function () { - /* + var res = alasql(` SEARCH repeat(/,0,3) FROM @[@[1,2],3] - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [[[1, 2], 3], [1, 2], 3, 1, 2]); done(); @@ -179,11 +159,9 @@ describe('Test 337 SEARCH 8 queens', function () { it.skip('15. SEARCH REPEAT with index', function (done) { alasql.vars.b = []; - var res = alasql(function () { - /* + var res = alasql(` SEARCH repeat(/,0,3,@i) @i FROM @[@[1,2],3] - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [0, 1, 1, 2, 2]); done(); @@ -192,11 +170,9 @@ describe('Test 337 SEARCH 8 queens', function () { it.skip('16. SEARCH REPEAT with index', function (done) { alasql.vars.b = []; alasql.vars.a = [1, 2]; - var res = alasql(function () { - /* + var res = alasql(` SEARCH / ex(_ IN @a) FROM @[1,2,3] - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [true, true, false]); done(); @@ -240,26 +216,21 @@ describe('Test 337 SEARCH 8 queens', function () { if (false) { it.skip('17. SEARCH REPEAT with index', function (done) { alasql.vars.b = []; - var res = alasql(function () { - /* + var res = alasql(` SEARCH repeat(/,1,2,@i) FROM @[@[1,2],3] - */ - }); + `); console.log(res); - var res = alasql(function () { - /* + var res = alasql(` SEARCH repeat(/ @i,1,2,@i) FROM @[@[1,2],3] - */ - }); + `); console.log(res); assert.deepStrictEqual(res, [1, 1, 2, 2]); done(); }); it.skip('90. SEARCH 8 queens', function (done) { - var res = alasql(function () { - /* + var res = alasql(` search set(@h=@[]) @@ -270,8 +241,7 @@ describe('Test 337 SEARCH 8 queens', function () { 1,4,@i) from range(1,4) - */ - }); + `); console.log(res); // assert.deepStrictEqual(res,1); done(); diff --git a/test/test338.js b/test/test338.js index 0424f4f15e..2f965e704b 100644 --- a/test/test338.js +++ b/test/test338.js @@ -17,8 +17,7 @@ describe('Test 338 EXTRACT', function () { }); it('2. SAMPLE', function (done) { - var res = alasql(function () { - /* + var res = alasql(` create table a (col int); insert into a (col) values (1), (2), (3), (4), (5), (96), (97), (98), (99), (100); @@ -29,24 +28,21 @@ insert into b (col) values (1), (98), (2), (99), (3), (100); select * from a; select * from b; -*/ - }); +`); // console.log(res); done(); }); it('2. EXCEPT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` -- This gives error select col from a except select top 3 b.col from b order by b.col desc; - */ - }); + `); // console.log(res); // assert.deepStrictEqual(res,1); @@ -54,8 +50,7 @@ select top 3 b.col from b order by b.col desc; }); it('3. EXCEPT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` ;with cte_for_b as @@ -64,8 +59,7 @@ select col from a except select col from cte_for_b; - */ - }); + `); // console.log(res); // assert.deepStrictEqual(res,1); @@ -73,15 +67,13 @@ select col from cte_for_b; }); it('3. DROP TABLES', function (done) { - var res = alasql(function () { - /* + var res = alasql(` drop table a; drop table b; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res, [1, 1]); done(); diff --git a/test/test339.js b/test/test339.js index 84a800c2fe..30cea7c9d3 100644 --- a/test/test339.js +++ b/test/test339.js @@ -13,8 +13,7 @@ describe('Test 339 UNION EXTRACT INTERSECT', function () { }); it('2. CREATE TABLE', function (done) { - var res = alasql(function () { - /* + var res = alasql(` create table a (col int); insert into a (col) values (1), (2), (3); @@ -25,177 +24,152 @@ insert into b (col) values (1), (2), (4); create table c (col int); insert into c (col) values (1), (2), (5); -*/ - }); +`); // console.log(res); done(); }); it('3. UNION', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a union select col from b; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2, 3, 4]); done(); }); it('4. UNION ALL', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a union all select col from b; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 1, 2, 2, 3, 4]); done(); }); it('5. EXCEPT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a except select col from b; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [3]); done(); }); it('6. INTERSECT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a intersect select col from b; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2]); done(); }); it('7. INTERSECT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a intersect select col from b; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2]); done(); }); it('8. UNION UNION', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a union select col from b union select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2, 3, 4, 5]); done(); }); it('9. UNION EXCEPT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a union select col from b except select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2, 3, 4]); done(); }); it('10. UNION EXCEPT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a except select col from b union select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [3]); done(); }); it('11. UNION INTERSECT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a union select col from b intersect select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2, 3]); done(); }); it('12. INTERSECT UNION', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a intersect select col from b union select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [1, 2]); done(); }); it('13. UNION INTERSECT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a except select col from b intersect select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), [3]); done(); }); it('14. INTERSECT UNION', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select col from a intersect select col from b except select col from c; - */ - }); + `); // console.log(res); assert.deepStrictEqual(res.sort(), []); done(); diff --git a/test/test340.js b/test/test340.js index 46c4e714b9..c67bb5d04e 100644 --- a/test/test340.js +++ b/test/test340.js @@ -12,8 +12,7 @@ describe('Test 340 SET PARAMS', function () { }); it.skip('2. SET PARAMS', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SET PARAMS = { foo:'bar', @@ -23,8 +22,7 @@ describe('Test 340 SET PARAMS', function () { SELECT VALUE $foo; -*/ - }); +`); // console.log(res); assert.deepStrictEqual(res, [1, 'bar']); diff --git a/test/test341.js b/test/test341.js index 9f2b403437..fcd3ec9cd3 100644 --- a/test/test341.js +++ b/test/test341.js @@ -12,8 +12,7 @@ describe('Test 341 Intellectual DOT operator', function () { }); it('2. Create tables', function (done) { - var res = alasql(function () { - /* + var res = alasql(` CREATE TABLE cities (city STRING PRIMARY KEY, population INT); INSERT INTO cities VALUES @@ -23,8 +22,7 @@ describe('Test 341 Intellectual DOT operator', function () { CREATE TABLE persons (id INT PRIMARY KEY, name STRING, city STRING REFERENCES cities); INSERT INTO persons VALUES (1,"Andrey","Krasnodar"), (2,"Valery","Prague"), (3,"Michael","New York"); - */ - }); + `); assert.deepStrictEqual(res, [1, 3, 1, 3]); done(); }); diff --git a/test/test345.js b/test/test345.js index 44a16f3c3a..7c6dcbfd41 100644 --- a/test/test345.js +++ b/test/test345.js @@ -14,19 +14,16 @@ describe('Test 345 Speed test', function () { }); it.skip('2. TEST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` DECLARE @Loops INT; SET @Loops = 1; DECLARE @CPU INT; - */ - }); + `); done(); }); it.skip('3. TEST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` DECLARE @Loops INT; SET @Loops = 1; DECLARE @CPU INT; @@ -67,8 +64,7 @@ describe('Test 345 Speed test', function () { GO - */ - }); + `); done(); }); diff --git a/test/test346.js b/test/test346.js index a3ae15c955..85065053bd 100644 --- a/test/test346.js +++ b/test/test346.js @@ -17,8 +17,7 @@ describe('Test 337 SEARCH 8 queens', function () { }); it.skip('2. SEARCH 8 queens', function (done) { - var res = alasql(function () { - /* + var res = alasql(` select 'a' || a A, 'b' || b B, 'c' || c C, 'd' || d D, 'e' || e E, 'f' || f F, 'g' || g G, 'h' || h H from @@ -64,8 +63,7 @@ describe('Test 337 SEARCH 8 queens', function () { (select level h from dual connect by level <= 8) ) where chk = 1 - */ - }); + `); console.log(res); assert.deepStrictEqual(res, 1); @@ -73,8 +71,7 @@ describe('Test 337 SEARCH 8 queens', function () { }); if (false) { it.skip('2. SEARCH 8 queens', function (done) { - var res = alasql(function () { - /* + var res = alasql(` search times( ^/ as @f @@ -90,8 +87,7 @@ describe('Test 337 SEARCH 8 queens', function () { return @h from range(1,8) - */ - }); + `); assert.deepStrictEqual(res, 1); done(); }); diff --git a/test/test347.js b/test/test347.js index fb2aa9d744..b0d88b80d2 100644 --- a/test/test347.js +++ b/test/test347.js @@ -12,8 +12,7 @@ describe('Test 347 Efficient Joined Queries Issue #245', function () { }); it('2. TEST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` CREATE TABLE students ( id serial NOT NULL, name character varying(50) NOT NULL, @@ -55,15 +54,13 @@ describe('Test 347 Efficient Joined Queries Issue #245', function () { (4 , 2 , 2 , 82), (5 , 3 , 1 , 15), (8 , 5 , 1 , 10); - */ - }); + `); done(); }); it('3. TEST', function (done) { var res = alasql( - function () { - /* + ` SELECT students.name AS student_name, students.id AS student_id, @@ -79,8 +76,7 @@ describe('Test 347 Efficient Joined Queries Issue #245', function () { WHERE assignments.class_id = $0; - */ - }, + `, [2] ); /// console.log(res); diff --git a/test/test348.js b/test/test348.js index cb66ddd35c..feaa6e003a 100644 --- a/test/test348.js +++ b/test/test348.js @@ -12,39 +12,33 @@ describe('Test 347 Undescores in names Issue #245', function () { }); it('2. TEST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` CREATE TABLE students_a ( _id serial NOT NULL, na_me nvarchar(50) NOT NULL, CONSTRAINT students_pkey PRIMARY KEY (_id) ); - */ - }); + `); done(); }); it('3. TEST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` INSERT INTO students_a VALUES (1 , 'John Doe'), (2 , 'Larry Loe'); - */ - }); + `); done(); }); it('4. TEST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SELECT _id, na_me FROM students_a - */ - }); + `); assert.deepStrictEqual(res, [ {_id: 1, na_me: 'John Doe'}, {_id: 2, na_me: 'Larry Loe'}, diff --git a/test/test354.js b/test/test354.js index 1c20e70a21..e8d42bbb10 100644 --- a/test/test354.js +++ b/test/test354.js @@ -20,8 +20,7 @@ describe('Test 354 PIVOT', function () { 'create table DailyIncome(VendorId nvarchar(10), IncomeDay nvarchar(10), IncomeAmount int)' ); - alasql(function () { - /* + alasql(` insert into DailyIncome values ('SPIKE', 'FRI', 100); insert into DailyIncome values ('SPIKE', 'MON', 300); insert into DailyIncome values ('FREDS', 'SUN', 400); @@ -51,31 +50,26 @@ describe('Test 354 PIVOT', function () { insert into DailyIncome values ('FREDS', 'THU', 800); insert into DailyIncome values ('JOHNS', 'TUE', 600); - */ - }); + `); done(); }); it('3. Pivot Query', function (done) { - alasql(function () { - /* + alasql(` select * from DailyIncome pivot (avg (IncomeAmount) for IncomeDay) - */ - }); + `); done(); }); it('3. Pivot Query', function (done) { - alasql(function () { - /* + alasql(` select * from DailyIncome pivot (avg (IncomeAmount) for IncomeDay in ([MON],[TUE],[WED],[THU],[FRI],[SAT],[SUN])) as AvgIncomePerDay - */ - }); + `); done(); }); diff --git a/test/test355.js b/test/test355.js index 9a5a87db1a..6e00f4875e 100644 --- a/test/test355.js +++ b/test/test355.js @@ -18,8 +18,7 @@ describe('Test 355 PIVOT', function () { it('2. Prepare Data', function (done) { alasql('CREATE TABLE Product(Cust VARCHAR(25), Product VARCHAR(20), QTY INT)'); - alasql(function () { - /* + alasql(` INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','VEG',2); INSERT INTO Product(Cust, Product, QTY) @@ -34,32 +33,27 @@ describe('Test 355 PIVOT', function () { VALUES('FRED','BEER',24); INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','VEG',3); - */ - }); + `); done(); }); it('3. Select Query', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SELECT * FROM Product - */ - }); + `); assert.equal(res.length, 7); done(); }); it('4. Pivot Table ordered by PRODUCT', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SELECT * FROM Product PIVOT (SUM(QTY) FOR Cust IN (FRED, KATE)) ORDER BY Product - */ - }); + `); assert.deepStrictEqual(res, [ {Product: 'BEER', FRED: 24, KATE: 12}, @@ -72,13 +66,11 @@ describe('Test 355 PIVOT', function () { }); it('5. Pivot Table ordered by CUST', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SELECT * FROM Product PIVOT (SUM(QTY) FOR Product IN (VEG, SODA, MILK, BEER, CHIPS)) ORDER BY Cust - */ - }); + `); assert.deepStrictEqual(res, [ {Cust: 'FRED', MILK: 3, BEER: 24}, @@ -95,13 +87,11 @@ describe('Test 355 PIVOT', function () { 'INSERT INTO pivoted SELECT * FROM Product PIVOT (SUM(QTY) FOR Product IN (VEG, SODA, MILK, BEER, CHIPS))' ); - var res = alasql(function () { - /* + var res = alasql(` SELECT * FROM pivoted UNPIVOT (QTY FOR Product IN (VEG, SODA, MILK, BEER, CHIPS)) - */ - }); + `); // Should have 10 rows (2 custs * 5 products) assert.equal(res.length, 10); diff --git a/test/test356.js b/test/test356.js index fb888ab50a..c1a84afcaa 100644 --- a/test/test356.js +++ b/test/test356.js @@ -13,19 +13,16 @@ describe('Test 356 PIVOT', function () { /* Source: http://sqlfiddle.com/#!3/6f4a1/3 */ it('2. Prepare Data', function (done) { - alasql(function () { - /* + alasql(` create table test ( username varchar(10), subject varchar(10), score int ) - */ - }); + `); - alasql(function () { - /* + alasql(` insert into test values ('Nick', 'Chinese', 80), ('Nick', 'Math', 90), @@ -35,19 +32,16 @@ describe('Test 356 PIVOT', function () { ('Kent', 'Math', 90), ('Kent', 'English', 70), ('Kent', 'Biology', 85) - */ - }); + `); done(); }); it('3. Simple PIVOT by subject', function (done) { - var res = alasql(function () { - /* + var res = alasql(` SELECT * FROM test PIVOT (AVG(score) FOR subject IN (Chinese, Math, English, Biology)) - */ - }); + `); // Should have one row per username assert.equal(res.length, 2); diff --git a/test/test357.js b/test/test357.js index b79ba2a0f2..23aba8f2c4 100644 --- a/test/test357.js +++ b/test/test357.js @@ -13,8 +13,7 @@ describe('Test 357 Test', function () { /* Source: http://sqlfiddle.com/#!3/6f4a1/3 */ it.skip('2. Prepare Data', function (done) { - alasql(function () { - /* + alasql(` CREATE TABLE users( id int, name char(16) ) ; INSERT INTO users VALUES (1,'John'),(2,'Lewis'),(3,'Muhammad'); @@ -26,21 +25,18 @@ describe('Test 357 Test', function () { VALUES (1,2),(1,3),(1,6),(2,1),(2,5),(2,6),(3,2),(3,5),(3,6),(1,2),(1,3),(1,6),(2,1), (2,5),(2,6),(3,2),(3,5),(3,6),(1,2),(1,3),(1,6),(2,1),(2,5),(2,6),(3,2),(3,5),(3,6); - */ - }); + `); done(); }); it.skip('3. Select Query', function (done) { - alasql(function () { - /* + alasql(` SELECT a.user_id, b.user_id, GROUP_CONCAT(a.hobby_id) AS 'Pairwise shared hobbies' FROM users_hobbies a JOIN users_hobbies b ON a.user_id { + before(() => { unlink('test/test815.xlsx', () => {}); }); - this.afterAll(() => { + after(() => { unlink('test/test815.xlsx', () => {}); }); diff --git a/yarn.lock b/yarn.lock index 207bd01930..0842b57d8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -84,7 +84,7 @@ "@esbuild/linux-x64@0.28.0": version "0.28.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz#4f2917747188fe77632bcec65b2d84b422419779" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz" integrity sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ== "@esbuild/netbsd-arm64@0.28.0": @@ -163,15 +163,15 @@ resolved "https://registry.yarnpkg.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c" integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg== -"@sindresorhus/is@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-7.2.0.tgz#7c594e1a64336d2008d99d814056d459421504d4" - integrity sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw== +"@sindresorhus/is@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-8.0.0.tgz#de0db6b7eb0dc97de15231ff4366fb509c2f4287" + integrity sha512-YvOsokBE5NsyHuXMnwEVB7lgFk6lX8F4OXCruYVgFII0hUHof0RGUvhMoabVt9hRqbg+qVzayzEG24RCcxcYeA== "@types/http-cache-semantics@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#f6a7788f438cbfde15f29acad46512b4c01913b3" + integrity sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q== JSONSelect@0.4.0: version "0.4.0" @@ -183,6 +183,13 @@ JSONSelect@0.4.0: resolved "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz" integrity sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" @@ -193,7 +200,7 @@ ansi-regex@^5.0.1: resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -202,31 +209,27 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -axios@^0.19.2, axios@^1.13.2: - version "1.16.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.0.tgz#f8e5dd931cef2a5f8c32216d5784eda2f8750eb7" - integrity sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w== +axios@^0.19.2, axios@^1.16.1: + version "1.16.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.1.tgz#517e29291d19d6e8cf919ff264f4fe157261ba12" + integrity sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A== dependencies: follow-redirects "^1.16.0" form-data "^4.0.5" + https-proxy-agent "^5.0.1" proxy-from-env "^2.1.0" -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - balanced-match@^4.0.2: version "4.0.4" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz" integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== base-64@0.1.0, base-64@^0.1.0: @@ -234,26 +237,14 @@ base-64@0.1.0, base-64@^0.1.0: resolved "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz" integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== -bluebird@^2.9.34: - version "2.11.0" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz" - integrity sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ== - blueimp-md5@2.19.0: version "2.19.0" - resolved "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz" + resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== -brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz" - integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== - dependencies: - balanced-match "^1.0.0" - brace-expansion@^5.0.5: version "5.0.5" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz" integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ== dependencies: balanced-match "^4.0.2" @@ -265,11 +256,6 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - bundle-name@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz" @@ -302,32 +288,12 @@ cacheable-request@^13.0.18: call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" function-bind "^1.1.2" -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz" - integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== - dependencies: - readdirp "^4.0.1" - chunk-data@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/chunk-data/-/chunk-data-0.1.0.tgz#086f79f356b6c44d0cf0a36db2cec3e1daa40bb1" @@ -349,15 +315,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - cmdmix@2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/cmdmix/-/cmdmix-2.2.2.tgz" @@ -382,7 +339,7 @@ colors@0.5.x: combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" @@ -399,18 +356,13 @@ cross-fetch@4.1.0: dependencies: node-fetch "^2.7.0" -debug@^4.3.5: +debug@4: version "4.4.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - decode-uri-component@0.4: version "0.4.1" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz#2ac4859663c704be22bf7db760a1494a49ab2cc5" @@ -443,14 +395,9 @@ define-lazy-prop@^3.0.0: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -diff@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz" - integrity sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw== - dom-storage@2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz" @@ -458,7 +405,7 @@ dom-storage@2.1.0: dunder-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: call-bind-apply-helpers "^1.0.1" @@ -477,24 +424,24 @@ emoji-regex@^8.0.0: es-define-property@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" es-set-tostringtag@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: es-errors "^1.3.0" @@ -504,7 +451,7 @@ es-set-tostringtag@^2.1.0: esbuild@0.28.0: version "0.28.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.28.0.tgz#5dee347ffb3e3874212a35a69836b077b1ce6d96" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz" integrity sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw== optionalDependencies: "@esbuild/aix-ppc64" "0.28.0" @@ -539,11 +486,6 @@ escalade@^3.1.1: resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - escodegen@1.3.x: version "1.3.3" resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz" @@ -595,19 +537,6 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - follow-redirects@^1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" @@ -615,7 +544,7 @@ follow-redirects@^1.16.0: form-data@^4.0.5: version "4.0.5" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz" integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== dependencies: asynckit "^0.4.0" @@ -626,7 +555,7 @@ form-data@^4.0.5: function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== get-caller-file@^2.0.5: @@ -636,7 +565,7 @@ get-caller-file@^2.0.5: get-intrinsic@^1.2.6: version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: call-bind-apply-helpers "^1.0.2" @@ -652,7 +581,7 @@ get-intrinsic@^1.2.6: get-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: dunder-proto "^1.0.1" @@ -680,9 +609,9 @@ glob-parent@6, glob-parent@^5.1.2: dependencies: is-glob "^4.0.3" -glob@7.0.6, glob@^10.4.5, glob@^13.0.0, glob@^13.0.3: +glob@7.0.6, glob@^13.0.0, glob@^13.0.3: version "13.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.6.tgz#078666566a425147ccacfbd2e332deb66a2be71d" + resolved "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz" integrity sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw== dependencies: minimatch "^10.2.2" @@ -691,15 +620,15 @@ glob@7.0.6, glob@^10.4.5, glob@^13.0.0, glob@^13.0.3: gopd@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@15: - version "15.0.0" - resolved "https://registry.yarnpkg.com/got/-/got-15.0.0.tgz#7e9cd70ac72e1681e85b94514be23eed3c5dfebb" - integrity sha512-CUqLG9oFZRis7SZq5Bcxh42LpzxXgXwxWVwNljo60oki8Cq3GXVRpDY2K4GwTzYz3htyXf212nfNg2socz4esQ== + version "15.0.3" + resolved "https://registry.yarnpkg.com/got/-/got-15.0.3.tgz#2bdc00bccdde9a4f781f86bcf9b5476e7b39cd81" + integrity sha512-630of5aMTYM6g6epok5nuqvctP8InJISvt39iNt7y0r27rcGCdiPv9Cc6EbwfnkyT1g/shBoVhvDjtXZUbn/Rw== dependencies: - "@sindresorhus/is" "^7.2.0" + "@sindresorhus/is" "^8.0.0" byte-counter "^0.1.0" cacheable-lookup "^7.0.0" cacheable-request "^13.0.18" @@ -709,38 +638,28 @@ got@15: keyv "^5.6.0" lowercase-keys "^4.0.1" responselike "^4.0.2" - type-fest "^5.4.4" + type-fest "^5.6.0" uint8array-extras "^1.5.0" -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" hasown@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.3.tgz#5e5c2b15b60370a4c7930c383dfb76bf17bc403c" - integrity sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg== + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - http-cache-semantics@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" @@ -754,6 +673,14 @@ http2-wrapper@^2.2.1: quick-lru "^5.1.1" resolve-alpn "^1.2.0" +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + husky@9.1.7: version "9.1.7" resolved "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz" @@ -798,26 +725,11 @@ is-number@^7.0.0: resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-stream@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-4.0.1.tgz#375cf891e16d2e4baec250b85926cffc14720d9b" integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A== -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - is-wsl@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz" @@ -847,7 +759,7 @@ jison@^0.4.18: lex-parser "~0.1.3" nomnom "1.5.2" -js-yaml@4, js-yaml@^4.1.0: +js-yaml@4: version "4.1.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== @@ -879,26 +791,11 @@ lex-parser@0.1.x, lex-parser@~0.1.3: resolved "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz" integrity sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w== -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - lodash@^4.17.12: version "4.18.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - lowercase-keys@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" @@ -911,12 +808,12 @@ lowercase-keys@^4.0.1: lru-cache@^11.0.0: version "11.3.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.3.2.tgz#349669d2a9eeb10cc706a9edb10d93bc7080a892" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.2.tgz" integrity sha512-wgWa6FWQ3QRRJbIjbsldRJZxdxYngT/dO0I5Ynmlnin8qy7tC6xYzbcJjtN4wHLXtkbVwHzk0C+OejVw1XM+DQ== math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== merge2@^1.3.0: @@ -934,12 +831,12 @@ micromatch@^4.0.8: mime-db@1.52.0: version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12: version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" @@ -951,61 +848,19 @@ mimic-response@^4.0.0: minimatch@^10.2.2: version "10.2.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz" integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: brace-expansion "^5.0.5" -minimatch@^9.0.5: - version "9.0.5" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - minipass@^7.1.2, minipass@^7.1.3: version "7.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz" integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== -mocha.parallel@0.15.6: - version "0.15.6" - resolved "https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.6.tgz" - integrity sha512-pWph+QieKGjk7cHY2hB78wyKJDOQLyOMDuBLQLrFL7riJb8qbQBlCY3XztFHv0D1d4I1gCpiwFNjd4LhVOXPew== - dependencies: - bluebird "^2.9.34" - semaphore "^1.0.5" - -mocha@11.7.5: - version "11.7.5" - resolved "https://registry.npmjs.org/mocha/-/mocha-11.7.5.tgz" - integrity sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig== - dependencies: - browser-stdout "^1.3.1" - chokidar "^4.0.1" - debug "^4.3.5" - diff "^7.0.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^10.4.5" - he "^1.2.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^9.0.5" - ms "^2.1.3" - picocolors "^1.1.1" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^9.2.0" - yargs "^17.7.2" - yargs-parser "^21.1.1" - yargs-unparser "^2.0.0" - ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== node-fetch@^2.7.0: @@ -1040,46 +895,22 @@ open@11.0.0: powershell-utils "^0.1.0" wsl-utils "^0.3.0" -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - package-json-from-dist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - path-scurry@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.2.tgz#6be0d0ee02a10d9e0de7a98bae65e182c9061f85" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz" integrity sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== dependencies: lru-cache "^11.0.0" minipass "^7.1.2" -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - picomatch@^2.3.1: version "2.3.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== powershell-utils@^0.1.0: @@ -1094,7 +925,7 @@ prettier@3.8.3: proxy-from-env@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz" integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== queue-microtask@^1.2.2: @@ -1107,13 +938,6 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - react-native-fetch-blob@^0.10.8: version "0.10.8" resolved "https://registry.npmjs.org/react-native-fetch-blob/-/react-native-fetch-blob-0.10.8.tgz" @@ -1130,11 +954,6 @@ react-native-fs@^2.20.0: base-64 "^0.1.0" utf8 "^3.0.0" -readdirp@^4.0.1: - version "4.1.2" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz" - integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -1185,28 +1004,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semaphore@^1.0.5: - version "1.1.0" - resolved "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - semver@7: version "7.7.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - source-map@~0.1.33: version "0.1.43" resolved "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz" @@ -1219,7 +1021,7 @@ strftime@0.10.3: resolved "https://registry.npmjs.org/strftime/-/strftime-0.10.3.tgz" integrity sha512-DZrDUeIF73eKJ4/GgGuv8UHWcUQPYDYfDeQFj3jrx+JZl6GQE656MbHIpvbo4mEG9a5DgS8GRCc5DxJXD2udDQ== -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -1235,25 +1037,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - tabletop@^1.6.2: version "1.6.3" resolved "https://registry.npmjs.org/tabletop/-/tabletop-1.6.3.tgz" @@ -1279,10 +1062,10 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -type-fest@^5.4.4: - version "5.5.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.5.0.tgz#78fca72f3a1f9ec964e6ae260db492b070c56f3b" - integrity sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g== +type-fest@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.6.0.tgz#502f7a003b7309e96a7e17052cc2ab2c7e5c7a31" + integrity sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA== dependencies: tagged-tag "^1.0.0" @@ -1319,11 +1102,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -workerpool@^9.2.0: - version "9.3.4" - resolved "https://registry.npmjs.org/workerpool/-/workerpool-9.3.4.tgz" - integrity sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg== - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" @@ -1351,21 +1129,6 @@ yargs-parser@^20.2.2: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - yargs@16: version "16.2.0" resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" @@ -1378,21 +1141,3 @@ yargs@16: string-width "^4.2.0" y18n "^5.0.5" yargs-parser "^20.2.2" - -yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==