mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-17 03:19:36 +01:00
refactor: config module (#1995)
* refactor: clean up config * refactor: config, move methods * chore: remove js-yaml from utils
This commit is contained in:
parent
39570af086
commit
a9ba3d0649
11
package.json
11
package.json
@ -95,11 +95,11 @@
|
||||
"standard-version": "8.0.0",
|
||||
"supertest": "4.0.2",
|
||||
"typescript": "^3.9.7",
|
||||
"verdaccio": "latest",
|
||||
"verdaccio-audit": "latest",
|
||||
"verdaccio-auth-memory": "latest",
|
||||
"verdaccio-htpasswd": "latest",
|
||||
"verdaccio-memory": "latest"
|
||||
"verdaccio": "workspace:*",
|
||||
"verdaccio-audit": "workspace:*",
|
||||
"verdaccio-auth-memory": "workspace:*",
|
||||
"verdaccio-htpasswd": "workspace:*",
|
||||
"verdaccio-memory": "workspace:*"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "cross-env BABEL_ENV=registry babel-node --extensions \".ts,.tsx\" packages/cli/src",
|
||||
@ -112,6 +112,7 @@
|
||||
"test": "pnpm recursive test",
|
||||
"start": "node packages/verdaccio/debug/bootstrap.js",
|
||||
"debug": "node --inspect packages/verdaccio/debug/bootstrap.js",
|
||||
"debug:break": "node --inspect-brk packages/verdaccio/debug/bootstrap.js",
|
||||
"test:e2e:cli": "cross-env NODE_ENV=test jest --config ./test/e2e-cli/jest.config.e2e.cli.js --passWithNoTests",
|
||||
"website:lint": "cd website && yarn lint",
|
||||
"website:develop": "cd website && yarn develop",
|
||||
|
@ -3,8 +3,7 @@ import express, { Application } from 'express';
|
||||
import supertest from 'supertest';
|
||||
import bodyParser from 'body-parser';
|
||||
|
||||
import { parseConfigFile } from '@verdaccio/utils';
|
||||
import { Config } from '@verdaccio/config';
|
||||
import { Config, parseConfigFile } from '@verdaccio/config';
|
||||
import { Storage } from '@verdaccio/store';
|
||||
import { final, handleError, errorReportingMiddleware } from '@verdaccio/middleware';
|
||||
import { Auth, IAuth } from '@verdaccio/auth';
|
||||
|
@ -27,11 +27,11 @@ import {
|
||||
import {
|
||||
isNil,
|
||||
isFunction,
|
||||
getMatchedPackagesSpec,
|
||||
createAnonymousRemoteUser,
|
||||
convertPayloadToBase64,
|
||||
createRemoteUser,
|
||||
} from '@verdaccio/utils';
|
||||
import { getMatchedPackagesSpec } from '@verdaccio/config';
|
||||
|
||||
import {
|
||||
getMiddlewareCredentials,
|
||||
|
@ -3,13 +3,12 @@ import _ from 'lodash';
|
||||
import { CHARACTER_ENCODING, TOKEN_BEARER, ROLES, API_ERROR } from '@verdaccio/dev-commons';
|
||||
|
||||
import { configExample } from '@verdaccio/mock';
|
||||
import { Config as AppConfig } from '@verdaccio/config';
|
||||
import { Config as AppConfig, parseConfigFile } from '@verdaccio/config';
|
||||
import { setup } from '@verdaccio/logger';
|
||||
|
||||
import {
|
||||
getAuthenticatedMessage,
|
||||
buildToken,
|
||||
parseConfigFile,
|
||||
createAnonymousRemoteUser,
|
||||
createRemoteUser,
|
||||
AllowActionCallbackResponse,
|
||||
|
@ -1,3 +1 @@
|
||||
const config = require('../../jest/config');
|
||||
|
||||
module.exports = Object.assign({}, config, {});
|
||||
module.exports = require('../../jest/config');
|
||||
|
@ -31,10 +31,9 @@
|
||||
"@verdaccio/logger": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/node-api": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/utils": "workspace:5.0.0-alpha.0",
|
||||
"commander": "5.1.0",
|
||||
"commander": "6.2.0",
|
||||
"envinfo": "7.4.0",
|
||||
"kleur": "3.0.3",
|
||||
"lodash": "^4.17.20",
|
||||
"semver": "7.3.2"
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,3 @@
|
||||
/* eslint no-sync:0 */
|
||||
/* eslint no-empty:0 */
|
||||
|
||||
import commander from 'commander';
|
||||
import { bgYellow, bgRed } from 'kleur';
|
||||
|
||||
@ -32,7 +29,7 @@ if (isVersionValid()) {
|
||||
|
||||
process.title = 'verdaccio';
|
||||
|
||||
const pkgVersion = '5.0.0';
|
||||
const pkgVersion = require('../package.json').version;
|
||||
const pkgName = 'verdaccio';
|
||||
|
||||
commander
|
||||
|
@ -1,8 +1,6 @@
|
||||
import path from 'path';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { parseConfigFile } from '@verdaccio/utils';
|
||||
import { findConfigFile } from '@verdaccio/config';
|
||||
import { findConfigFile, parseConfigFile } from '@verdaccio/config';
|
||||
import { startVerdaccio, listenDefaultCallback } from '@verdaccio/node-api';
|
||||
|
||||
export const DEFAULT_PROCESS_NAME: string = 'verdaccio';
|
||||
@ -20,16 +18,16 @@ export default function initProgram(commander, pkgVersion, pkgName) {
|
||||
|
||||
process.title = web?.title || DEFAULT_PROCESS_NAME;
|
||||
|
||||
// note: self_path is only being used by @verdaccio/storage, not really useful
|
||||
// and migth be removed soon
|
||||
// FIXME: self_path is only being used by @verdaccio/storage, not really useful
|
||||
// and might be removed soon
|
||||
if (!self_path) {
|
||||
verdaccioConfiguration = _.assign({}, verdaccioConfiguration, {
|
||||
verdaccioConfiguration = Object.assign({}, verdaccioConfiguration, {
|
||||
self_path: path.resolve(configPathLocation),
|
||||
});
|
||||
}
|
||||
|
||||
if (!https) {
|
||||
verdaccioConfiguration = _.assign({}, verdaccioConfiguration, {
|
||||
verdaccioConfiguration = Object.assign({}, verdaccioConfiguration, {
|
||||
https: { enable: false },
|
||||
});
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import semver from 'semver';
|
||||
|
||||
export const MIN_NODE_VERSION = '6.9.0';
|
||||
export const MIN_NODE_VERSION = '10.22.1';
|
||||
|
||||
export const isVersionValid = () =>
|
||||
semver.satisfies(process.version, `>=${MIN_NODE_VERSION}`) === false;
|
||||
|
@ -24,10 +24,14 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/dev-commons": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/logger": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/utils": "workspace:5.0.0-alpha.0",
|
||||
"mkdirp": "0.5.5",
|
||||
"debug": "^4.2.0",
|
||||
"lodash": "^4.17.20"
|
||||
"js-yaml": "3.14.0",
|
||||
"lodash": "^4.17.20",
|
||||
"mkdirp": "0.5.5",
|
||||
"yup": "^0.29.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/yup": "^0.29.9"
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,8 @@ import fs from 'fs';
|
||||
import path from 'path';
|
||||
import Path from 'path';
|
||||
import _ from 'lodash';
|
||||
import { logger } from '@verdaccio/logger';
|
||||
import mkdirp from 'mkdirp';
|
||||
import buildDebug from 'debug';
|
||||
|
||||
import { folderExists, fileExists } from '@verdaccio/utils';
|
||||
import { CHARACTER_ENCODING } from '@verdaccio/dev-commons';
|
||||
@ -22,6 +22,8 @@ export type SetupDirectory = {
|
||||
type: string;
|
||||
};
|
||||
|
||||
const debug = buildDebug('verdaccio:config');
|
||||
|
||||
/**
|
||||
* Find and get the first config file that match.
|
||||
* @return {String} the config file path
|
||||
@ -66,7 +68,7 @@ export function readDefaultConfig(): Buffer {
|
||||
|
||||
function createConfigFolder(configLocation): void {
|
||||
mkdirp.sync(Path.dirname(configLocation.path));
|
||||
logger.info({ file: configLocation.path }, 'Creating default config file in @{file}');
|
||||
debug(`Creating default config file in %o`, configLocation?.path);
|
||||
}
|
||||
|
||||
function updateStorageLinks(configLocation, defaultConfig): string {
|
||||
|
@ -3,7 +3,8 @@ import _ from 'lodash';
|
||||
import minimatch from 'minimatch';
|
||||
|
||||
import { PackageList, UpLinksConfList, PackageAccess } from '@verdaccio/types';
|
||||
import { ErrorCode } from './utils';
|
||||
import { ErrorCode } from '@verdaccio/utils';
|
||||
import { MatchedPackage } from './config';
|
||||
|
||||
export type PackageAccessAddOn = PackageAccess & {
|
||||
// FIXME: should be published on @verdaccio/types
|
||||
@ -14,8 +15,6 @@ export interface LegacyPackageList {
|
||||
[key: string]: PackageAccessAddOn;
|
||||
}
|
||||
|
||||
export type MatchedPackage = PackageAccess | void;
|
||||
|
||||
const BLACKLIST = {
|
||||
all: true,
|
||||
anonymous: true,
|
@ -2,27 +2,16 @@ import assert from 'assert';
|
||||
import _ from 'lodash';
|
||||
import buildDebug from 'debug';
|
||||
|
||||
import { generateRandomHexString, getUserAgent, isObject } from '@verdaccio/utils';
|
||||
import { APP_ERROR } from '@verdaccio/dev-commons';
|
||||
import { PackageList, Config as AppConfig, Security, PackageAccess } from '@verdaccio/types';
|
||||
import { generateRandomSecretKey } from './token';
|
||||
import {
|
||||
getMatchedPackagesSpec,
|
||||
normalisePackageAccess,
|
||||
sanityCheckUplinksProps,
|
||||
uplinkSanityCheck,
|
||||
generateRandomHexString,
|
||||
getUserAgent,
|
||||
isObject,
|
||||
} from '@verdaccio/utils';
|
||||
import { APP_ERROR } from '@verdaccio/dev-commons';
|
||||
|
||||
import {
|
||||
PackageList,
|
||||
Config as AppConfig,
|
||||
Security,
|
||||
Logger,
|
||||
PackageAccess,
|
||||
} from '@verdaccio/types';
|
||||
import { generateRandomSecretKey } from './token';
|
||||
|
||||
const LoggerApi = require('@verdaccio/logger');
|
||||
} from './config-utils';
|
||||
|
||||
const strategicConfigProps = ['uplinks', 'packages'];
|
||||
const allowedEnvConfig = ['http_proxy', 'https_proxy', 'no_proxy'];
|
||||
@ -41,7 +30,6 @@ const debug = buildDebug('verdaccio:config');
|
||||
* Coordinates the application configuration
|
||||
*/
|
||||
class Config implements AppConfig {
|
||||
public logger: Logger;
|
||||
public user_agent: string;
|
||||
// @ts-ignore
|
||||
public secret: string;
|
||||
@ -57,7 +45,6 @@ class Config implements AppConfig {
|
||||
|
||||
public constructor(config: StartUpConfig) {
|
||||
const self = this;
|
||||
this.logger = LoggerApi.logger;
|
||||
this.self_path = config.self_path;
|
||||
this.storage = config.storage;
|
||||
this.plugins = config.plugins;
|
||||
@ -86,12 +73,6 @@ class Config implements AppConfig {
|
||||
});
|
||||
|
||||
this.uplinks = sanityCheckUplinksProps(uplinkSanityCheck(this.uplinks));
|
||||
|
||||
if (_.isNil(this.users) === false) {
|
||||
this.logger.warn(`[users]: property on configuration file
|
||||
is not longer supported, property being ignored`);
|
||||
}
|
||||
|
||||
this.packages = normalisePackageAccess(self.packages);
|
||||
|
||||
// loading these from ENV if aren't in config
|
||||
|
@ -1,3 +1,5 @@
|
||||
export * from './config';
|
||||
export * from './config-path';
|
||||
export * from './token';
|
||||
export * from './config-utils';
|
||||
export * from './parse';
|
||||
|
19
packages/config/src/parse.ts
Normal file
19
packages/config/src/parse.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import fs from 'fs';
|
||||
import YAML from 'js-yaml';
|
||||
import { APP_ERROR, CHARACTER_ENCODING } from '@verdaccio/dev-commons';
|
||||
|
||||
export function parseConfigFile(configPath: string): any {
|
||||
try {
|
||||
if (/\.ya?ml$/i.test(configPath)) {
|
||||
// @ts-ignore
|
||||
return YAML.safeLoad(fs.readFileSync(configPath, CHARACTER_ENCODING.UTF8));
|
||||
}
|
||||
return require(configPath);
|
||||
} catch (e) {
|
||||
if (e.code !== 'MODULE_NOT_FOUND') {
|
||||
e.message = APP_ERROR.CONFIG_NOT_VALID;
|
||||
}
|
||||
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
@ -3,8 +3,7 @@ import _ from 'lodash';
|
||||
|
||||
import { PACKAGE_ACCESS } from '@verdaccio/dev-commons';
|
||||
|
||||
import { spliceURL } from '../src/string';
|
||||
import { parseConfigFile } from '../src/utils';
|
||||
import { spliceURL } from '@verdaccio/utils';
|
||||
import {
|
||||
getMatchedPackagesSpec,
|
||||
hasProxyTo,
|
||||
@ -12,6 +11,7 @@ import {
|
||||
sanityCheckUplinksProps,
|
||||
uplinkSanityCheck,
|
||||
} from '../src/config-utils';
|
||||
import { parseConfigFile } from '../src';
|
||||
|
||||
describe('Config Utilities', () => {
|
||||
const parseConfigurationFile = (conf) => {
|
@ -1,13 +1,9 @@
|
||||
import path from 'path';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { setup } from '@verdaccio/logger';
|
||||
import { DEFAULT_REGISTRY, DEFAULT_UPLINK, ROLES, WEB_TITLE } from '@verdaccio/dev-commons';
|
||||
|
||||
import { parseConfigFile } from '@verdaccio/utils';
|
||||
import { Config } from '../src';
|
||||
|
||||
setup([]);
|
||||
import { Config, parseConfigFile } from '../src';
|
||||
|
||||
const resolveConf = (conf) => {
|
||||
const { name, ext } = path.parse(conf);
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@verdaccio/htpasswd",
|
||||
"name": "verdaccio-htpasswd",
|
||||
"version": "10.0.0-beta",
|
||||
"description": "htpasswd auth plugin for Verdaccio",
|
||||
"keywords": [
|
||||
|
21
packages/core/types/index.d.ts
vendored
21
packages/core/types/index.d.ts
vendored
@ -230,26 +230,6 @@ declare module '@verdaccio/types' {
|
||||
|
||||
type Notification = Notifications;
|
||||
|
||||
interface ConfigFile {
|
||||
storage: string;
|
||||
plugins: string;
|
||||
self_path: string;
|
||||
packages: PackageList;
|
||||
uplinks: UpLinksConfList;
|
||||
logs: LoggerConf[];
|
||||
web: WebConf;
|
||||
auth: AuthConf;
|
||||
publish?: PublishOptions;
|
||||
url_prefix?: string;
|
||||
listen?: ListenAddress;
|
||||
https?: HttpsConf;
|
||||
http_proxy?: string;
|
||||
https_proxy?: string;
|
||||
no_proxy?: string;
|
||||
max_body_size?: string;
|
||||
notifications: Notifications;
|
||||
}
|
||||
|
||||
interface Token {
|
||||
user: string;
|
||||
token: string;
|
||||
@ -264,7 +244,6 @@ declare module '@verdaccio/types' {
|
||||
user: string;
|
||||
}
|
||||
|
||||
type SyncReturn = Error | void;
|
||||
type IPackageStorage = ILocalPackageManager | void;
|
||||
type IPackageStorageManager = ILocalPackageManager;
|
||||
type IPluginStorage<T> = ILocalData<T>;
|
||||
|
@ -1,6 +1,7 @@
|
||||
import nock from 'nock';
|
||||
import { createRemoteUser, parseConfigFile } from '@verdaccio/utils';
|
||||
import { createRemoteUser } from '@verdaccio/utils';
|
||||
import { Config } from '@verdaccio/types';
|
||||
import { parseConfigFile } from '@verdaccio/config';
|
||||
import { notify } from '../src/notify';
|
||||
import { parseConfigurationFile } from './__helper';
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
"dependencies": {
|
||||
"@verdaccio/dev-commons": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/utils": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/config": "workspace:5.0.0-alpha.0",
|
||||
"fs-extra": "^8.1.0",
|
||||
"lodash": "^4.17.20",
|
||||
"request": "2.87.0",
|
||||
|
@ -1,7 +1,7 @@
|
||||
import path from 'path';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { parseConfigFile } from '@verdaccio/utils';
|
||||
import { parseConfigFile } from '@verdaccio/config';
|
||||
|
||||
/**
|
||||
* Override the default.yaml configuration file with any new config provided.
|
||||
|
@ -26,6 +26,7 @@
|
||||
"@verdaccio/dev-commons": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/logger": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/server": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/config": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/utils": "workspace:5.0.0-alpha.0",
|
||||
"lodash": "^4.17.20",
|
||||
"core-js": "^3.6.5",
|
||||
|
@ -5,7 +5,7 @@ import selfsigned from 'selfsigned';
|
||||
|
||||
import { configExample } from '@verdaccio/mock';
|
||||
import { DEFAULT_DOMAIN, DEFAULT_PROTOCOL } from '@verdaccio/dev-commons';
|
||||
import { parseConfigFile } from '@verdaccio/utils';
|
||||
import { parseConfigFile } from '@verdaccio/config';
|
||||
|
||||
import { logger } from '@verdaccio/logger';
|
||||
|
||||
|
@ -3,7 +3,7 @@ import express from 'express';
|
||||
import request from 'request';
|
||||
|
||||
import { API_ERROR } from '@verdaccio/dev-commons';
|
||||
import { parseConfigFile } from '@verdaccio/utils';
|
||||
import { parseConfigFile } from '@verdaccio/config';
|
||||
import { setup } from '@verdaccio/logger';
|
||||
|
||||
import endPointAPI from '../../src';
|
||||
|
@ -25,6 +25,7 @@
|
||||
"dependencies": {
|
||||
"@verdaccio/commons-api": "workspace:*",
|
||||
"@verdaccio/dev-commons": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/config": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/loaders": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/local-storage": "workspace:*",
|
||||
"@verdaccio/logger": "workspace:5.0.0-alpha.0",
|
||||
@ -38,7 +39,6 @@
|
||||
"semver": "7.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/mock": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/types": "workspace:*"
|
||||
}
|
||||
|
@ -8,13 +8,7 @@ import buildDebug from 'debug';
|
||||
import { ProxyStorage } from '@verdaccio/proxy';
|
||||
import { API_ERROR, HTTP_STATUS, DIST_TAGS } from '@verdaccio/dev-commons';
|
||||
import { ReadTarball } from '@verdaccio/streams';
|
||||
import {
|
||||
ErrorCode,
|
||||
normalizeDistTags,
|
||||
validateMetadata,
|
||||
isObject,
|
||||
hasProxyTo,
|
||||
} from '@verdaccio/utils';
|
||||
import { ErrorCode, normalizeDistTags, validateMetadata, isObject } from '@verdaccio/utils';
|
||||
import { setupUpLinks, updateVersionsHiddenUpLink, ProxyList, IProxy } from '@verdaccio/proxy';
|
||||
import {
|
||||
IReadTarball,
|
||||
@ -37,6 +31,7 @@ import {
|
||||
IStorageManager,
|
||||
ITokenActions,
|
||||
} from '@verdaccio/types';
|
||||
import { hasProxyTo } from '@verdaccio/config';
|
||||
import { logger } from '@verdaccio/logger';
|
||||
import { VerdaccioError } from '@verdaccio/commons-api';
|
||||
import { SearchInstance } from './search';
|
||||
|
@ -31,7 +31,6 @@ export interface StartUpConfig {
|
||||
}
|
||||
|
||||
// legacy should be removed in long term
|
||||
|
||||
export interface LegacyPackageList {
|
||||
[key: string]: PackageAccessAddOn;
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
"@verdaccio/commons-api": "workspace:*",
|
||||
"@verdaccio/dev-commons": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/readme": "workspace:*",
|
||||
"js-yaml": "3.13.1",
|
||||
"minimatch": "3.0.4",
|
||||
"semver": "7.3.2"
|
||||
},
|
||||
|
@ -2,5 +2,4 @@ export * from './auth-utils';
|
||||
export * from './string';
|
||||
export * from './utils';
|
||||
export * from './crypto-utils';
|
||||
export * from './config-utils';
|
||||
export * from './replace-lodash';
|
||||
|
@ -4,7 +4,6 @@ import URL from 'url';
|
||||
import { IncomingHttpHeaders } from 'http';
|
||||
import _ from 'lodash';
|
||||
import semver from 'semver';
|
||||
import YAML from 'js-yaml';
|
||||
import { Request } from 'express';
|
||||
|
||||
import sanitizyReadme from '@verdaccio/readme';
|
||||
@ -360,6 +359,7 @@ const parseIntervalTable = {
|
||||
* Parse an internal string to number
|
||||
* @param {*} interval
|
||||
* @return {Number}
|
||||
* @deprecated
|
||||
*/
|
||||
export function parseInterval(interval: any): number {
|
||||
if (typeof interval === 'number') {
|
||||
@ -413,22 +413,6 @@ export const ErrorCode = {
|
||||
getCode,
|
||||
};
|
||||
|
||||
export function parseConfigFile(configPath: string): any {
|
||||
try {
|
||||
if (/\.ya?ml$/i.test(configPath)) {
|
||||
// @ts-ignore
|
||||
return YAML.safeLoad(fs.readFileSync(configPath, CHARACTER_ENCODING.UTF8));
|
||||
}
|
||||
return require(configPath);
|
||||
} catch (e) {
|
||||
if (e.code !== 'MODULE_NOT_FOUND') {
|
||||
e.message = APP_ERROR.CONFIG_NOT_VALID;
|
||||
}
|
||||
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether the path already exist.
|
||||
* @param {String} path
|
||||
|
@ -46,6 +46,7 @@
|
||||
"@verdaccio/ui-theme": "^1.12.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/auth": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/store": "workspace:5.0.0-alpha.0",
|
||||
"@verdaccio/dev-commons": "workspace:*"
|
||||
|
@ -15,7 +15,7 @@ import rimraf from 'rimraf';
|
||||
import endPointAPI from '@verdaccio/server';
|
||||
import { mockServer } from '../../__helper/mock';
|
||||
import { DOMAIN_SERVERS } from '../../../functional/config.functional';
|
||||
import { parseConfigFile } from '@verdaccio/utils/src/utils';
|
||||
import { parseConfigFile } from '@verdaccio/config';
|
||||
import { parseConfigurationFile } from '../../__helper';
|
||||
import { addUser } from '../../__helper/api';
|
||||
import { setup } from '@verdaccio/logger';
|
||||
|
117
pnpm-lock.yaml
generated
117
pnpm-lock.yaml
generated
@ -82,11 +82,11 @@ importers:
|
||||
standard-version: 8.0.0
|
||||
supertest: 4.0.2
|
||||
typescript: 3.9.7
|
||||
verdaccio: 4.8.1
|
||||
verdaccio-audit: 9.7.3
|
||||
verdaccio-auth-memory: 9.7.2
|
||||
verdaccio-htpasswd: 9.7.2
|
||||
verdaccio-memory: 9.7.2
|
||||
verdaccio: 'link:packages/verdaccio'
|
||||
verdaccio-audit: 'link:packages/plugins/audit'
|
||||
verdaccio-auth-memory: 'link:packages/plugins/auth-memory'
|
||||
verdaccio-htpasswd: 'link:packages/core/htpasswd'
|
||||
verdaccio-memory: 'link:packages/plugins/memory'
|
||||
specifiers:
|
||||
'@babel/cli': 7.11.6
|
||||
'@babel/core': 7.11.6
|
||||
@ -169,11 +169,11 @@ importers:
|
||||
standard-version: 8.0.0
|
||||
supertest: 4.0.2
|
||||
typescript: ^3.9.7
|
||||
verdaccio: latest
|
||||
verdaccio-audit: latest
|
||||
verdaccio-auth-memory: latest
|
||||
verdaccio-htpasswd: latest
|
||||
verdaccio-memory: latest
|
||||
verdaccio: 'workspace:*'
|
||||
verdaccio-audit: 'workspace:*'
|
||||
verdaccio-auth-memory: 'workspace:*'
|
||||
verdaccio-htpasswd: 'workspace:*'
|
||||
verdaccio-memory: 'workspace:*'
|
||||
packages/api:
|
||||
dependencies:
|
||||
'@verdaccio/auth': 'link:../auth'
|
||||
@ -252,20 +252,18 @@ importers:
|
||||
'@verdaccio/logger': 'link:../logger'
|
||||
'@verdaccio/node-api': 'link:../node-api'
|
||||
'@verdaccio/utils': 'link:../utils'
|
||||
commander: 5.1.0
|
||||
commander: 6.2.0
|
||||
envinfo: 7.4.0
|
||||
kleur: 3.0.3
|
||||
lodash: 4.17.20
|
||||
semver: 7.3.2
|
||||
specifiers:
|
||||
'@verdaccio/config': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/logger': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/node-api': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/utils': 'workspace:5.0.0-alpha.0'
|
||||
commander: 5.1.0
|
||||
commander: 6.2.0
|
||||
envinfo: 7.4.0
|
||||
kleur: 3.0.3
|
||||
lodash: ^4.17.20
|
||||
semver: 7.3.2
|
||||
packages/commons:
|
||||
devDependencies:
|
||||
@ -275,18 +273,23 @@ importers:
|
||||
packages/config:
|
||||
dependencies:
|
||||
'@verdaccio/dev-commons': 'link:../commons'
|
||||
'@verdaccio/logger': 'link:../logger'
|
||||
'@verdaccio/utils': 'link:../utils'
|
||||
debug: 4.2.0
|
||||
js-yaml: 3.14.0
|
||||
lodash: 4.17.20
|
||||
mkdirp: 0.5.5
|
||||
yup: 0.29.3
|
||||
devDependencies:
|
||||
'@types/yup': 0.29.9
|
||||
specifiers:
|
||||
'@types/yup': ^0.29.9
|
||||
'@verdaccio/dev-commons': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/logger': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/utils': 'workspace:5.0.0-alpha.0'
|
||||
debug: ^4.2.0
|
||||
js-yaml: 3.14.0
|
||||
lodash: ^4.17.20
|
||||
mkdirp: 0.5.5
|
||||
yup: ^0.29.3
|
||||
packages/core/commons-api:
|
||||
dependencies:
|
||||
http-errors: 1.8.0
|
||||
@ -477,6 +480,7 @@ importers:
|
||||
lodash: 4.17.15
|
||||
packages/mock:
|
||||
dependencies:
|
||||
'@verdaccio/config': 'link:../config'
|
||||
'@verdaccio/dev-commons': 'link:../commons'
|
||||
'@verdaccio/utils': 'link:../utils'
|
||||
debug: 4.2.0
|
||||
@ -488,6 +492,7 @@ importers:
|
||||
devDependencies:
|
||||
'@verdaccio/types': 'link:../core/types'
|
||||
specifiers:
|
||||
'@verdaccio/config': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/dev-commons': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/types': 'workspace:*'
|
||||
'@verdaccio/utils': 'workspace:5.0.0-alpha.0'
|
||||
@ -499,6 +504,7 @@ importers:
|
||||
verdaccio: ^4.8.1
|
||||
packages/node-api:
|
||||
dependencies:
|
||||
'@verdaccio/config': 'link:../config'
|
||||
'@verdaccio/dev-commons': 'link:../commons'
|
||||
'@verdaccio/logger': 'link:../logger'
|
||||
'@verdaccio/server': 'link:../server'
|
||||
@ -510,6 +516,7 @@ importers:
|
||||
'@verdaccio/mock': 'link:../mock'
|
||||
'@verdaccio/types': 'link:../core/types'
|
||||
specifiers:
|
||||
'@verdaccio/config': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/dev-commons': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/logger': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/mock': 'workspace:5.0.0-alpha.0'
|
||||
@ -671,6 +678,7 @@ importers:
|
||||
packages/store:
|
||||
dependencies:
|
||||
'@verdaccio/commons-api': 'link:../core/commons-api'
|
||||
'@verdaccio/config': 'link:../config'
|
||||
'@verdaccio/dev-commons': 'link:../commons'
|
||||
'@verdaccio/loaders': 'link:../loaders'
|
||||
'@verdaccio/local-storage': 'link:../core/local-storage'
|
||||
@ -684,7 +692,6 @@ importers:
|
||||
lunr-mutable-indexes: 2.3.2
|
||||
semver: 7.1.2
|
||||
devDependencies:
|
||||
'@verdaccio/config': 'link:../config'
|
||||
'@verdaccio/mock': 'link:../mock'
|
||||
'@verdaccio/types': 'link:../core/types'
|
||||
specifiers:
|
||||
@ -714,7 +721,6 @@ importers:
|
||||
'@verdaccio/commons-api': 'link:../core/commons-api'
|
||||
'@verdaccio/dev-commons': 'link:../commons'
|
||||
'@verdaccio/readme': 'link:../core/readme'
|
||||
js-yaml: 3.13.1
|
||||
minimatch: 3.0.4
|
||||
semver: 7.3.2
|
||||
devDependencies:
|
||||
@ -727,7 +733,6 @@ importers:
|
||||
'@verdaccio/dev-commons': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/logger': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/readme': 'workspace:*'
|
||||
js-yaml: 3.13.1
|
||||
lodash: ^4.17.20
|
||||
minimatch: 3.0.4
|
||||
semver: 7.3.2
|
||||
@ -743,11 +748,13 @@ importers:
|
||||
verdaccio-htpasswd: 9.7.2
|
||||
devDependencies:
|
||||
'@verdaccio/auth': 'link:../auth'
|
||||
'@verdaccio/config': 'link:../config'
|
||||
'@verdaccio/dev-commons': 'link:../commons'
|
||||
'@verdaccio/store': 'link:../store'
|
||||
specifiers:
|
||||
'@verdaccio/auth': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/cli': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/config': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/dev-commons': 'workspace:*'
|
||||
'@verdaccio/hooks': 'workspace:5.0.0-alpha.0'
|
||||
'@verdaccio/logger': 'workspace:5.0.0-alpha.0'
|
||||
@ -3773,6 +3780,12 @@ packages:
|
||||
regenerator-runtime: 0.13.7
|
||||
resolution:
|
||||
integrity: sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
|
||||
/@babel/runtime/7.12.5:
|
||||
dependencies:
|
||||
regenerator-runtime: 0.13.7
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
|
||||
/@babel/standalone/7.11.4:
|
||||
dev: false
|
||||
resolution:
|
||||
@ -6235,6 +6248,10 @@ packages:
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==
|
||||
/@types/yup/0.29.9:
|
||||
dev: true
|
||||
resolution:
|
||||
integrity: sha512-ZtjjlrHuHTYctHDz3c8XgInjj0v+Hahe32N/4cDa2banibf9w6aAgxwx0jZtBjKKzmGIU4NXhofEsBW1BbqrNg==
|
||||
/@typescript-eslint/eslint-plugin/2.34.0_984cbb313f9ea271f36cadd8f9814e06:
|
||||
dependencies:
|
||||
'@typescript-eslint/experimental-utils': 2.34.0_eslint@6.8.0
|
||||
@ -6503,6 +6520,7 @@ packages:
|
||||
dompurify: 2.0.8
|
||||
jsdom: 15.2.1
|
||||
marked: 1.1.1
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-86Zv46Qpcx0d0YRutFPhPH4OhGSljUJyhkxk3H/bCzzw8hGEvM1Du2y8kzfAS9qUsX8Qux97vfxxz6+RpBdU1w==
|
||||
/@verdaccio/streams/8.5.2:
|
||||
@ -6526,6 +6544,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha512-3nDT5iJvmIYJe8UwirJbHexy21HU0YUkwvKygVe2KCPUTQu8u23/w6JyOB8reqj8w0xFfJMHI0dArnPsKxYM3Q==
|
||||
/@verdaccio/ui-theme/1.12.1:
|
||||
dev: false
|
||||
engines:
|
||||
node: '>= 8'
|
||||
npm: '>=5'
|
||||
@ -8165,6 +8184,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=
|
||||
/bunyan/1.8.14:
|
||||
dev: false
|
||||
engines:
|
||||
'0': node >=0.10.0
|
||||
hasBin: true
|
||||
@ -8865,12 +8885,12 @@ packages:
|
||||
node: '>= 6'
|
||||
resolution:
|
||||
integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
|
||||
/commander/5.1.0:
|
||||
/commander/6.2.0:
|
||||
dev: false
|
||||
engines:
|
||||
node: '>= 6'
|
||||
resolution:
|
||||
integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
|
||||
integrity: sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==
|
||||
/common-tags/1.8.0:
|
||||
dev: false
|
||||
engines:
|
||||
@ -9781,6 +9801,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha512-7kqOoj3oQSmqbvtvGFLU5iYqies+SqUiEGNT0UtUPPxcPYgY1BrkXR0Cq2R9HYSimBXN+xHkEN4Hi399W+Ovlg==
|
||||
/dayjs/1.8.28:
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-ccnYgKC0/hPSGXxj7Ju6AV/BP4HUkXC2u15mikXT5mX9YorEaoi1bEKOmAqdkJHN4EEkmAf97SpH66Try5Mbeg==
|
||||
/debug/2.6.9:
|
||||
@ -10349,6 +10370,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha512-S3O0lk6rFJtO01ZTzMollCOGg+WAtCwS3U5E2WSDY/x/sy7q70RjEC4Dmrih5/UqzLLB9XoKJ8KqwBxaNvBu4A==
|
||||
/dompurify/2.0.8:
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-vIOSyOXkMx81ghEalh4MLBtDHMx1bhKlaqHDMqM2yeitJ996SLOk5mGdDpI9ifJAgokred8Rmu219fX4OltqXw==
|
||||
/domutils/1.5.1:
|
||||
@ -10669,6 +10691,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==
|
||||
/envinfo/7.5.1:
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=4'
|
||||
hasBin: true
|
||||
@ -11952,6 +11975,12 @@ packages:
|
||||
node: '>=0.10.0'
|
||||
resolution:
|
||||
integrity: sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
|
||||
/fn-name/3.0.0:
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=8'
|
||||
resolution:
|
||||
integrity: sha512-eNMNr5exLoavuAMhIUVsOKF79SWd/zG104ef6sxBTSw+cZc6BXdQXDvYcGvp0VbxVVSp1XDUNoz7mg1xMtSznA==
|
||||
/focus-lock/0.7.0:
|
||||
dev: false
|
||||
resolution:
|
||||
@ -15658,6 +15687,7 @@ packages:
|
||||
dependencies:
|
||||
argparse: 1.0.10
|
||||
esprima: 4.0.1
|
||||
dev: true
|
||||
hasBin: true
|
||||
resolution:
|
||||
integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
||||
@ -16043,6 +16073,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
|
||||
/kleur/4.0.2:
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=6'
|
||||
resolution:
|
||||
@ -16877,6 +16908,7 @@ packages:
|
||||
resolution:
|
||||
integrity: sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==
|
||||
/marked/1.1.1:
|
||||
dev: false
|
||||
engines:
|
||||
node: '>= 8.16.2'
|
||||
hasBin: true
|
||||
@ -19443,6 +19475,10 @@ packages:
|
||||
/property-expr/1.5.1:
|
||||
resolution:
|
||||
integrity: sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==
|
||||
/property-expr/2.0.4:
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==
|
||||
/property-information/4.2.0:
|
||||
dependencies:
|
||||
xtend: 4.0.2
|
||||
@ -22146,6 +22182,10 @@ packages:
|
||||
/synchronous-promise/2.0.13:
|
||||
resolution:
|
||||
integrity: sha512-R9N6uDkVsghHePKh1TEqbnLddO2IY25OcsksyFp/qBe7XYd0PVbKEWxhcdMhpLzE1I6skj5l4aEZ3CRxcbArlA==
|
||||
/synchronous-promise/2.0.15:
|
||||
dev: false
|
||||
resolution:
|
||||
integrity: sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg==
|
||||
/tabbable/4.0.0:
|
||||
dev: false
|
||||
resolution:
|
||||
@ -23289,18 +23329,11 @@ packages:
|
||||
dependencies:
|
||||
express: 4.17.1
|
||||
request: 2.88.2
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=8'
|
||||
resolution:
|
||||
integrity: sha512-FDWafgDjvnTbJapQpd0c41FjrecR+iRHrnDi2gkAn4IJpiLCgXC6R5NdkXjDIekKEsou9PyQTsEdoHK7iDx+tQ==
|
||||
/verdaccio-auth-memory/9.7.2:
|
||||
dependencies:
|
||||
'@verdaccio/commons-api': 9.7.1
|
||||
dev: true
|
||||
engines:
|
||||
node: '>=8'
|
||||
resolution:
|
||||
integrity: sha512-pxFGUk91kAJPrmjRIzHRn/cnLmyuN925nA1iH2Bf6kdP9E0uEGK/pRjMh8BuXWFLsGe9E6N7HR86cub1/qcrzA==
|
||||
/verdaccio-htpasswd/8.5.2:
|
||||
dependencies:
|
||||
'@verdaccio/file-locking': 1.0.0
|
||||
@ -23320,20 +23353,11 @@ packages:
|
||||
bcryptjs: 2.4.3
|
||||
http-errors: 1.8.0
|
||||
unix-crypt-td-js: 1.1.4
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=8'
|
||||
resolution:
|
||||
integrity: sha512-c7ZEb7wuce0+4h92w4f1ySMhsIWFs/mlsFjjoqIlY5SBskmQI5RHC7HQglVgFjOMxrWoaaadJ5WGmFV+A/yxPQ==
|
||||
/verdaccio-memory/9.7.2:
|
||||
dependencies:
|
||||
'@verdaccio/commons-api': 9.7.1
|
||||
'@verdaccio/streams': 9.7.2
|
||||
memory-fs: 0.5.0
|
||||
dev: true
|
||||
engines:
|
||||
node: '>=8'
|
||||
resolution:
|
||||
integrity: sha512-HKUbbgY147dOV4GhOoC/iVTl87RPVKN7dLX/EBSH23TwR/tClQdGduRLy9yeqc/0iouGc0GXm2IWK/1qoBuy4w==
|
||||
/verdaccio/4.4.4:
|
||||
dependencies:
|
||||
'@verdaccio/commons-api': 8.5.0
|
||||
@ -23412,6 +23436,7 @@ packages:
|
||||
semver: 6.3.0
|
||||
verdaccio-audit: 9.7.3
|
||||
verdaccio-htpasswd: 9.7.2
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=8'
|
||||
npm: '>=5'
|
||||
@ -24144,6 +24169,20 @@ packages:
|
||||
toposort: 2.0.2
|
||||
resolution:
|
||||
integrity: sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==
|
||||
/yup/0.29.3:
|
||||
dependencies:
|
||||
'@babel/runtime': 7.12.5
|
||||
fn-name: 3.0.0
|
||||
lodash: 4.17.20
|
||||
lodash-es: 4.17.15
|
||||
property-expr: 2.0.4
|
||||
synchronous-promise: 2.0.15
|
||||
toposort: 2.0.2
|
||||
dev: false
|
||||
engines:
|
||||
node: '>=10'
|
||||
resolution:
|
||||
integrity: sha512-RNUGiZ/sQ37CkhzKFoedkeMfJM0vNQyaz+wRZJzxdKE7VfDeVKH8bb4rr7XhRLbHJz5hSjoDNwMEIaKhuMZ8gQ==
|
||||
/yurnalist/1.1.2:
|
||||
dependencies:
|
||||
babel-runtime: 6.26.0
|
||||
|
Loading…
Reference in New Issue
Block a user