1 Commits

Author SHA1 Message Date
40fd272645 fix(deps): update dependency ts-jest to v29.1.2
All checks were successful
continuous-integration/drone/pr Build is passing
2024-01-30 23:45:52 +00:00
12 changed files with 3593 additions and 5542 deletions

View File

@@ -27,9 +27,9 @@ steps:
restore: true restore: true
- name: test - name: test
image: 'node:22.17.1-slim' image: 'node:21.6.0-slim'
commands: commands:
- yarn set version 4.6.0 - yarn set version 4.0.2
- yarn install - yarn install
- yarn run jest - yarn run jest

4083
.pnp.cjs generated

File diff suppressed because it is too large Load Diff

168
.pnp.loader.mjs generated
View File

@@ -1,12 +1,9 @@
/* eslint-disable */
// @ts-nocheck
import fs from 'fs'; import fs from 'fs';
import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url';
import path from 'path'; import path from 'path';
import { createHash } from 'crypto'; import { createHash } from 'crypto';
import { EOL } from 'os'; import { EOL } from 'os';
import esmModule, { createRequire, isBuiltin } from 'module'; import moduleExports, { isBuiltin } from 'module';
import assert from 'assert'; import assert from 'assert';
const SAFE_TIME = 456789e3; const SAFE_TIME = 456789e3;
@@ -112,9 +109,10 @@ async function copyImpl(prelayout, postlayout, destinationFs, destination, sourc
updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
} }
break; break;
default: { default:
throw new Error(`Unsupported file type (${sourceStat.mode})`); {
} throw new Error(`Unsupported file type (${sourceStat.mode})`);
}
} }
if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) {
@@ -131,7 +129,7 @@ async function copyImpl(prelayout, postlayout, destinationFs, destination, sourc
async function maybeLStat(baseFs, p) { async function maybeLStat(baseFs, p) {
try { try {
return await baseFs.lstatPromise(p); return await baseFs.lstatPromise(p);
} catch { } catch (e) {
return null; return null;
} }
} }
@@ -177,10 +175,7 @@ async function copyFolder(prelayout, postlayout, destinationFs, destination, des
} }
async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) {
const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
const defaultMode = 420; const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${sourceHash}.dat`);
const sourceMode = sourceStat.mode & 511;
const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`;
const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`);
let AtomicBehavior; let AtomicBehavior;
((AtomicBehavior2) => { ((AtomicBehavior2) => {
AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock";
@@ -236,12 +231,8 @@ async function copyFileViaIndex(prelayout, postlayout, destinationFs, destinatio
} }
}); });
postlayout.push(async () => { postlayout.push(async () => {
if (!indexStat) { if (!indexStat)
await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
if (sourceMode !== defaultMode) {
await destinationFs.chmodPromise(indexPath, sourceMode);
}
}
if (tempPath && !tempPathCleaned) { if (tempPath && !tempPathCleaned) {
await destinationFs.unlinkPromise(tempPath); await destinationFs.unlinkPromise(tempPath);
} }
@@ -286,7 +277,6 @@ async function copySymlink(prelayout, postlayout, destinationFs, destination, de
} }
class FakeFS { class FakeFS {
pathUtils;
constructor(pathUtils) { constructor(pathUtils) {
this.pathUtils = pathUtils; this.pathUtils = pathUtils;
} }
@@ -482,7 +472,7 @@ class FakeFS {
let current = Buffer.alloc(0); let current = Buffer.alloc(0);
try { try {
current = await this.readFilePromise(p); current = await this.readFilePromise(p);
} catch { } catch (error) {
} }
if (Buffer.compare(current, content) === 0) if (Buffer.compare(current, content) === 0)
return; return;
@@ -492,7 +482,7 @@ class FakeFS {
let current = ``; let current = ``;
try { try {
current = await this.readFilePromise(p, `utf8`); current = await this.readFilePromise(p, `utf8`);
} catch { } catch (error) {
} }
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent) if (current === normalizedContent)
@@ -510,7 +500,7 @@ class FakeFS {
let current = Buffer.alloc(0); let current = Buffer.alloc(0);
try { try {
current = this.readFileSync(p); current = this.readFileSync(p);
} catch { } catch (error) {
} }
if (Buffer.compare(current, content) === 0) if (Buffer.compare(current, content) === 0)
return; return;
@@ -520,7 +510,7 @@ class FakeFS {
let current = ``; let current = ``;
try { try {
current = this.readFileSync(p, `utf8`); current = this.readFileSync(p, `utf8`);
} catch { } catch (error) {
} }
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent) if (current === normalizedContent)
@@ -560,13 +550,13 @@ class FakeFS {
let pid; let pid;
try { try {
[pid] = await this.readJsonPromise(lockPath); [pid] = await this.readJsonPromise(lockPath);
} catch { } catch (error) {
return Date.now() - startTime < 500; return Date.now() - startTime < 500;
} }
try { try {
process.kill(pid, 0); process.kill(pid, 0);
return true; return true;
} catch { } catch (error) {
return false; return false;
} }
}; };
@@ -579,7 +569,7 @@ class FakeFS {
try { try {
await this.unlinkPromise(lockPath); await this.unlinkPromise(lockPath);
continue; continue;
} catch { } catch (error2) {
} }
} }
if (Date.now() - startTime < 60 * 1e3) { if (Date.now() - startTime < 60 * 1e3) {
@@ -599,7 +589,7 @@ class FakeFS {
try { try {
await this.closePromise(fd); await this.closePromise(fd);
await this.unlinkPromise(lockPath); await this.unlinkPromise(lockPath);
} catch { } catch (error) {
} }
} }
} }
@@ -834,12 +824,6 @@ class ProxiedFS extends FakeFS {
rmdirSync(p, opts) { rmdirSync(p, opts) {
return this.baseFs.rmdirSync(this.mapToBase(p), opts); return this.baseFs.rmdirSync(this.mapToBase(p), opts);
} }
async rmPromise(p, opts) {
return this.baseFs.rmPromise(this.mapToBase(p), opts);
}
rmSync(p, opts) {
return this.baseFs.rmSync(this.mapToBase(p), opts);
}
async linkPromise(existingP, newP) { async linkPromise(existingP, newP) {
return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
} }
@@ -895,7 +879,6 @@ class ProxiedFS extends FakeFS {
watch(p, a, b) { watch(p, a, b) {
return this.baseFs.watch( return this.baseFs.watch(
this.mapToBase(p), this.mapToBase(p),
// @ts-expect-error - reason TBS
a, a,
b b
); );
@@ -903,7 +886,6 @@ class ProxiedFS extends FakeFS {
watchFile(p, a, b) { watchFile(p, a, b) {
return this.baseFs.watchFile( return this.baseFs.watchFile(
this.mapToBase(p), this.mapToBase(p),
// @ts-expect-error - reason TBS
a, a,
b b
); );
@@ -927,7 +909,6 @@ function direntToPortable(dirent) {
return portableDirent; return portableDirent;
} }
class NodeFS extends BasePortableFakeFS { class NodeFS extends BasePortableFakeFS {
realFs;
constructor(realFs = fs) { constructor(realFs = fs) {
super(); super();
this.realFs = realFs; this.realFs = realFs;
@@ -1224,18 +1205,6 @@ class NodeFS extends BasePortableFakeFS {
rmdirSync(p, opts) { rmdirSync(p, opts) {
return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); return this.realFs.rmdirSync(npath.fromPortablePath(p), opts);
} }
async rmPromise(p, opts) {
return await new Promise((resolve, reject) => {
if (opts) {
this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
} else {
this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
}
});
}
rmSync(p, opts) {
return this.realFs.rmSync(npath.fromPortablePath(p), opts);
}
async linkPromise(existingP, newP) { async linkPromise(existingP, newP) {
return await new Promise((resolve, reject) => { return await new Promise((resolve, reject) => {
this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
@@ -1323,7 +1292,6 @@ class NodeFS extends BasePortableFakeFS {
watch(p, a, b) { watch(p, a, b) {
return this.realFs.watch( return this.realFs.watch(
npath.fromPortablePath(p), npath.fromPortablePath(p),
// @ts-expect-error - reason TBS
a, a,
b b
); );
@@ -1331,7 +1299,6 @@ class NodeFS extends BasePortableFakeFS {
watchFile(p, a, b) { watchFile(p, a, b) {
return this.realFs.watchFile( return this.realFs.watchFile(
npath.fromPortablePath(p), npath.fromPortablePath(p),
// @ts-expect-error - reason TBS
a, a,
b b
); );
@@ -1354,7 +1321,10 @@ const NUMBER_REGEXP = /^[0-9]+$/;
const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
class VirtualFS extends ProxiedFS { class VirtualFS extends ProxiedFS {
baseFs; constructor({ baseFs = new NodeFS() } = {}) {
super(ppath);
this.baseFs = baseFs;
}
static makeVirtualPath(base, component, to) { static makeVirtualPath(base, component, to) {
if (ppath.basename(base) !== `__virtual__`) if (ppath.basename(base) !== `__virtual__`)
throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
@@ -1384,10 +1354,6 @@ class VirtualFS extends ProxiedFS {
const subpath = match[5] || `.`; const subpath = match[5] || `.`;
return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath));
} }
constructor({ baseFs = new NodeFS() } = {}) {
super(ppath);
this.baseFs = baseFs;
}
getExtractHint(hints) { getExtractHint(hints) {
return this.baseFs.getExtractHint(hints); return this.baseFs.getExtractHint(hints);
} }
@@ -1426,13 +1392,9 @@ class VirtualFS extends ProxiedFS {
} }
} }
const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL;
const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13;
const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3;
const SUPPORTS_IMPORT_ATTRIBUTES = major >= 21 || major === 20 && minor >= 10 || major === 18 && minor >= 20;
const SUPPORTS_IMPORT_ATTRIBUTES_ONLY = major >= 22;
function readPackageScope(checkPath) { function readPackageScope(checkPath) {
const rootSeparatorIndex = checkPath.indexOf(npath.sep); const rootSeparatorIndex = checkPath.indexOf(npath.sep);
@@ -1470,7 +1432,7 @@ async function tryReadFile$1(path2) {
} }
function tryParseURL(str, base) { function tryParseURL(str, base) {
try { try {
return new URL(str, base); return new URL$1(str, base);
} catch { } catch {
return null; return null;
} }
@@ -1523,21 +1485,10 @@ async function load$1(urlString, context, nextLoad) {
const format = getFileFormat(filePath); const format = getFileFormat(filePath);
if (!format) if (!format)
return nextLoad(urlString, context, nextLoad); return nextLoad(urlString, context, nextLoad);
if (format === `json`) { if (format === `json` && context.importAssertions?.type !== `json`) {
if (SUPPORTS_IMPORT_ATTRIBUTES_ONLY) { const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`);
if (context.importAttributes?.type !== `json`) { err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`;
const err = new TypeError(`[ERR_IMPORT_ATTRIBUTE_MISSING]: Module "${urlString}" needs an import attribute of "type: json"`); throw err;
err.code = `ERR_IMPORT_ATTRIBUTE_MISSING`;
throw err;
}
} else {
const type = `importAttributes` in context ? context.importAttributes?.type : context.importAssertions?.type;
if (type !== `json`) {
const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import ${SUPPORTS_IMPORT_ATTRIBUTES ? `attribute` : `assertion`} of type "json"`);
err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`;
throw err;
}
}
} }
if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {
const pathToSend = pathToFileURL( const pathToSend = pathToFileURL(
@@ -1725,6 +1676,28 @@ function getPackageScopeConfig(resolved, readFileSyncFn) {
return packageConfig; return packageConfig;
} }
/**
@license
Copyright Node.js contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
*/
function throwImportNotDefined(specifier, packageJSONUrl, base) { function throwImportNotDefined(specifier, packageJSONUrl, base) {
throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(
specifier, specifier,
@@ -1784,7 +1757,8 @@ function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base
const packagePath = new URL(".", packageJSONUrl).pathname; const packagePath = new URL(".", packageJSONUrl).pathname;
if (!StringPrototypeStartsWith(resolvedPath, packagePath)) if (!StringPrototypeStartsWith(resolvedPath, packagePath))
throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
if (subpath === "") return resolved; if (subpath === "")
return resolved;
if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) {
const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath;
throwInvalidSubpath(request, packageJSONUrl, internal, base); throwInvalidSubpath(request, packageJSONUrl, internal, base);
@@ -1798,7 +1772,8 @@ function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base
} }
function isArrayIndex(key) { function isArrayIndex(key) {
const keyNum = +key; const keyNum = +key;
if (`${keyNum}` !== key) return false; if (`${keyNum}` !== key)
return false;
return keyNum >= 0 && keyNum < 4294967295; return keyNum >= 0 && keyNum < 4294967295;
} }
function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) {
@@ -1875,7 +1850,8 @@ function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, b
internal, internal,
conditions conditions
); );
if (resolveResult === void 0) continue; if (resolveResult === void 0)
continue;
return resolveResult; return resolveResult;
} }
} }
@@ -1896,12 +1872,18 @@ function patternKeyCompare(a, b) {
const bPatternIndex = StringPrototypeIndexOf(b, "*"); const bPatternIndex = StringPrototypeIndexOf(b, "*");
const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;
const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
if (baseLenA > baseLenB) return -1; if (baseLenA > baseLenB)
if (baseLenB > baseLenA) return 1; return -1;
if (aPatternIndex === -1) return 1; if (baseLenB > baseLenA)
if (bPatternIndex === -1) return -1; return 1;
if (a.length > b.length) return -1; if (aPatternIndex === -1)
if (b.length > a.length) return 1; return 1;
if (bPatternIndex === -1)
return -1;
if (a.length > b.length)
return -1;
if (b.length > a.length)
return 1;
return 0; return 0;
} }
function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
@@ -1973,13 +1955,6 @@ function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
throwImportNotDefined(name, packageJSONUrl, base); throwImportNotDefined(name, packageJSONUrl, base);
} }
let findPnpApi = esmModule.findPnpApi;
if (!findPnpApi) {
const require = createRequire(import.meta.url);
const pnpApi = require(`./.pnp.cjs`);
pnpApi.setup();
findPnpApi = esmModule.findPnpApi;
}
const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
const isRelativeRegexp = /^\.{0,2}\//; const isRelativeRegexp = /^\.{0,2}\//;
function tryReadFile(filePath) { function tryReadFile(filePath) {
@@ -2007,6 +1982,7 @@ async function resolvePrivateRequest(specifier, issuer, context, nextResolve) {
} }
} }
async function resolve$1(originalSpecifier, context, nextResolve) { async function resolve$1(originalSpecifier, context, nextResolve) {
const { findPnpApi } = moduleExports;
if (!findPnpApi || isBuiltin(originalSpecifier)) if (!findPnpApi || isBuiltin(originalSpecifier))
return nextResolve(originalSpecifier, context, nextResolve); return nextResolve(originalSpecifier, context, nextResolve);
let specifier = originalSpecifier; let specifier = originalSpecifier;
@@ -2042,7 +2018,6 @@ async function resolve$1(originalSpecifier, context, nextResolve) {
try { try {
result = pnpapi.resolveRequest(specifier, issuer, { result = pnpapi.resolveRequest(specifier, issuer, {
conditions: new Set(conditions), conditions: new Set(conditions),
// TODO: Handle --experimental-specifier-resolution=node
extensions: allowLegacyResolve ? void 0 : [] extensions: allowLegacyResolve ? void 0 : []
}); });
} catch (err) { } catch (err) {
@@ -2073,9 +2048,6 @@ if (!HAS_LAZY_LOADED_TRANSLATORS) {
try { try {
return fs.readFileSync(args[0], { return fs.readFileSync(args[0], {
encoding: `utf8`, encoding: `utf8`,
// @ts-expect-error - The docs says it needs to be a string but
// links to https://nodejs.org/dist/latest-v20.x/docs/api/fs.html#file-system-flags
// which says it can be a number which matches the implementation.
flag: args[1] flag: args[1]
}); });
} catch { } catch {
@@ -2103,14 +2075,6 @@ if (!HAS_LAZY_LOADED_TRANSLATORS) {
stats.ino, stats.ino,
stats.size, stats.size,
stats.blocks stats.blocks
// atime sec
// atime ns
// mtime sec
// mtime ns
// ctime sec
// ctime ns
// birthtime sec
// birthtime ns
]); ]);
} catch { } catch {
} }

View File

@@ -1,2 +1,2 @@
nodejs 22.18.0 nodejs 21.6.0
yarn 1.22.22 yarn 1.22.19

File diff suppressed because one or more lines are too long

893
.yarn/releases/yarn-4.0.2.cjs vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1 @@
plugins: yarnPath: .yarn/releases/yarn-4.0.2.cjs
- checksum: 5e73a1acbb9741fce1e8335e243c9480ea2107b9b4b65ed7643785ddea9e3019aee254a92a853b1cd71023b16fff5b7d3afd5256fe57cd35a54f8785b8c30281
path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: "https://go.mskelton.dev/yarn-outdated/v4"
yarnPath: .yarn/releases/yarn-4.9.2.cjs

View File

@@ -1,10 +1,10 @@
FROM node:22.17.1-slim FROM node:21.6.0-slim
WORKDIR /opt/app WORKDIR /opt/app
RUN apt-get update \ RUN apt-get update \
&& apt-get -y install make \ && apt-get -y install make \
&& yarn set version 4.6.0 && yarn set version 3.6.3
COPY ./Makefile ./ COPY ./Makefile ./
COPY ./package.json ./ COPY ./package.json ./

View File

@@ -6,7 +6,7 @@ asdf_install:
.PHONY: yarn_setup .PHONY: yarn_setup
yarn_setup: yarn_setup:
@yarn set version 4.6.0 @yarn set version 4.0.2
@yarn init -2 @yarn init -2
@yarn add typescript jest @types/jest ts-node ts-jest @yarn add typescript jest @types/jest ts-node ts-jest

View File

@@ -1,12 +1,12 @@
{ {
"name": "clean-architecture", "name": "clean-architecture",
"packageManager": "yarn@4.9.2", "packageManager": "yarn@4.0.2",
"dependencies": { "dependencies": {
"@types/jest": "^30.0.0", "@types/jest": "^29.5.4",
"@types/node": "^22.7.5", "@types/node": "^20.6.3",
"jest": "^30.0.0", "jest": "^29.6.4",
"ts-jest": "^29.2.5", "ts-jest": "^29.1.1",
"ts-node": "^10.9.2", "ts-node": "^10.9.1",
"typescript": "^5.6.2" "typescript": "^5.2.2"
} }
} }

2979
yarn.lock

File diff suppressed because it is too large Load Diff