1 Commits

Author SHA1 Message Date
c310381dc3 fix(deps): update dependency @types/node to v20.11.0
All checks were successful
continuous-integration/drone/pr Build is passing
2024-01-11 05:52:54 +00:00
12 changed files with 3656 additions and 5475 deletions

View File

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

4078
.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 { URL as URL$1, fileURLToPath, pathToFileURL } from 'url';
import path from 'path';
import { createHash } from 'crypto';
import { EOL } from 'os';
import esmModule, { createRequire, isBuiltin } from 'module';
import moduleExports, { isBuiltin } from 'module';
import assert from 'assert';
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);
}
break;
default: {
throw new Error(`Unsupported file type (${sourceStat.mode})`);
}
default:
{
throw new Error(`Unsupported file type (${sourceStat.mode})`);
}
}
if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
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) {
try {
return await baseFs.lstatPromise(p);
} catch {
} catch (e) {
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) {
const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
const defaultMode = 420;
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`);
const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${sourceHash}.dat`);
let AtomicBehavior;
((AtomicBehavior2) => {
AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock";
@@ -236,12 +231,8 @@ async function copyFileViaIndex(prelayout, postlayout, destinationFs, destinatio
}
});
postlayout.push(async () => {
if (!indexStat) {
if (!indexStat)
await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
if (sourceMode !== defaultMode) {
await destinationFs.chmodPromise(indexPath, sourceMode);
}
}
if (tempPath && !tempPathCleaned) {
await destinationFs.unlinkPromise(tempPath);
}
@@ -286,7 +277,6 @@ async function copySymlink(prelayout, postlayout, destinationFs, destination, de
}
class FakeFS {
pathUtils;
constructor(pathUtils) {
this.pathUtils = pathUtils;
}
@@ -482,7 +472,7 @@ class FakeFS {
let current = Buffer.alloc(0);
try {
current = await this.readFilePromise(p);
} catch {
} catch (error) {
}
if (Buffer.compare(current, content) === 0)
return;
@@ -492,7 +482,7 @@ class FakeFS {
let current = ``;
try {
current = await this.readFilePromise(p, `utf8`);
} catch {
} catch (error) {
}
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent)
@@ -510,7 +500,7 @@ class FakeFS {
let current = Buffer.alloc(0);
try {
current = this.readFileSync(p);
} catch {
} catch (error) {
}
if (Buffer.compare(current, content) === 0)
return;
@@ -520,7 +510,7 @@ class FakeFS {
let current = ``;
try {
current = this.readFileSync(p, `utf8`);
} catch {
} catch (error) {
}
const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
if (current === normalizedContent)
@@ -560,13 +550,13 @@ class FakeFS {
let pid;
try {
[pid] = await this.readJsonPromise(lockPath);
} catch {
} catch (error) {
return Date.now() - startTime < 500;
}
try {
process.kill(pid, 0);
return true;
} catch {
} catch (error) {
return false;
}
};
@@ -579,7 +569,7 @@ class FakeFS {
try {
await this.unlinkPromise(lockPath);
continue;
} catch {
} catch (error2) {
}
}
if (Date.now() - startTime < 60 * 1e3) {
@@ -599,7 +589,7 @@ class FakeFS {
try {
await this.closePromise(fd);
await this.unlinkPromise(lockPath);
} catch {
} catch (error) {
}
}
}
@@ -834,12 +824,6 @@ class ProxiedFS extends FakeFS {
rmdirSync(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) {
return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
}
@@ -895,7 +879,6 @@ class ProxiedFS extends FakeFS {
watch(p, a, b) {
return this.baseFs.watch(
this.mapToBase(p),
// @ts-expect-error - reason TBS
a,
b
);
@@ -903,7 +886,6 @@ class ProxiedFS extends FakeFS {
watchFile(p, a, b) {
return this.baseFs.watchFile(
this.mapToBase(p),
// @ts-expect-error - reason TBS
a,
b
);
@@ -927,7 +909,6 @@ function direntToPortable(dirent) {
return portableDirent;
}
class NodeFS extends BasePortableFakeFS {
realFs;
constructor(realFs = fs) {
super();
this.realFs = realFs;
@@ -1224,18 +1205,6 @@ class NodeFS extends BasePortableFakeFS {
rmdirSync(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) {
return await new Promise((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) {
return this.realFs.watch(
npath.fromPortablePath(p),
// @ts-expect-error - reason TBS
a,
b
);
@@ -1331,7 +1299,6 @@ class NodeFS extends BasePortableFakeFS {
watchFile(p, a, b) {
return this.realFs.watchFile(
npath.fromPortablePath(p),
// @ts-expect-error - reason TBS
a,
b
);
@@ -1354,7 +1321,10 @@ const NUMBER_REGEXP = /^[0-9]+$/;
const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
class VirtualFS extends ProxiedFS {
baseFs;
constructor({ baseFs = new NodeFS() } = {}) {
super(ppath);
this.baseFs = baseFs;
}
static makeVirtualPath(base, component, to) {
if (ppath.basename(base) !== `__virtual__`)
throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
@@ -1384,10 +1354,6 @@ class VirtualFS extends ProxiedFS {
const subpath = match[5] || `.`;
return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath));
}
constructor({ baseFs = new NodeFS() } = {}) {
super(ppath);
this.baseFs = 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 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 SUPPORTS_IMPORT_ATTRIBUTES = major >= 21 || major === 20 && minor >= 10 || major === 18 && minor >= 20;
const SUPPORTS_IMPORT_ATTRIBUTES_ONLY = major >= 22;
function readPackageScope(checkPath) {
const rootSeparatorIndex = checkPath.indexOf(npath.sep);
@@ -1470,7 +1432,7 @@ async function tryReadFile$1(path2) {
}
function tryParseURL(str, base) {
try {
return new URL(str, base);
return new URL$1(str, base);
} catch {
return null;
}
@@ -1523,21 +1485,10 @@ async function load$1(urlString, context, nextLoad) {
const format = getFileFormat(filePath);
if (!format)
return nextLoad(urlString, context, nextLoad);
if (format === `json`) {
if (SUPPORTS_IMPORT_ATTRIBUTES_ONLY) {
if (context.importAttributes?.type !== `json`) {
const err = new TypeError(`[ERR_IMPORT_ATTRIBUTE_MISSING]: Module "${urlString}" needs an import attribute of "type: json"`);
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 (format === `json` && context.importAssertions?.type !== `json`) {
const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`);
err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`;
throw err;
}
if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {
const pathToSend = pathToFileURL(
@@ -1725,6 +1676,28 @@ function getPackageScopeConfig(resolved, readFileSyncFn) {
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) {
throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(
specifier,
@@ -1784,7 +1757,8 @@ function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base
const packagePath = new URL(".", packageJSONUrl).pathname;
if (!StringPrototypeStartsWith(resolvedPath, packagePath))
throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
if (subpath === "") return resolved;
if (subpath === "")
return resolved;
if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) {
const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath;
throwInvalidSubpath(request, packageJSONUrl, internal, base);
@@ -1798,7 +1772,8 @@ function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base
}
function isArrayIndex(key) {
const keyNum = +key;
if (`${keyNum}` !== key) return false;
if (`${keyNum}` !== key)
return false;
return keyNum >= 0 && keyNum < 4294967295;
}
function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) {
@@ -1875,7 +1850,8 @@ function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, b
internal,
conditions
);
if (resolveResult === void 0) continue;
if (resolveResult === void 0)
continue;
return resolveResult;
}
}
@@ -1896,12 +1872,18 @@ function patternKeyCompare(a, b) {
const bPatternIndex = StringPrototypeIndexOf(b, "*");
const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;
const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
if (baseLenA > baseLenB) return -1;
if (baseLenB > baseLenA) return 1;
if (aPatternIndex === -1) return 1;
if (bPatternIndex === -1) return -1;
if (a.length > b.length) return -1;
if (b.length > a.length) return 1;
if (baseLenA > baseLenB)
return -1;
if (baseLenB > baseLenA)
return 1;
if (aPatternIndex === -1)
return 1;
if (bPatternIndex === -1)
return -1;
if (a.length > b.length)
return -1;
if (b.length > a.length)
return 1;
return 0;
}
function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
@@ -1973,13 +1955,6 @@ function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
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 isRelativeRegexp = /^\.{0,2}\//;
function tryReadFile(filePath) {
@@ -2007,6 +1982,7 @@ async function resolvePrivateRequest(specifier, issuer, context, nextResolve) {
}
}
async function resolve$1(originalSpecifier, context, nextResolve) {
const { findPnpApi } = moduleExports;
if (!findPnpApi || isBuiltin(originalSpecifier))
return nextResolve(originalSpecifier, context, nextResolve);
let specifier = originalSpecifier;
@@ -2042,7 +2018,6 @@ async function resolve$1(originalSpecifier, context, nextResolve) {
try {
result = pnpapi.resolveRequest(specifier, issuer, {
conditions: new Set(conditions),
// TODO: Handle --experimental-specifier-resolution=node
extensions: allowLegacyResolve ? void 0 : []
});
} catch (err) {
@@ -2073,9 +2048,6 @@ if (!HAS_LAZY_LOADED_TRANSLATORS) {
try {
return fs.readFileSync(args[0], {
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]
});
} catch {
@@ -2103,14 +2075,6 @@ if (!HAS_LAZY_LOADED_TRANSLATORS) {
stats.ino,
stats.size,
stats.blocks
// atime sec
// atime ns
// mtime sec
// mtime ns
// ctime sec
// ctime ns
// birthtime sec
// birthtime ns
]);
} catch {
}

View File

@@ -1,2 +1,2 @@
nodejs 22.17.1
yarn 1.22.22
nodejs 21.1.0
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:
- 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
yarnPath: .yarn/releases/yarn-4.0.2.cjs

View File

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

View File

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

View File

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

2980
yarn.lock

File diff suppressed because it is too large Load Diff