0
Fork 0
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:
Juan Picado 2023-01-22 09:48:04 +01:00 committed by GitHub
parent 1ca60b1b4d
commit ef88da3b47
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 60 additions and 41 deletions

View 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

View file

@ -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);

View file

@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",

View file

@ -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', () => {

View file

@ -19,8 +19,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",

View file

@ -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.

View file

@ -17,8 +17,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",

View file

@ -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);

View file

@ -19,8 +19,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",

View file

@ -17,8 +17,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",

View file

@ -19,8 +19,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",

View file

@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=16"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.53",

View file

@ -38,8 +38,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"license": "MIT",
"scripts": {

View file

@ -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();

View file

@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",

View file

@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",

View file

@ -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');

View file

@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.53",

View file

@ -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);
};