mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-03-11 02:15:57 -05:00
fix: improve support for fs promises older nodejs (#3570)
* fix: improve support for fs promises older nodejs * second try with fallback for nodejs18
This commit is contained in:
parent
1ca60b1b4d
commit
ef88da3b47
19 changed files with 60 additions and 41 deletions
18
.changeset/chatty-pillows-perform.md
Normal file
18
.changeset/chatty-pillows-perform.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
'@verdaccio/api': minor
|
||||
'@verdaccio/config': minor
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/file-locking': minor
|
||||
'@verdaccio/tarball': minor
|
||||
'@verdaccio/types': minor
|
||||
'@verdaccio/url': minor
|
||||
'@verdaccio/hooks': minor
|
||||
'@verdaccio/loaders': minor
|
||||
'@verdaccio/logger': minor
|
||||
'@verdaccio/logger-prettify': minor
|
||||
'@verdaccio/local-storage': minor
|
||||
'@verdaccio/utils': minor
|
||||
'verdaccio': minor
|
||||
---
|
||||
|
||||
feat: improve support for fs promises older nodejs
|
|
@ -16,7 +16,7 @@ import { buildToken, generateRandomHexString } from '@verdaccio/utils';
|
|||
|
||||
import apiMiddleware from '../../src';
|
||||
|
||||
setup();
|
||||
setup({});
|
||||
|
||||
export const getConf = (conf) => {
|
||||
const configPath = path.join(__dirname, 'config', conf);
|
||||
|
|
|
@ -26,8 +26,7 @@
|
|||
"verdaccio"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { writeFile } from 'fs/promises';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
import { fileUtils } from '@verdaccio/core';
|
||||
|
@ -6,6 +6,8 @@ import { fileUtils } from '@verdaccio/core';
|
|||
import { fromJStoYAML, parseConfigFile } from '../src';
|
||||
import { parseConfigurationFile } from './utils';
|
||||
|
||||
const { writeFile } = fs.promises ? fs.promises : require('fs/promises');
|
||||
|
||||
describe('parse', () => {
|
||||
describe('parseConfigFile', () => {
|
||||
describe('JSON format', () => {
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
"license": "MIT",
|
||||
"homepage": "https://verdaccio.org",
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { mkdir, mkdtemp } from 'fs/promises';
|
||||
import fs from 'fs';
|
||||
import os from 'os';
|
||||
import path from 'path';
|
||||
|
||||
|
@ -6,6 +6,8 @@ export const Files = {
|
|||
DatabaseName: '.verdaccio-db.json',
|
||||
};
|
||||
|
||||
const { mkdir, mkdtemp } = fs.promises ? fs.promises : require('fs/promises');
|
||||
|
||||
/**
|
||||
* Create a temporary folder.
|
||||
* @param prefix The prefix of the folder name.
|
||||
|
|
|
@ -17,8 +17,7 @@
|
|||
"license": "MIT",
|
||||
"homepage": "https://verdaccio.org",
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import fs from 'fs/promises';
|
||||
import fs from 'fs';
|
||||
import locker from 'lockfile';
|
||||
import path from 'path';
|
||||
import { promisify } from 'util';
|
||||
|
||||
export const readFile = fs.readFile;
|
||||
const statPromise = fs.stat;
|
||||
const fsP = fs.promises ? fs.promises : require('fs/promises');
|
||||
|
||||
export const readFile = fsP.readFile;
|
||||
const statPromise = fsP.stat;
|
||||
// https://github.com/npm/lockfile/issues/33
|
||||
const lfLock = promisify(locker.lock);
|
||||
const lfUnlock = promisify(locker.unlock);
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
"license": "MIT",
|
||||
"homepage": "https://verdaccio.org",
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
|
|
|
@ -17,8 +17,7 @@
|
|||
"license": "MIT",
|
||||
"homepage": "https://verdaccio.org",
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
"license": "MIT",
|
||||
"homepage": "https://verdaccio.org",
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
|
|
|
@ -26,8 +26,7 @@
|
|||
"verdaccio"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=16"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.53",
|
||||
|
|
|
@ -38,8 +38,7 @@
|
|||
"verdaccio"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import buildDebug from 'debug';
|
||||
import { lstat } from 'fs/promises';
|
||||
import fs from 'fs';
|
||||
import { dirname, isAbsolute, join, resolve } from 'path';
|
||||
|
||||
import { pluginUtils } from '@verdaccio/core';
|
||||
|
@ -10,6 +10,8 @@ import { PluginType, isES6, isValid, tryLoad } from './utils';
|
|||
|
||||
const debug = buildDebug('verdaccio:plugin:loader:async');
|
||||
|
||||
const { lstat } = fs.promises ? fs.promises : require('fs/promises');
|
||||
|
||||
async function isDirectory(pathFolder: string) {
|
||||
const stat = await lstat(pathFolder);
|
||||
return stat.isDirectory();
|
||||
|
|
|
@ -26,8 +26,7 @@
|
|||
"verdaccio"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
|
|
@ -26,8 +26,7 @@
|
|||
"verdaccio"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
import fsCallback from 'fs';
|
||||
import fs from 'fs/promises';
|
||||
import fs from 'fs';
|
||||
|
||||
const readFile = fs.readFile;
|
||||
const mkdirPromise = fs.mkdir;
|
||||
const accessPromise = fs.access;
|
||||
const writeFilePromise = fs.writeFile;
|
||||
const readdirPromise = fs.readdir;
|
||||
const statPromise = fs.stat;
|
||||
const unlinkPromise = fs.unlink;
|
||||
const rmdirPromise = fs.rmdir;
|
||||
const renamePromise = fs.rename;
|
||||
const openPromise = fs.open;
|
||||
const fsP = fs.promises ? fs.promises : require('fs/promises');
|
||||
|
||||
const readFile = fsP.readFile;
|
||||
const mkdirPromise = fsP.mkdir;
|
||||
const accessPromise = fsP.access;
|
||||
const writeFilePromise = fsP.writeFile;
|
||||
const readdirPromise = fsP.readdir;
|
||||
const statPromise = fsP.stat;
|
||||
const unlinkPromise = fsP.unlink;
|
||||
const rmdirPromise = fsP.rmdir;
|
||||
const renamePromise = fsP.rename;
|
||||
const openPromise = fsP.open;
|
||||
|
||||
const readFilePromise = async (path) => {
|
||||
return await readFile(path, 'utf8');
|
||||
|
|
|
@ -26,8 +26,7 @@
|
|||
"verdaccio"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
"npm": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.53",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { ChildProcess, fork } from 'child_process';
|
||||
import buildDebug from 'debug';
|
||||
import { writeFile } from 'fs/promises';
|
||||
import fs from 'fs';
|
||||
import getPort from 'get-port';
|
||||
import path from 'path';
|
||||
|
||||
|
@ -11,6 +11,8 @@ import { buildToken } from '@verdaccio/utils';
|
|||
|
||||
import { ServerQuery } from './request';
|
||||
|
||||
const { writeFile } = fs.promises ? fs.promises : require('fs/promises');
|
||||
|
||||
const buildAuthHeader = (token: string): string => {
|
||||
return buildToken(TOKEN_BEARER, token);
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue