mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
use standard environments
This commit is contained in:
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -73,7 +73,7 @@ jobs:
|
|||||||
run: yarn run lint
|
run: yarn run lint
|
||||||
|
|
||||||
- name: Run build
|
- name: Run build
|
||||||
run: yarn run build:prod
|
run: yarn run build:ssr:ci
|
||||||
|
|
||||||
- name: Run specs (unit tests)
|
- name: Run specs (unit tests)
|
||||||
run: yarn run test:headless
|
run: yarn run test:headless
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -7,10 +7,6 @@ npm-debug.log
|
|||||||
|
|
||||||
/build/
|
/build/
|
||||||
|
|
||||||
/src/environments/environment.ts
|
|
||||||
/src/environments/environment.dev.ts
|
|
||||||
/src/environments/environment.prod.ts
|
|
||||||
|
|
||||||
/coverage
|
/coverage
|
||||||
|
|
||||||
/dist/
|
/dist/
|
||||||
|
50
angular.json
50
angular.json
@@ -68,6 +68,12 @@
|
|||||||
},
|
},
|
||||||
"configurations": {
|
"configurations": {
|
||||||
"production": {
|
"production": {
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.prod.ts"
|
||||||
|
}
|
||||||
|
],
|
||||||
"optimization": true,
|
"optimization": true,
|
||||||
"outputHashing": "all",
|
"outputHashing": "all",
|
||||||
"extractCss": true,
|
"extractCss": true,
|
||||||
@@ -88,6 +94,22 @@
|
|||||||
"maximumError": "300kb"
|
"maximumError": "300kb"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"ci": {
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.ci.ts"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"optimization": true,
|
||||||
|
"outputHashing": "all",
|
||||||
|
"extractCss": true,
|
||||||
|
"namedChunks": false,
|
||||||
|
"aot": true,
|
||||||
|
"extractLicenses": true,
|
||||||
|
"vendorChunk": false,
|
||||||
|
"buildOptimizer": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -139,6 +161,16 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"scripts": []
|
"scripts": []
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"test": {
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.test.ts"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
@@ -183,7 +215,23 @@
|
|||||||
"configurations": {
|
"configurations": {
|
||||||
"production": {
|
"production": {
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"optimization": true
|
"optimization": true,
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.prod.ts"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ci": {
|
||||||
|
"sourceMap": false,
|
||||||
|
"optimization": true,
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.ci.ts"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@@ -1,10 +1,4 @@
|
|||||||
{
|
{
|
||||||
"ui": {
|
|
||||||
"ssl": false,
|
|
||||||
"host": "localhost",
|
|
||||||
"port": 4000,
|
|
||||||
"nameSpace": "/"
|
|
||||||
},
|
|
||||||
"rest": {
|
"rest": {
|
||||||
"ssl": true,
|
"ssl": true,
|
||||||
"host": "api7.dspace.org",
|
"host": "api7.dspace.org",
|
||||||
|
2
cypress/.gitignore
vendored
Normal file
2
cypress/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
screenshots/
|
||||||
|
videos/
|
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"watch": ["src/environments/mock-environment.ts"],
|
|
||||||
"ext": "ts",
|
|
||||||
"exec": "ts-node --project ./tsconfig.ts-node.json scripts/set-mock-env.ts"
|
|
||||||
}
|
|
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"watch": ["src/environments"],
|
|
||||||
"ext": "ts",
|
|
||||||
"ignore": ["src/environments/environment.ts", "src/environments/mock-environment.ts"],
|
|
||||||
"exec": "ts-node --project ./tsconfig.ts-node.json scripts/set-env.ts --dev"
|
|
||||||
}
|
|
38
package.json
38
package.json
@@ -3,23 +3,10 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"config:dev": "ts-node --project ./tsconfig.ts-node.json scripts/set-env.ts --dev",
|
"test:rest": "ts-node --project ./tsconfig.ts-node.json scripts/test-rest.ts",
|
||||||
"config:prod": "ts-node --project ./tsconfig.ts-node.json scripts/set-env.ts --prod",
|
|
||||||
"config:test": "ts-node --project ./tsconfig.ts-node.json scripts/set-mock-env.ts",
|
|
||||||
"config:test:watch": "nodemon --config mock-nodemon.json",
|
|
||||||
"config:dev:watch": "nodemon",
|
|
||||||
"config:check:rest": "yarn run config:prod && ts-node --project ./tsconfig.ts-node.json scripts/test-rest.ts",
|
|
||||||
"config:dev:check:rest": "yarn run config:dev && ts-node --project ./tsconfig.ts-node.json scripts/test-rest.ts",
|
|
||||||
"prestart:dev": "yarn run config:dev",
|
|
||||||
"prebuild": "yarn run config:dev",
|
|
||||||
"pretest": "yarn run config:test",
|
|
||||||
"pretest:watch": "yarn run config:test",
|
|
||||||
"pretest:headless": "yarn run config:test",
|
|
||||||
"prebuild:prod": "yarn run config:prod",
|
|
||||||
"pree2e": "yarn run config:prod",
|
|
||||||
"start": "yarn run start:prod",
|
"start": "yarn run start:prod",
|
||||||
"serve": "ts-node --project ./tsconfig.ts-node.json scripts/serve.ts",
|
"serve": "ts-node --project ./tsconfig.ts-node.json scripts/serve.ts",
|
||||||
"start:dev": "npm-run-all --parallel config:dev:watch serve",
|
"start:dev": "yarn run serve",
|
||||||
"start:prod": "yarn run build:prod && yarn run serve:ssr",
|
"start:prod": "yarn run build:prod && yarn run serve:ssr",
|
||||||
"start:mirador:prod": "yarn run build:mirador && yarn run start:prod",
|
"start:mirador:prod": "yarn run build:mirador && yarn run start:prod",
|
||||||
"analyze": "webpack-bundle-analyzer dist/browser/stats.json",
|
"analyze": "webpack-bundle-analyzer dist/browser/stats.json",
|
||||||
@@ -27,27 +14,25 @@
|
|||||||
"build:stats": "ng build --stats-json",
|
"build:stats": "ng build --stats-json",
|
||||||
"build:prod": "yarn run build:ssr",
|
"build:prod": "yarn run build:ssr",
|
||||||
"build:ssr": "ng build --configuration production && ng run dspace-angular:server:production",
|
"build:ssr": "ng build --configuration production && ng run dspace-angular:server:production",
|
||||||
"test:watch": "npm-run-all --parallel config:test:watch test",
|
"build:ssr:ci": "ng build --configuration ci && ng run dspace-angular:server:ci",
|
||||||
"test": "ng test --sourceMap=true --watch=true",
|
"test": "ng test --sourceMap=true --watch=true --configuration test",
|
||||||
"test:headless": "ng test --watch=false --sourceMap=true --browsers=ChromeHeadless --code-coverage",
|
"test:headless": "ng test --sourceMap=true --watch=false --configuration test --browsers=ChromeHeadless --code-coverage",
|
||||||
"lint": "ng lint",
|
"lint": "ng lint",
|
||||||
"lint-fix": "ng lint --fix=true",
|
"lint-fix": "ng lint --fix=true",
|
||||||
"e2e": "ng e2e",
|
"e2e": "ng e2e",
|
||||||
"serve:ssr": "node dist/server/main",
|
"serve:ssr": "node dist/server/main",
|
||||||
|
"clean:dev:config": "rimraf src/assets/appConfig.json",
|
||||||
"clean:coverage": "rimraf coverage",
|
"clean:coverage": "rimraf coverage",
|
||||||
"clean:dist": "rimraf dist",
|
"clean:dist": "rimraf dist",
|
||||||
"clean:doc": "rimraf doc",
|
"clean:doc": "rimraf doc",
|
||||||
"clean:log": "rimraf *.log*",
|
"clean:log": "rimraf *.log*",
|
||||||
"clean:json": "rimraf *.records.json",
|
"clean:json": "rimraf *.records.json",
|
||||||
"clean:bld": "rimraf build",
|
|
||||||
"clean:node": "rimraf node_modules",
|
"clean:node": "rimraf node_modules",
|
||||||
"clean:prod": "yarn run clean:coverage && yarn run clean:doc && yarn run clean:dist && yarn run clean:log && yarn run clean:json && yarn run clean:bld",
|
"clean:prod": "yarn run clean:dist && yarn run clean:log && yarn run clean:doc && yarn run clean:coverage && yarn run clean:json",
|
||||||
"clean": "yarn run clean:prod && yarn run clean:env && yarn run clean:node",
|
"clean": "yarn run clean:prod && yarn run clean:node && yarn run clean:dev:config",
|
||||||
"clean:env": "rimraf src/environments/environment.ts",
|
"sync-i18n": "ts-node --project ./tsconfig.ts-node.json scripts/sync-i18n-files.ts",
|
||||||
"sync-i18n": "yarn run config:dev && ts-node --project ./tsconfig.ts-node.json scripts/sync-i18n-files.ts",
|
|
||||||
"build:mirador": "webpack --config webpack/webpack.mirador.config.ts",
|
"build:mirador": "webpack --config webpack/webpack.mirador.config.ts",
|
||||||
"merge-i18n": "yarn run config:dev && ts-node --project ./tsconfig.ts-node.json scripts/merge-i18n-files.ts",
|
"merge-i18n": "ts-node --project ./tsconfig.ts-node.json scripts/merge-i18n-files.ts",
|
||||||
"postinstall": "ngcc",
|
|
||||||
"cypress:open": "cypress open",
|
"cypress:open": "cypress open",
|
||||||
"cypress:run": "cypress run"
|
"cypress:run": "cypress run"
|
||||||
},
|
},
|
||||||
@@ -74,7 +59,6 @@
|
|||||||
"@angular/platform-browser-dynamic": "~11.2.14",
|
"@angular/platform-browser-dynamic": "~11.2.14",
|
||||||
"@angular/platform-server": "~11.2.14",
|
"@angular/platform-server": "~11.2.14",
|
||||||
"@angular/router": "~11.2.14",
|
"@angular/router": "~11.2.14",
|
||||||
"@angularclass/bootloader": "1.0.1",
|
|
||||||
"@kolkov/ngx-gallery": "^1.2.3",
|
"@kolkov/ngx-gallery": "^1.2.3",
|
||||||
"@ng-bootstrap/ng-bootstrap": "9.1.3",
|
"@ng-bootstrap/ng-bootstrap": "9.1.3",
|
||||||
"@ng-dynamic-forms/core": "^13.0.0",
|
"@ng-dynamic-forms/core": "^13.0.0",
|
||||||
@@ -178,8 +162,6 @@
|
|||||||
"karma-jasmine": "~4.0.0",
|
"karma-jasmine": "~4.0.0",
|
||||||
"karma-jasmine-html-reporter": "^1.5.0",
|
"karma-jasmine-html-reporter": "^1.5.0",
|
||||||
"karma-mocha-reporter": "2.2.5",
|
"karma-mocha-reporter": "2.2.5",
|
||||||
"nodemon": "^2.0.2",
|
|
||||||
"npm-run-all": "^4.1.5",
|
|
||||||
"optimize-css-assets-webpack-plugin": "^5.0.4",
|
"optimize-css-assets-webpack-plugin": "^5.0.4",
|
||||||
"postcss-apply": "0.11.0",
|
"postcss-apply": "0.11.0",
|
||||||
"postcss-import": "^12.0.1",
|
"postcss-import": "^12.0.1",
|
||||||
|
@@ -1,11 +1,16 @@
|
|||||||
import { environment } from '../src/environments/environment';
|
|
||||||
|
|
||||||
import * as child from 'child_process';
|
import * as child from 'child_process';
|
||||||
|
|
||||||
|
import { environment } from '../src/environments/environment';
|
||||||
|
|
||||||
|
// import { AppConfig } from '../src/config/app-config.interface';
|
||||||
|
// import { buildAppConfig } from '../src/config/config.server';
|
||||||
|
|
||||||
|
// const appConfig: AppConfig = buildAppConfig();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls `ng serve` with the following arguments configured for the UI in the environment file: host, port, nameSpace, ssl
|
* Calls `ng serve` with the following arguments configured for the UI in the environment: host, port, nameSpace, ssl
|
||||||
*/
|
*/
|
||||||
child.spawn(
|
child.spawn(
|
||||||
`ng serve --host ${environment.ui.host} --port ${environment.ui.port} --servePath ${environment.ui.nameSpace} --ssl ${environment.ui.ssl}`,
|
`ng serve --host ${environment.ui.host} --port ${environment.ui.port} --serve-path ${environment.ui.nameSpace} --ssl ${environment.ui.ssl}`,
|
||||||
{ stdio:'inherit', shell: true }
|
{ stdio:'inherit', shell: true }
|
||||||
);
|
);
|
||||||
|
@@ -1,116 +0,0 @@
|
|||||||
import { writeFile } from 'fs';
|
|
||||||
import { environment as commonEnv } from '../src/environments/environment.common';
|
|
||||||
import { AppConfig } from '../src/config/app-config.interface';
|
|
||||||
import { ServerConfig } from '../src/config/server-config.interface';
|
|
||||||
import { hasValue } from '../src/app/shared/empty.util';
|
|
||||||
|
|
||||||
// Configure Angular `environment.ts` file path
|
|
||||||
const targetPath = './src/environments/environment.ts';
|
|
||||||
// Load node modules
|
|
||||||
const colors = require('colors');
|
|
||||||
require('dotenv').config();
|
|
||||||
const merge = require('deepmerge');
|
|
||||||
const mergeOptions = { arrayMerge: (destinationArray, sourceArray, options) => sourceArray };
|
|
||||||
const environment = process.argv[2];
|
|
||||||
let environmentFilePath;
|
|
||||||
let production = false;
|
|
||||||
|
|
||||||
switch (environment) {
|
|
||||||
case '--prod':
|
|
||||||
case '--production':
|
|
||||||
production = true;
|
|
||||||
console.log(`Building ${colors.red.bold(`production`)} environment`);
|
|
||||||
environmentFilePath = '../src/environments/environment.prod.ts';
|
|
||||||
break;
|
|
||||||
case '--test':
|
|
||||||
console.log(`Building ${colors.blue.bold(`test`)} environment`);
|
|
||||||
environmentFilePath = '../src/environments/environment.test.ts';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
console.log(`Building ${colors.green.bold(`development`)} environment`);
|
|
||||||
environmentFilePath = '../src/environments/environment.dev.ts';
|
|
||||||
}
|
|
||||||
|
|
||||||
const processEnv = {
|
|
||||||
ui: createServerConfig(
|
|
||||||
process.env.DSPACE_HOST,
|
|
||||||
process.env.DSPACE_PORT,
|
|
||||||
process.env.DSPACE_NAMESPACE,
|
|
||||||
process.env.DSPACE_SSL),
|
|
||||||
rest: createServerConfig(
|
|
||||||
process.env.DSPACE_REST_HOST,
|
|
||||||
process.env.DSPACE_REST_PORT,
|
|
||||||
process.env.DSPACE_REST_NAMESPACE,
|
|
||||||
process.env.DSPACE_REST_SSL)
|
|
||||||
} as AppConfig;
|
|
||||||
|
|
||||||
import(environmentFilePath)
|
|
||||||
.then((file) => generateEnvironmentFile(merge.all([commonEnv, file.environment, processEnv], mergeOptions)))
|
|
||||||
.catch(() => {
|
|
||||||
console.log(colors.yellow.bold(`No specific environment file found for ` + environment));
|
|
||||||
generateEnvironmentFile(merge(commonEnv, processEnv, mergeOptions))
|
|
||||||
});
|
|
||||||
|
|
||||||
function generateEnvironmentFile(file: AppConfig): void {
|
|
||||||
file.production = production;
|
|
||||||
buildBaseUrls(file);
|
|
||||||
const contents = `export const environment = ` + JSON.stringify(file);
|
|
||||||
writeFile(targetPath, contents, (err) => {
|
|
||||||
if (err) {
|
|
||||||
throw console.error(err);
|
|
||||||
} else {
|
|
||||||
console.log(`Angular ${colors.bold('environment.ts')} file generated correctly at ${colors.bold(targetPath)} \n`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// allow to override a few important options by environment variables
|
|
||||||
function createServerConfig(host?: string, port?: string, nameSpace?: string, ssl?: string): ServerConfig {
|
|
||||||
const result = {} as any;
|
|
||||||
if (hasValue(host)) {
|
|
||||||
result.host = host;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasValue(nameSpace)) {
|
|
||||||
result.nameSpace = nameSpace;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasValue(port)) {
|
|
||||||
result.port = Number(port);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasValue(ssl)) {
|
|
||||||
result.ssl = ssl.trim().match(/^(true|1|yes)$/i) ? true : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildBaseUrls(config: AppConfig): void {
|
|
||||||
for (const key in config) {
|
|
||||||
if (config.hasOwnProperty(key) && config[key].host) {
|
|
||||||
config[key].baseUrl = [
|
|
||||||
getProtocol(config[key].ssl),
|
|
||||||
getHost(config[key].host),
|
|
||||||
getPort(config[key].port),
|
|
||||||
getNameSpace(config[key].nameSpace)
|
|
||||||
].join('');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getProtocol(ssl: boolean): string {
|
|
||||||
return ssl ? 'https://' : 'http://';
|
|
||||||
}
|
|
||||||
|
|
||||||
function getHost(host: string): string {
|
|
||||||
return host;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPort(port: number): string {
|
|
||||||
return port ? (port !== 80 && port !== 443) ? ':' + port : '' : '';
|
|
||||||
}
|
|
||||||
|
|
||||||
function getNameSpace(nameSpace: string): string {
|
|
||||||
return nameSpace ? nameSpace.charAt(0) === '/' ? nameSpace : '/' + nameSpace : '';
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
import { copyFile } from 'fs';
|
|
||||||
|
|
||||||
// Configure Angular `environment.ts` file path
|
|
||||||
const sourcePath = './src/environments/mock-environment.ts';
|
|
||||||
const targetPath = './src/environments/environment.ts';
|
|
||||||
|
|
||||||
// destination.txt will be created or overwritten by default.
|
|
||||||
copyFile(sourcePath, targetPath, (err) => {
|
|
||||||
if (err) throw err;
|
|
||||||
console.log(sourcePath + ' was copied to ' + targetPath);
|
|
||||||
});
|
|
@@ -1,13 +1,19 @@
|
|||||||
import * as http from 'http';
|
import * as http from 'http';
|
||||||
import * as https from 'https';
|
import * as https from 'https';
|
||||||
|
|
||||||
import { environment } from '../src/environments/environment';
|
import { environment } from '../src/environments/environment';
|
||||||
|
|
||||||
|
// import { AppConfig } from '../src/config/app-config.interface';
|
||||||
|
// import { buildAppConfig } from '../src/config/config.server';
|
||||||
|
|
||||||
|
// const appConfig: AppConfig = buildAppConfig();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Script to test the connection with the configured REST API (in the 'rest' settings of your environment.*.ts)
|
* Script to test the connection with the configured REST API (in the 'rest' settings of your environment.*.ts)
|
||||||
*
|
*
|
||||||
* This script is useful to test for any Node.js connection issues with your REST API.
|
* This script is useful to test for any Node.js connection issues with your REST API.
|
||||||
*
|
*
|
||||||
* Usage (see package.json): yarn test:rest-api
|
* Usage (see package.json): yarn test:rest
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Get root URL of configured REST API
|
// Get root URL of configured REST API
|
||||||
|
11
server.ts
11
server.ts
@@ -40,6 +40,9 @@ import { UIServerConfig } from './src/config/ui-server-config.interface';
|
|||||||
|
|
||||||
import { ServerAppModule } from './src/main.server';
|
import { ServerAppModule } from './src/main.server';
|
||||||
|
|
||||||
|
// import { buildAppConfig } from './src/config/config.server';
|
||||||
|
// import { AppConfig, APP_CONFIG } from './src/config/app-config.interface';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set path for the browser application's dist folder
|
* Set path for the browser application's dist folder
|
||||||
*/
|
*/
|
||||||
@@ -51,6 +54,8 @@ const indexHtml = existsSync(join(DIST_FOLDER, 'index.html')) ? 'index.html' : '
|
|||||||
|
|
||||||
const cookieParser = require('cookie-parser');
|
const cookieParser = require('cookie-parser');
|
||||||
|
|
||||||
|
// const appConfig: AppConfig = buildAppConfig(join(DIST_FOLDER, 'assets/appConfig.json'));
|
||||||
|
|
||||||
// The Express app is exported so that it can be used by serverless Functions.
|
// The Express app is exported so that it can be used by serverless Functions.
|
||||||
export function app() {
|
export function app() {
|
||||||
|
|
||||||
@@ -100,7 +105,11 @@ export function app() {
|
|||||||
provide: RESPONSE,
|
provide: RESPONSE,
|
||||||
useValue: (options as any).req.res,
|
useValue: (options as any).req.res,
|
||||||
},
|
},
|
||||||
],
|
// {
|
||||||
|
// provide: APP_CONFIG,
|
||||||
|
// useValue: appConfig
|
||||||
|
// }
|
||||||
|
]
|
||||||
})(_, (options as any), callback)
|
})(_, (options as any), callback)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
import { distinctUntilChanged, filter, switchMap, take, withLatestFrom } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, switchMap, take, withLatestFrom } from 'rxjs/operators';
|
||||||
|
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
||||||
import {
|
import {
|
||||||
AfterViewInit,
|
AfterViewInit,
|
||||||
ChangeDetectionStrategy,
|
ChangeDetectionStrategy,
|
||||||
@@ -19,6 +20,7 @@ import {
|
|||||||
|
|
||||||
import { BehaviorSubject, Observable, of } from 'rxjs';
|
import { BehaviorSubject, Observable, of } from 'rxjs';
|
||||||
import { select, Store } from '@ngrx/store';
|
import { select, Store } from '@ngrx/store';
|
||||||
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { Angulartics2GoogleAnalytics } from 'angulartics2/ga';
|
import { Angulartics2GoogleAnalytics } from 'angulartics2/ga';
|
||||||
|
|
||||||
@@ -39,13 +41,11 @@ import { LocaleService } from './core/locale/locale.service';
|
|||||||
import { hasValue, isNotEmpty } from './shared/empty.util';
|
import { hasValue, isNotEmpty } from './shared/empty.util';
|
||||||
import { KlaroService } from './shared/cookies/klaro.service';
|
import { KlaroService } from './shared/cookies/klaro.service';
|
||||||
import { GoogleAnalyticsService } from './statistics/google-analytics.service';
|
import { GoogleAnalyticsService } from './statistics/google-analytics.service';
|
||||||
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
||||||
import { ThemeService } from './shared/theme-support/theme.service';
|
import { ThemeService } from './shared/theme-support/theme.service';
|
||||||
import { BASE_THEME_NAME } from './shared/theme-support/theme.constants';
|
import { BASE_THEME_NAME } from './shared/theme-support/theme.constants';
|
||||||
import { DEFAULT_THEME_CONFIG } from './shared/theme-support/theme.effects';
|
|
||||||
import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service';
|
import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service';
|
||||||
import { IdleModalComponent } from './shared/idle-modal/idle-modal.component';
|
import { IdleModalComponent } from './shared/idle-modal/idle-modal.component';
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
import { getDefaultThemeConfig } from '../config/config.util';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-app',
|
selector: 'ds-app',
|
||||||
@@ -116,11 +116,14 @@ export class AppComponent implements OnInit, AfterViewInit {
|
|||||||
}
|
}
|
||||||
if (hasValue(themeName)) {
|
if (hasValue(themeName)) {
|
||||||
this.setThemeCss(themeName);
|
this.setThemeCss(themeName);
|
||||||
} else if (hasValue(DEFAULT_THEME_CONFIG)) {
|
} else {
|
||||||
this.setThemeCss(DEFAULT_THEME_CONFIG.name);
|
const defaultThemeConfig = getDefaultThemeConfig();
|
||||||
|
if (hasValue(defaultThemeConfig)) {
|
||||||
|
this.setThemeCss(defaultThemeConfig.name);
|
||||||
} else {
|
} else {
|
||||||
this.setThemeCss(BASE_THEME_NAME);
|
this.setThemeCss(BASE_THEME_NAME);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (isPlatformBrowser(this.platformId)) {
|
if (isPlatformBrowser(this.platformId)) {
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
import { APP_BASE_HREF, CommonModule } from '@angular/common';
|
import { APP_BASE_HREF, CommonModule } from '@angular/common';
|
||||||
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
||||||
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
||||||
|
import { AbstractControl } from '@angular/forms';
|
||||||
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
|
|
||||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { EffectsModule } from '@ngrx/effects';
|
import { EffectsModule } from '@ngrx/effects';
|
||||||
@@ -37,7 +39,6 @@ import { NotificationsBoardComponent } from './shared/notifications/notification
|
|||||||
import { SharedModule } from './shared/shared.module';
|
import { SharedModule } from './shared/shared.module';
|
||||||
import { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component';
|
import { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component';
|
||||||
import { environment } from '../environments/environment';
|
import { environment } from '../environments/environment';
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
|
||||||
import { ForbiddenComponent } from './forbidden/forbidden.component';
|
import { ForbiddenComponent } from './forbidden/forbidden.component';
|
||||||
import { AuthInterceptor } from './core/auth/auth.interceptor';
|
import { AuthInterceptor } from './core/auth/auth.interceptor';
|
||||||
import { LocaleInterceptor } from './core/locale/locale.interceptor';
|
import { LocaleInterceptor } from './core/locale/locale.interceptor';
|
||||||
@@ -56,7 +57,8 @@ import { IdleModalComponent } from './shared/idle-modal/idle-modal.component';
|
|||||||
|
|
||||||
import { UUIDService } from './core/shared/uuid.service';
|
import { UUIDService } from './core/shared/uuid.service';
|
||||||
import { CookieService } from './core/services/cookie.service';
|
import { CookieService } from './core/services/cookie.service';
|
||||||
import { AbstractControl } from '@angular/forms';
|
|
||||||
|
// import { AppConfig, APP_CONFIG } from '../config/app-config.interface';
|
||||||
|
|
||||||
export function getBase() {
|
export function getBase() {
|
||||||
return environment.ui.nameSpace;
|
return environment.ui.nameSpace;
|
||||||
@@ -100,11 +102,13 @@ IMPORTS.push(
|
|||||||
const PROVIDERS = [
|
const PROVIDERS = [
|
||||||
{
|
{
|
||||||
provide: APP_BASE_HREF,
|
provide: APP_BASE_HREF,
|
||||||
useFactory: (getBase)
|
useFactory: getBase,
|
||||||
|
// deps: [APP_CONFIG]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: USER_PROVIDED_META_REDUCERS,
|
provide: USER_PROVIDED_META_REDUCERS,
|
||||||
useFactory: getMetaReducers,
|
useFactory: getMetaReducers,
|
||||||
|
// deps: [APP_CONFIG]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: RouterStateSerializer,
|
provide: RouterStateSerializer,
|
||||||
|
@@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core';
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { first, map } from 'rxjs/operators';
|
import { first, map } from 'rxjs/operators';
|
||||||
import { RemoteData } from 'src/app/core/data/remote-data';
|
import { RemoteData } from '../../../core/data/remote-data';
|
||||||
import { DSpaceObject } from 'src/app/core/shared/dspace-object.model';
|
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-community-authorizations',
|
selector: 'ds-community-authorizations',
|
||||||
|
@@ -20,7 +20,7 @@ export enum IdentifierType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export abstract class RestRequest {
|
export abstract class RestRequest {
|
||||||
public responseMsToLive = environment.cache.msToLive.default;
|
public responseMsToLive;
|
||||||
public isMultipart = false;
|
public isMultipart = false;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@@ -30,6 +30,7 @@ export abstract class RestRequest {
|
|||||||
public body?: any,
|
public body?: any,
|
||||||
public options?: HttpOptions,
|
public options?: HttpOptions,
|
||||||
) {
|
) {
|
||||||
|
this.responseMsToLive = environment.cache.msToLive.default;
|
||||||
}
|
}
|
||||||
|
|
||||||
getResponseParser(): GenericConstructor<ResponseParsingService> {
|
getResponseParser(): GenericConstructor<ResponseParsingService> {
|
||||||
|
@@ -89,7 +89,7 @@ describe('HALEndpointService', () => {
|
|||||||
describe('getRootEndpointMap', () => {
|
describe('getRootEndpointMap', () => {
|
||||||
it('should send a new EndpointMapRequest', () => {
|
it('should send a new EndpointMapRequest', () => {
|
||||||
(service as any).getRootEndpointMap();
|
(service as any).getRootEndpointMap();
|
||||||
const expected = new EndpointMapRequest(requestService.generateRequestId(), environment.rest.baseUrl + 'api');
|
const expected = new EndpointMapRequest(requestService.generateRequestId(), `${environment.rest.baseUrl}/api`);
|
||||||
expect(requestService.send).toHaveBeenCalledWith(expected, true);
|
expect(requestService.send).toHaveBeenCalledWith(expected, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -32,11 +32,11 @@ import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-p
|
|||||||
import { EPersonMock } from '../../testing/eperson.mock';
|
import { EPersonMock } from '../../testing/eperson.mock';
|
||||||
import { isNotEmptyOperator } from '../../empty.util';
|
import { isNotEmptyOperator } from '../../empty.util';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { RemoteData } from 'src/app/core/data/remote-data';
|
import { RemoteData } from '../../../core/data/remote-data';
|
||||||
import { RouterMock } from '../../mocks/router.mock';
|
import { RouterMock } from '../../mocks/router.mock';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
import { PaginationService } from 'src/app/core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||||
import { StoreMock } from '../../testing/store.mock';
|
import { StoreMock } from '../../testing/store.mock';
|
||||||
|
|
||||||
|
@@ -2,15 +2,9 @@ import { Injectable } from '@angular/core';
|
|||||||
import { createEffect, Actions, ofType, ROOT_EFFECTS_INIT } from '@ngrx/effects';
|
import { createEffect, Actions, ofType, ROOT_EFFECTS_INIT } from '@ngrx/effects';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
import { SetThemeAction } from './theme.actions';
|
import { SetThemeAction } from './theme.actions';
|
||||||
import { environment } from '../../../environments/environment';
|
import { hasValue } from '../empty.util';
|
||||||
import { hasValue, hasNoValue } from '../empty.util';
|
|
||||||
import { BASE_THEME_NAME } from './theme.constants';
|
import { BASE_THEME_NAME } from './theme.constants';
|
||||||
|
import { getDefaultThemeConfig } from '../../../config/config.util';
|
||||||
export const DEFAULT_THEME_CONFIG = environment.themes.find((themeConfig: any) =>
|
|
||||||
hasNoValue(themeConfig.regex) &&
|
|
||||||
hasNoValue(themeConfig.handle) &&
|
|
||||||
hasNoValue(themeConfig.uuid)
|
|
||||||
);
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ThemeEffects {
|
export class ThemeEffects {
|
||||||
@@ -21,8 +15,9 @@ export class ThemeEffects {
|
|||||||
this.actions$.pipe(
|
this.actions$.pipe(
|
||||||
ofType(ROOT_EFFECTS_INIT),
|
ofType(ROOT_EFFECTS_INIT),
|
||||||
map(() => {
|
map(() => {
|
||||||
if (hasValue(DEFAULT_THEME_CONFIG)) {
|
const defaultThemeConfig = getDefaultThemeConfig();
|
||||||
return new SetThemeAction(DEFAULT_THEME_CONFIG.name);
|
if (hasValue(defaultThemeConfig)) {
|
||||||
|
return new SetThemeAction(defaultThemeConfig.name);
|
||||||
} else {
|
} else {
|
||||||
return new SetThemeAction(BASE_THEME_NAME);
|
return new SetThemeAction(BASE_THEME_NAME);
|
||||||
}
|
}
|
||||||
|
@@ -1,10 +1,15 @@
|
|||||||
import * as colors from 'colors';
|
import * as colors from 'colors';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
|
|
||||||
|
import { environment } from '../environments/environment';
|
||||||
|
|
||||||
import { AppConfig } from './app-config.interface';
|
import { AppConfig } from './app-config.interface';
|
||||||
import { Config } from './config.interface';
|
import { Config } from './config.interface';
|
||||||
import { DefaultAppConfig } from './default-app-config';
|
import { DefaultAppConfig } from './default-app-config';
|
||||||
import { ServerConfig } from './server-config.interface';
|
import { ServerConfig } from './server-config.interface';
|
||||||
|
import { extendConfig, extendEnvironmentWithAppConfig } from './config.util';
|
||||||
|
import { isNotEmpty } from '../app/shared/empty.util';
|
||||||
|
|
||||||
const CONFIG_PATH = join(process.cwd(), 'config');
|
const CONFIG_PATH = join(process.cwd(), 'config');
|
||||||
|
|
||||||
@@ -12,9 +17,17 @@ const APP_CONFIG_PATH = join(CONFIG_PATH, 'appConfig.json');
|
|||||||
|
|
||||||
type Environment = 'production' | 'development' | 'test';
|
type Environment = 'production' | 'development' | 'test';
|
||||||
|
|
||||||
|
const getBooleanFromString = (variable: string): boolean => {
|
||||||
|
return variable === 'true' || variable === '1';
|
||||||
|
};
|
||||||
|
|
||||||
|
const getNumberFromString = (variable: string): number => {
|
||||||
|
return Number(variable);
|
||||||
|
};
|
||||||
|
|
||||||
const getEnvironment = (): Environment => {
|
const getEnvironment = (): Environment => {
|
||||||
let environment: Environment = 'development';
|
let environment: Environment = 'development';
|
||||||
if (!!process.env.NODE_ENV) {
|
if (isNotEmpty(process.env.NODE_ENV)) {
|
||||||
switch (process.env.NODE_ENV) {
|
switch (process.env.NODE_ENV) {
|
||||||
case 'prod':
|
case 'prod':
|
||||||
case 'production':
|
case 'production':
|
||||||
@@ -34,7 +47,10 @@ const getEnvironment = (): Environment => {
|
|||||||
return environment;
|
return environment;
|
||||||
};
|
};
|
||||||
|
|
||||||
const getDistConfigPath = (env: Environment) => {
|
const getLocalConfigPath = (env: Environment) => {
|
||||||
|
// default to config/appConfig.json
|
||||||
|
let localConfigPath = APP_CONFIG_PATH;
|
||||||
|
|
||||||
// determine app config filename variations
|
// determine app config filename variations
|
||||||
let envVariations;
|
let envVariations;
|
||||||
switch (env) {
|
switch (env) {
|
||||||
@@ -53,19 +69,18 @@ const getDistConfigPath = (env: Environment) => {
|
|||||||
for (const envVariation of envVariations) {
|
for (const envVariation of envVariations) {
|
||||||
const altDistConfigPath = join(CONFIG_PATH, `appConfig.${envVariation}.json`);
|
const altDistConfigPath = join(CONFIG_PATH, `appConfig.${envVariation}.json`);
|
||||||
if (fs.existsSync(altDistConfigPath)) {
|
if (fs.existsSync(altDistConfigPath)) {
|
||||||
return altDistConfigPath;
|
localConfigPath = altDistConfigPath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// return default config/appConfig.json
|
return localConfigPath;
|
||||||
return APP_CONFIG_PATH;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const overrideWithConfig = (config: Config, pathToConfig: string) => {
|
const overrideWithConfig = (config: Config, pathToConfig: string) => {
|
||||||
try {
|
try {
|
||||||
console.log(`Overriding app config with ${pathToConfig}`);
|
console.log(`Overriding app config with ${pathToConfig}`);
|
||||||
const externalConfig = fs.readFileSync(pathToConfig, 'utf8');
|
const externalConfig = fs.readFileSync(pathToConfig, 'utf8');
|
||||||
Object.assign(config, JSON.parse(externalConfig));
|
extendConfig(config, JSON.parse(externalConfig));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
@@ -73,15 +88,27 @@ const overrideWithConfig = (config: Config, pathToConfig: string) => {
|
|||||||
|
|
||||||
const overrideWithEnvironment = (config: Config, key: string = '') => {
|
const overrideWithEnvironment = (config: Config, key: string = '') => {
|
||||||
for (const property in config) {
|
for (const property in config) {
|
||||||
const variable = `${key}${!!key ? '_' : ''}${property.toUpperCase()}`;
|
const variable = `${key}${isNotEmpty(key) ? '_' : ''}${property.toUpperCase()}`;
|
||||||
const innerConfig = config[property];
|
const innerConfig = config[property];
|
||||||
if (!!innerConfig) {
|
if (isNotEmpty(innerConfig)) {
|
||||||
if (typeof innerConfig === 'object') {
|
if (typeof innerConfig === 'object') {
|
||||||
overrideWithEnvironment(innerConfig, variable);
|
overrideWithEnvironment(innerConfig, variable);
|
||||||
} else {
|
} else {
|
||||||
if (!!process.env[variable]) {
|
if (isNotEmpty(process.env[variable])) {
|
||||||
console.log(`Applying environment variable ${variable} with value ${process.env[variable]}`);
|
console.log(`Applying environment variable ${variable} with value ${process.env[variable]}`);
|
||||||
|
switch (typeof innerConfig) {
|
||||||
|
case 'number':
|
||||||
|
config[property] = getNumberFromString(process.env[variable]);
|
||||||
|
break;
|
||||||
|
case 'boolean':
|
||||||
|
config[property] = getBooleanFromString(process.env[variable]);
|
||||||
|
break;
|
||||||
|
case 'string':
|
||||||
config[property] = process.env[variable];
|
config[property] = process.env[variable];
|
||||||
|
default:
|
||||||
|
console.warn(`Unsupported environment variable type ${typeof innerConfig} ${variable}`);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -97,7 +124,7 @@ const buildBaseUrl = (config: ServerConfig): void => {
|
|||||||
].join('');
|
].join('');
|
||||||
};
|
};
|
||||||
|
|
||||||
export const buildAppConfig = (destConfigPath: string): AppConfig => {
|
export const buildAppConfig = (destConfigPath?: string): AppConfig => {
|
||||||
// start with default app config
|
// start with default app config
|
||||||
const appConfig: AppConfig = new DefaultAppConfig();
|
const appConfig: AppConfig = new DefaultAppConfig();
|
||||||
|
|
||||||
@@ -116,7 +143,7 @@ export const buildAppConfig = (destConfigPath: string): AppConfig => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// override with dist config
|
// override with dist config
|
||||||
const distConfigPath = getDistConfigPath(env);
|
const distConfigPath = getLocalConfigPath(env);
|
||||||
if (fs.existsSync(distConfigPath)) {
|
if (fs.existsSync(distConfigPath)) {
|
||||||
overrideWithConfig(appConfig, distConfigPath);
|
overrideWithConfig(appConfig, distConfigPath);
|
||||||
} else {
|
} else {
|
||||||
@@ -125,7 +152,7 @@ export const buildAppConfig = (destConfigPath: string): AppConfig => {
|
|||||||
|
|
||||||
// override with external config if specified by environment variable `APP_CONFIG_PATH`
|
// override with external config if specified by environment variable `APP_CONFIG_PATH`
|
||||||
const externalConfigPath = process.env.APP_CONFIG_PATH;
|
const externalConfigPath = process.env.APP_CONFIG_PATH;
|
||||||
if (!!externalConfigPath) {
|
if (isNotEmpty(externalConfigPath)) {
|
||||||
if (fs.existsSync(externalConfigPath)) {
|
if (fs.existsSync(externalConfigPath)) {
|
||||||
overrideWithConfig(appConfig, externalConfigPath);
|
overrideWithConfig(appConfig, externalConfigPath);
|
||||||
} else {
|
} else {
|
||||||
@@ -136,6 +163,18 @@ export const buildAppConfig = (destConfigPath: string): AppConfig => {
|
|||||||
// override with environment variables
|
// override with environment variables
|
||||||
overrideWithEnvironment(appConfig);
|
overrideWithEnvironment(appConfig);
|
||||||
|
|
||||||
|
// apply existing non convention UI environment variables
|
||||||
|
appConfig.ui.host = isNotEmpty(process.env.DSPACE_HOST) ? process.env.DSPACE_HOST : appConfig.ui.host;
|
||||||
|
appConfig.ui.port = isNotEmpty(process.env.DSPACE_PORT) ? getNumberFromString(process.env.DSPACE_PORT) : appConfig.ui.port;
|
||||||
|
appConfig.ui.nameSpace = isNotEmpty(process.env.DSPACE_NAMESPACE) ? process.env.DSPACE_NAMESPACE : appConfig.ui.nameSpace;
|
||||||
|
appConfig.ui.ssl = isNotEmpty(process.env.DSPACE_SSL) ? getBooleanFromString(process.env.DSPACE_SSL) : appConfig.ui.ssl;
|
||||||
|
|
||||||
|
// apply existing non convention REST environment variables
|
||||||
|
appConfig.rest.host = isNotEmpty(process.env.DSPACE_REST_HOST) ? process.env.DSPACE_REST_HOST : appConfig.rest.host;
|
||||||
|
appConfig.rest.port = isNotEmpty(process.env.DSPACE_REST_PORT) ? getNumberFromString(process.env.DSPACE_REST_PORT) : appConfig.rest.port;
|
||||||
|
appConfig.rest.nameSpace = isNotEmpty(process.env.DSPACE_REST_NAMESPACE) ? process.env.DSPACE_REST_NAMESPACE : appConfig.rest.nameSpace;
|
||||||
|
appConfig.rest.ssl = isNotEmpty(process.env.DSPACE_REST_SSL) ? getBooleanFromString(process.env.DSPACE_REST_SSL) : appConfig.rest.ssl;
|
||||||
|
|
||||||
// apply build defined production
|
// apply build defined production
|
||||||
appConfig.production = env === 'production';
|
appConfig.production = env === 'production';
|
||||||
|
|
||||||
@@ -143,9 +182,14 @@ export const buildAppConfig = (destConfigPath: string): AppConfig => {
|
|||||||
buildBaseUrl(appConfig.ui);
|
buildBaseUrl(appConfig.ui);
|
||||||
buildBaseUrl(appConfig.rest);
|
buildBaseUrl(appConfig.rest);
|
||||||
|
|
||||||
|
// extend environment with app config for server side use
|
||||||
|
extendEnvironmentWithAppConfig(environment, appConfig);
|
||||||
|
|
||||||
|
if (isNotEmpty(destConfigPath)) {
|
||||||
fs.writeFileSync(destConfigPath, JSON.stringify(appConfig, null, 2));
|
fs.writeFileSync(destConfigPath, JSON.stringify(appConfig, null, 2));
|
||||||
|
|
||||||
console.log(`Angular ${colors.bold('appConfig.json')} file generated correctly at ${colors.bold(destConfigPath)} \n`);
|
console.log(`Angular ${colors.bold('appConfig.json')} file generated correctly at ${colors.bold(destConfigPath)} \n`);
|
||||||
|
}
|
||||||
|
|
||||||
return appConfig;
|
return appConfig;
|
||||||
}
|
};
|
37
src/config/config.util.ts
Normal file
37
src/config/config.util.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import * as merge from 'deepmerge';
|
||||||
|
|
||||||
|
import { environment } from '../environments/environment';
|
||||||
|
|
||||||
|
import { hasNoValue } from '../app/shared/empty.util';
|
||||||
|
|
||||||
|
import { AppConfig } from './app-config.interface';
|
||||||
|
import { ThemeConfig } from './theme.model';
|
||||||
|
|
||||||
|
const extendEnvironmentWithAppConfig = (env: any, appConfig: AppConfig): void => {
|
||||||
|
extendConfig(env, appConfig);
|
||||||
|
console.log(`Environment extended with app config`);
|
||||||
|
};
|
||||||
|
|
||||||
|
const extendConfig = (config: any, appConfig: AppConfig): void => {
|
||||||
|
const mergeOptions = {
|
||||||
|
arrayMerge: (destinationArray, sourceArray, options) => sourceArray
|
||||||
|
};
|
||||||
|
Object.assign(config, merge.all([
|
||||||
|
config,
|
||||||
|
appConfig
|
||||||
|
], mergeOptions));
|
||||||
|
};
|
||||||
|
|
||||||
|
const getDefaultThemeConfig = (): ThemeConfig => {
|
||||||
|
return environment.themes.find((themeConfig: any) =>
|
||||||
|
hasNoValue(themeConfig.regex) &&
|
||||||
|
hasNoValue(themeConfig.handle) &&
|
||||||
|
hasNoValue(themeConfig.uuid)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export {
|
||||||
|
extendEnvironmentWithAppConfig,
|
||||||
|
extendConfig,
|
||||||
|
getDefaultThemeConfig
|
||||||
|
};
|
294
src/environments/environment.ci.ts
Normal file
294
src/environments/environment.ci.ts
Normal file
@@ -0,0 +1,294 @@
|
|||||||
|
import { BrowseByType } from '../app/browse-by/browse-by-switcher/browse-by-decorator';
|
||||||
|
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
||||||
|
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
||||||
|
import { AppConfig } from '../config/app-config.interface';
|
||||||
|
|
||||||
|
export const environment: AppConfig = {
|
||||||
|
production: true,
|
||||||
|
|
||||||
|
// Angular Universal settings
|
||||||
|
universal: {
|
||||||
|
preboot: true,
|
||||||
|
async: true,
|
||||||
|
time: false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Angular Universal server settings.
|
||||||
|
// NOTE: these must be 'synced' with the 'dspace.ui.url' setting in your backend's local.cfg.
|
||||||
|
ui: {
|
||||||
|
ssl: false,
|
||||||
|
host: 'localhost',
|
||||||
|
port: 4000,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
nameSpace: '/',
|
||||||
|
baseUrl: 'http://localhost:4000/',
|
||||||
|
|
||||||
|
// The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
|
||||||
|
rateLimiter: {
|
||||||
|
windowMs: 1 * 60 * 1000, // 1 minute
|
||||||
|
max: 500 // limit each IP to 500 requests per windowMs
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// The REST API server settings.
|
||||||
|
// NOTE: these must be 'synced' with the 'dspace.server.url' setting in your backend's local.cfg.
|
||||||
|
rest: {
|
||||||
|
ssl: false,
|
||||||
|
host: 'localhost',
|
||||||
|
port: 8080,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
nameSpace: '/server',
|
||||||
|
baseUrl: 'http://localhost:8080/server'
|
||||||
|
},
|
||||||
|
|
||||||
|
// Caching settings
|
||||||
|
cache: {
|
||||||
|
// NOTE: how long should objects be cached for by default
|
||||||
|
msToLive: {
|
||||||
|
default: 15 * 60 * 1000 // 15 minutes
|
||||||
|
},
|
||||||
|
control: 'max-age=60', // revalidate browser
|
||||||
|
autoSync: {
|
||||||
|
defaultTime: 0,
|
||||||
|
maxBufferSize: 100,
|
||||||
|
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any // time in seconds
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Authentication settings
|
||||||
|
auth: {
|
||||||
|
// Authentication UI settings
|
||||||
|
ui: {
|
||||||
|
// the amount of time before the idle warning is shown
|
||||||
|
timeUntilIdle: 15 * 60 * 1000, // 15 minutes
|
||||||
|
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
||||||
|
idleGracePeriod: 5 * 60 * 1000 // 5 minutes
|
||||||
|
},
|
||||||
|
// Authentication REST settings
|
||||||
|
rest: {
|
||||||
|
// If the rest token expires in less than this amount of time, it will be refreshed automatically.
|
||||||
|
// This is independent from the idle warning.
|
||||||
|
timeLeftBeforeTokenRefresh: 2 * 60 * 1000 // 2 minutes
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Form settings
|
||||||
|
form: {
|
||||||
|
// NOTE: Map server-side validators to comparative Angular form validators
|
||||||
|
validatorMap: {
|
||||||
|
required: 'required',
|
||||||
|
regex: 'pattern'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Notifications
|
||||||
|
notifications: {
|
||||||
|
rtl: false,
|
||||||
|
position: ['top', 'right'],
|
||||||
|
maxStack: 8,
|
||||||
|
// NOTE: after how many seconds notification is closed automatically. If set to zero notifications are not closed automatically
|
||||||
|
timeOut: 5000, // 5 second
|
||||||
|
clickToClose: true,
|
||||||
|
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
||||||
|
animate: NotificationAnimationsType.Scale
|
||||||
|
},
|
||||||
|
|
||||||
|
// Submission settings
|
||||||
|
submission: {
|
||||||
|
autosave: {
|
||||||
|
// NOTE: which metadata trigger an autosave
|
||||||
|
metadata: [],
|
||||||
|
/**
|
||||||
|
* NOTE: after how many time (milliseconds) submission is saved automatically
|
||||||
|
* eg. timer: 5 * (1000 * 60); // 5 minutes
|
||||||
|
*/
|
||||||
|
timer: 0
|
||||||
|
},
|
||||||
|
icons: {
|
||||||
|
metadata: [
|
||||||
|
/**
|
||||||
|
* NOTE: example of configuration
|
||||||
|
* {
|
||||||
|
* // NOTE: metadata name
|
||||||
|
* name: 'dc.author',
|
||||||
|
* // NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
|
||||||
|
* style: 'fa-user'
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
name: 'dc.author',
|
||||||
|
style: 'fas fa-user'
|
||||||
|
},
|
||||||
|
// default configuration
|
||||||
|
{
|
||||||
|
name: 'default',
|
||||||
|
style: ''
|
||||||
|
}
|
||||||
|
],
|
||||||
|
authority: {
|
||||||
|
confidence: [
|
||||||
|
/**
|
||||||
|
* NOTE: example of configuration
|
||||||
|
* {
|
||||||
|
* // NOTE: confidence value
|
||||||
|
* value: 'dc.author',
|
||||||
|
* // NOTE: fontawesome (v4.x) icon classes and bootstrap utility classes can be used
|
||||||
|
* style: 'fa-user'
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
value: 600,
|
||||||
|
style: 'text-success'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 500,
|
||||||
|
style: 'text-info'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 400,
|
||||||
|
style: 'text-warning'
|
||||||
|
},
|
||||||
|
// default configuration
|
||||||
|
{
|
||||||
|
value: 'default',
|
||||||
|
style: 'text-muted'
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// NOTE: will log all redux actions and transfers in console
|
||||||
|
debug: false,
|
||||||
|
|
||||||
|
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
||||||
|
defaultLanguage: 'en',
|
||||||
|
|
||||||
|
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
||||||
|
// When set to active, users will be able to switch to the use of this language in the user interface.
|
||||||
|
languages: [
|
||||||
|
{ code: 'en', label: 'English', active: true },
|
||||||
|
{ code: 'cs', label: 'Čeština', active: true },
|
||||||
|
{ code: 'de', label: 'Deutsch', active: true },
|
||||||
|
{ code: 'es', label: 'Español', active: true },
|
||||||
|
{ code: 'fr', label: 'Français', active: true },
|
||||||
|
{ code: 'lv', label: 'Latviešu', active: true },
|
||||||
|
{ code: 'hu', label: 'Magyar', active: true },
|
||||||
|
{ code: 'nl', label: 'Nederlands', active: true },
|
||||||
|
{ code: 'pt-PT', label: 'Português', active: true },
|
||||||
|
{ code: 'pt-BR', label: 'Português do Brasil', active: true },
|
||||||
|
{ code: 'fi', label: 'Suomi', active: true }
|
||||||
|
],
|
||||||
|
|
||||||
|
// Browse-By Pages
|
||||||
|
browseBy: {
|
||||||
|
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
||||||
|
oneYearLimit: 10,
|
||||||
|
// Limit for years to display using jumps of five years (current year - fiveYearLimit)
|
||||||
|
fiveYearLimit: 30,
|
||||||
|
// The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
|
||||||
|
defaultLowerLimit: 1900,
|
||||||
|
// List of all the active Browse-By types
|
||||||
|
// Adding a type will activate their Browse-By page and add them to the global navigation menu,
|
||||||
|
// as well as community and collection pages
|
||||||
|
// Allowed fields and their purpose:
|
||||||
|
// id: The browse id to use for fetching info from the rest api
|
||||||
|
// type: The type of Browse-By page to display
|
||||||
|
// metadataField: The metadata-field used to create starts-with options (only necessary when the type is set to 'date')
|
||||||
|
types: [
|
||||||
|
{
|
||||||
|
id: 'title',
|
||||||
|
type: BrowseByType.Title,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'dateissued',
|
||||||
|
type: BrowseByType.Date,
|
||||||
|
metadataField: 'dc.date.issued'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'author',
|
||||||
|
type: BrowseByType.Metadata
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'subject',
|
||||||
|
type: BrowseByType.Metadata
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Item Page Config
|
||||||
|
item: {
|
||||||
|
edit: {
|
||||||
|
undoTimeout: 10000 // 10 seconds
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Collection Page Config
|
||||||
|
collection: {
|
||||||
|
edit: {
|
||||||
|
undoTimeout: 10000 // 10 seconds
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Theme Config
|
||||||
|
themes: [
|
||||||
|
// Add additional themes here. In the case where multiple themes match a route, the first one
|
||||||
|
// in this list will get priority. It is advisable to always have a theme that matches
|
||||||
|
// every route as the last one
|
||||||
|
|
||||||
|
// {
|
||||||
|
// // A theme with a handle property will match the community, collection or item with the given
|
||||||
|
// // handle, and all collections and/or items within it
|
||||||
|
// name: 'custom',
|
||||||
|
// handle: '10673/1233'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // A theme with a regex property will match the route using a regular expression. If it
|
||||||
|
// // matches the route for a community or collection it will also apply to all collections
|
||||||
|
// // and/or items within it
|
||||||
|
// name: 'custom',
|
||||||
|
// regex: 'collections\/e8043bc2.*'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // A theme with a uuid property will match the community, collection or item with the given
|
||||||
|
// // ID, and all collections and/or items within it
|
||||||
|
// name: 'custom',
|
||||||
|
// uuid: '0958c910-2037-42a9-81c7-dca80e3892b4'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // The extends property specifies an ancestor theme (by name). Whenever a themed component is not found
|
||||||
|
// // in the current theme, its ancestor theme(s) will be checked recursively before falling back to default.
|
||||||
|
// name: 'custom-A',
|
||||||
|
// extends: 'custom-B',
|
||||||
|
// // Any of the matching properties above can be used
|
||||||
|
// handle: '10673/34'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: 'custom-B',
|
||||||
|
// extends: 'custom',
|
||||||
|
// handle: '10673/12'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // A theme with only a name will match every route
|
||||||
|
// name: 'custom'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // This theme will use the default bootstrap styling for DSpace components
|
||||||
|
// name: BASE_THEME_NAME
|
||||||
|
// },
|
||||||
|
|
||||||
|
{
|
||||||
|
// The default dspace theme
|
||||||
|
name: 'dspace'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
// Whether to enable media viewer for image and/or video Bitstreams (i.e. Bitstreams whose MIME type starts with 'image' or 'video').
|
||||||
|
// For images, this enables a gallery viewer where you can zoom or page through images.
|
||||||
|
// For videos, this enables embedded video streaming
|
||||||
|
mediaViewer: {
|
||||||
|
image: false,
|
||||||
|
video: false
|
||||||
|
}
|
||||||
|
};
|
@@ -1,40 +1,52 @@
|
|||||||
import { AppConfig } from '../config/app-config.interface';
|
|
||||||
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
|
||||||
import { BrowseByType } from '../app/browse-by/browse-by-switcher/browse-by-decorator';
|
import { BrowseByType } from '../app/browse-by/browse-by-switcher/browse-by-decorator';
|
||||||
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
||||||
|
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
||||||
|
import { AppConfig } from '../config/app-config.interface';
|
||||||
|
|
||||||
export const environment: AppConfig = {
|
export const environment: AppConfig = {
|
||||||
production: true,
|
production: true,
|
||||||
|
|
||||||
|
// Angular Universal settings
|
||||||
|
universal: {
|
||||||
|
preboot: true,
|
||||||
|
async: true,
|
||||||
|
time: false
|
||||||
|
},
|
||||||
|
|
||||||
// Angular Universal server settings.
|
// Angular Universal server settings.
|
||||||
// NOTE: these must be "synced" with the 'dspace.ui.url' setting in your backend's local.cfg.
|
// NOTE: these must be 'synced' with the 'dspace.ui.url' setting in your backend's local.cfg.
|
||||||
ui: {
|
ui: {
|
||||||
ssl: false,
|
ssl: false,
|
||||||
host: 'localhost',
|
host: 'localhost',
|
||||||
port: 4000,
|
port: 4000,
|
||||||
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
nameSpace: '/',
|
nameSpace: '/',
|
||||||
// The rateLimiter settings limit each IP to a "max" of 500 requests per "windowMs" (1 minute).
|
baseUrl: 'http://localhost:4000/',
|
||||||
|
|
||||||
|
// The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
|
||||||
rateLimiter: {
|
rateLimiter: {
|
||||||
windowMs: 1 * 60 * 1000, // 1 minute
|
windowMs: 1 * 60 * 1000, // 1 minute
|
||||||
max: 500 // limit each IP to 500 requests per windowMs
|
max: 500 // limit each IP to 500 requests per windowMs
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// The REST API server settings.
|
// The REST API server settings.
|
||||||
// NOTE: these must be "synced" with the 'dspace.server.url' setting in your backend's local.cfg.
|
// NOTE: these must be 'synced' with the 'dspace.server.url' setting in your backend's local.cfg.
|
||||||
rest: {
|
rest: {
|
||||||
ssl: true,
|
ssl: true,
|
||||||
host: 'api7.dspace.org',
|
host: 'api7.dspace.org',
|
||||||
port: 443,
|
port: 443,
|
||||||
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
nameSpace: '/server',
|
nameSpace: '/server',
|
||||||
|
baseUrl: 'https://api7.dspace.org/server'
|
||||||
},
|
},
|
||||||
|
|
||||||
// Caching settings
|
// Caching settings
|
||||||
cache: {
|
cache: {
|
||||||
// NOTE: how long should objects be cached for by default
|
// NOTE: how long should objects be cached for by default
|
||||||
msToLive: {
|
msToLive: {
|
||||||
default: 15 * 60 * 1000, // 15 minutes
|
default: 15 * 60 * 1000 // 15 minutes
|
||||||
},
|
},
|
||||||
// msToLive: 1000, // 15 minutes
|
|
||||||
control: 'max-age=60', // revalidate browser
|
control: 'max-age=60', // revalidate browser
|
||||||
autoSync: {
|
autoSync: {
|
||||||
defaultTime: 0,
|
defaultTime: 0,
|
||||||
@@ -42,6 +54,7 @@ export const environment: AppConfig = {
|
|||||||
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any // time in seconds
|
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any // time in seconds
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Authentication settings
|
// Authentication settings
|
||||||
auth: {
|
auth: {
|
||||||
// Authentication UI settings
|
// Authentication UI settings
|
||||||
@@ -49,15 +62,16 @@ export const environment: AppConfig = {
|
|||||||
// the amount of time before the idle warning is shown
|
// the amount of time before the idle warning is shown
|
||||||
timeUntilIdle: 15 * 60 * 1000, // 15 minutes
|
timeUntilIdle: 15 * 60 * 1000, // 15 minutes
|
||||||
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
||||||
idleGracePeriod: 5 * 60 * 1000, // 5 minutes
|
idleGracePeriod: 5 * 60 * 1000 // 5 minutes
|
||||||
},
|
},
|
||||||
// Authentication REST settings
|
// Authentication REST settings
|
||||||
rest: {
|
rest: {
|
||||||
// If the rest token expires in less than this amount of time, it will be refreshed automatically.
|
// If the rest token expires in less than this amount of time, it will be refreshed automatically.
|
||||||
// This is independent from the idle warning.
|
// This is independent from the idle warning.
|
||||||
timeLeftBeforeTokenRefresh: 2 * 60 * 1000, // 2 minutes
|
timeLeftBeforeTokenRefresh: 2 * 60 * 1000 // 2 minutes
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Form settings
|
// Form settings
|
||||||
form: {
|
form: {
|
||||||
// NOTE: Map server-side validators to comparative Angular form validators
|
// NOTE: Map server-side validators to comparative Angular form validators
|
||||||
@@ -66,6 +80,7 @@ export const environment: AppConfig = {
|
|||||||
regex: 'pattern'
|
regex: 'pattern'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Notifications
|
// Notifications
|
||||||
notifications: {
|
notifications: {
|
||||||
rtl: false,
|
rtl: false,
|
||||||
@@ -77,6 +92,7 @@ export const environment: AppConfig = {
|
|||||||
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
||||||
animate: NotificationAnimationsType.Scale
|
animate: NotificationAnimationsType.Scale
|
||||||
},
|
},
|
||||||
|
|
||||||
// Submission settings
|
// Submission settings
|
||||||
submission: {
|
submission: {
|
||||||
autosave: {
|
autosave: {
|
||||||
@@ -136,69 +152,35 @@ export const environment: AppConfig = {
|
|||||||
{
|
{
|
||||||
value: 'default',
|
value: 'default',
|
||||||
style: 'text-muted'
|
style: 'text-muted'
|
||||||
},
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// Angular Universal settings
|
|
||||||
universal: {
|
|
||||||
preboot: true,
|
|
||||||
async: true,
|
|
||||||
time: false
|
|
||||||
},
|
|
||||||
// NOTE: will log all redux actions and transfers in console
|
// NOTE: will log all redux actions and transfers in console
|
||||||
debug: false,
|
debug: false,
|
||||||
|
|
||||||
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
||||||
defaultLanguage: 'en',
|
defaultLanguage: 'en',
|
||||||
|
|
||||||
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
||||||
// When set to active, users will be able to switch to the use of this language in the user interface.
|
// When set to active, users will be able to switch to the use of this language in the user interface.
|
||||||
languages: [{
|
languages: [
|
||||||
code: 'en',
|
{ code: 'en', label: 'English', active: true },
|
||||||
label: 'English',
|
{ code: 'cs', label: 'Čeština', active: true },
|
||||||
active: true,
|
{ code: 'de', label: 'Deutsch', active: true },
|
||||||
}, {
|
{ code: 'es', label: 'Español', active: true },
|
||||||
code: 'cs',
|
{ code: 'fr', label: 'Français', active: true },
|
||||||
label: 'Čeština',
|
{ code: 'lv', label: 'Latviešu', active: true },
|
||||||
active: true,
|
{ code: 'hu', label: 'Magyar', active: true },
|
||||||
}, {
|
{ code: 'nl', label: 'Nederlands', active: true },
|
||||||
code: 'de',
|
{ code: 'pt-PT', label: 'Português', active: true },
|
||||||
label: 'Deutsch',
|
{ code: 'pt-BR', label: 'Português do Brasil', active: true },
|
||||||
active: true,
|
{ code: 'fi', label: 'Suomi', active: true }
|
||||||
}, {
|
],
|
||||||
code: 'es',
|
|
||||||
label: 'Español',
|
|
||||||
active: true,
|
|
||||||
}, {
|
|
||||||
code: 'fr',
|
|
||||||
label: 'Français',
|
|
||||||
active: true,
|
|
||||||
}, {
|
|
||||||
code: 'lv',
|
|
||||||
label: 'Latviešu',
|
|
||||||
active: true,
|
|
||||||
}, {
|
|
||||||
code: 'hu',
|
|
||||||
label: 'Magyar',
|
|
||||||
active: true,
|
|
||||||
}, {
|
|
||||||
code: 'nl',
|
|
||||||
label: 'Nederlands',
|
|
||||||
active: true,
|
|
||||||
}, {
|
|
||||||
code: 'pt-PT',
|
|
||||||
label: 'Português',
|
|
||||||
active: true,
|
|
||||||
},{
|
|
||||||
code: 'pt-BR',
|
|
||||||
label: 'Português do Brasil',
|
|
||||||
active: true,
|
|
||||||
},{
|
|
||||||
code: 'fi',
|
|
||||||
label: 'Suomi',
|
|
||||||
active: true,
|
|
||||||
}],
|
|
||||||
// Browse-By Pages
|
// Browse-By Pages
|
||||||
browseBy: {
|
browseBy: {
|
||||||
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
||||||
@@ -234,16 +216,22 @@ export const environment: AppConfig = {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Item Page Config
|
||||||
item: {
|
item: {
|
||||||
edit: {
|
edit: {
|
||||||
undoTimeout: 10000 // 10 seconds
|
undoTimeout: 10000 // 10 seconds
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Collection Page Config
|
||||||
collection: {
|
collection: {
|
||||||
edit: {
|
edit: {
|
||||||
undoTimeout: 10000 // 10 seconds
|
undoTimeout: 10000 // 10 seconds
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Theme Config
|
||||||
themes: [
|
themes: [
|
||||||
// Add additional themes here. In the case where multiple themes match a route, the first one
|
// Add additional themes here. In the case where multiple themes match a route, the first one
|
||||||
// in this list will get priority. It is advisable to always have a theme that matches
|
// in this list will get priority. It is advisable to always have a theme that matches
|
||||||
@@ -274,12 +262,12 @@ export const environment: AppConfig = {
|
|||||||
// name: 'custom-A',
|
// name: 'custom-A',
|
||||||
// extends: 'custom-B',
|
// extends: 'custom-B',
|
||||||
// // Any of the matching properties above can be used
|
// // Any of the matching properties above can be used
|
||||||
// handle: '10673/34',
|
// handle: '10673/34'
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
// name: 'custom-B',
|
// name: 'custom-B',
|
||||||
// extends: 'custom',
|
// extends: 'custom',
|
||||||
// handle: '10673/12',
|
// handle: '10673/12'
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
// // A theme with only a name will match every route
|
// // A theme with only a name will match every route
|
||||||
@@ -293,13 +281,14 @@ export const environment: AppConfig = {
|
|||||||
{
|
{
|
||||||
// The default dspace theme
|
// The default dspace theme
|
||||||
name: 'dspace'
|
name: 'dspace'
|
||||||
},
|
}
|
||||||
],
|
],
|
||||||
// Whether to enable media viewer for image and/or video Bitstreams (i.e. Bitstreams whose MIME type starts with "image" or "video").
|
|
||||||
|
// Whether to enable media viewer for image and/or video Bitstreams (i.e. Bitstreams whose MIME type starts with 'image' or 'video').
|
||||||
// For images, this enables a gallery viewer where you can zoom or page through images.
|
// For images, this enables a gallery viewer where you can zoom or page through images.
|
||||||
// For videos, this enables embedded video streaming
|
// For videos, this enables embedded video streaming
|
||||||
mediaViewer: {
|
mediaViewer: {
|
||||||
image: false,
|
image: false,
|
||||||
video: false,
|
video: false
|
||||||
},
|
}
|
||||||
};
|
};
|
@@ -1,10 +0,0 @@
|
|||||||
export const environment = {
|
|
||||||
/**
|
|
||||||
* TODO add the sections from environment.common.ts you want to override here
|
|
||||||
* e.g.
|
|
||||||
* rest: {
|
|
||||||
* host: 'rest.api',
|
|
||||||
* nameSpace: '/rest',
|
|
||||||
* }
|
|
||||||
*/
|
|
||||||
};
|
|
@@ -1,26 +1,44 @@
|
|||||||
// This configuration is only used for unit tests, end-to-end tests use environment.prod.ts
|
// This configuration is only used for unit tests, end-to-end tests use environment.e2e.ts
|
||||||
import { BrowseByType } from '../app/browse-by/browse-by-switcher/browse-by-decorator';
|
import { BrowseByType } from '../app/browse-by/browse-by-switcher/browse-by-decorator';
|
||||||
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
||||||
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
||||||
import { AppConfig } from '../config/app-config.interface';
|
import { AppConfig } from '../config/app-config.interface';
|
||||||
|
|
||||||
export const environment: Partial<AppConfig> = {
|
export const environment: AppConfig = {
|
||||||
rest: {
|
production: false,
|
||||||
ssl: true,
|
|
||||||
host: 'rest.com',
|
// Angular Universal settings
|
||||||
port: 443,
|
universal: {
|
||||||
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
preboot: true,
|
||||||
nameSpace: '/api',
|
async: true,
|
||||||
baseUrl: 'https://rest.api/'
|
time: false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Angular Universal server settings.
|
||||||
ui: {
|
ui: {
|
||||||
ssl: false,
|
ssl: false,
|
||||||
host: 'dspace.com',
|
host: 'dspace.com',
|
||||||
port: 80,
|
port: 80,
|
||||||
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
nameSpace: '/angular-dspace',
|
nameSpace: '/angular-dspace',
|
||||||
rateLimiter: undefined
|
baseUrl: 'http://dspace.com/angular-dspace',
|
||||||
|
// The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
|
||||||
|
rateLimiter: {
|
||||||
|
windowMs: 1 * 60 * 1000, // 1 minute
|
||||||
|
max: 500 // limit each IP to 500 requests per windowMs
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// The REST API server settings.
|
||||||
|
rest: {
|
||||||
|
ssl: true,
|
||||||
|
host: 'rest.com',
|
||||||
|
port: 443,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
nameSpace: '/api',
|
||||||
|
baseUrl: 'https://rest.com/api'
|
||||||
|
},
|
||||||
|
|
||||||
// Caching settings
|
// Caching settings
|
||||||
cache: {
|
cache: {
|
||||||
// NOTE: how long should objects be cached for by default
|
// NOTE: how long should objects be cached for by default
|
||||||
@@ -28,19 +46,21 @@ export const environment: Partial<AppConfig> = {
|
|||||||
default: 15 * 60 * 1000, // 15 minutes
|
default: 15 * 60 * 1000, // 15 minutes
|
||||||
},
|
},
|
||||||
// msToLive: 1000, // 15 minutes
|
// msToLive: 1000, // 15 minutes
|
||||||
control: 'max-age=60', // revalidate browser
|
control: 'max-age=60',
|
||||||
autoSync: {
|
autoSync: {
|
||||||
defaultTime: 0,
|
defaultTime: 0,
|
||||||
maxBufferSize: 100,
|
maxBufferSize: 100,
|
||||||
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any // time in seconds
|
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any // time in seconds
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Authentication settings
|
// Authentication settings
|
||||||
auth: {
|
auth: {
|
||||||
// Authentication UI settings
|
// Authentication UI settings
|
||||||
ui: {
|
ui: {
|
||||||
// the amount of time before the idle warning is shown
|
// the amount of time before the idle warning is shown
|
||||||
timeUntilIdle: 20000, // 20 sec
|
timeUntilIdle: 20000,
|
||||||
|
|
||||||
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
||||||
idleGracePeriod: 20000, // 20 sec
|
idleGracePeriod: 20000, // 20 sec
|
||||||
},
|
},
|
||||||
@@ -51,6 +71,7 @@ export const environment: Partial<AppConfig> = {
|
|||||||
timeLeftBeforeTokenRefresh: 20000, // 20 sec
|
timeLeftBeforeTokenRefresh: 20000, // 20 sec
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// Form settings
|
// Form settings
|
||||||
form: {
|
form: {
|
||||||
// NOTE: Map server-side validators to comparative Angular form validators
|
// NOTE: Map server-side validators to comparative Angular form validators
|
||||||
@@ -59,17 +80,19 @@ export const environment: Partial<AppConfig> = {
|
|||||||
regex: 'pattern'
|
regex: 'pattern'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Notifications
|
// Notifications
|
||||||
notifications: {
|
notifications: {
|
||||||
rtl: false,
|
rtl: false,
|
||||||
position: ['top', 'right'],
|
position: ['top', 'right'],
|
||||||
maxStack: 8,
|
maxStack: 8,
|
||||||
// NOTE: after how many seconds notification is closed automatically. If set to zero notifications are not closed automatically
|
// NOTE: after how many seconds notification is closed automatically. If set to zero notifications are not closed automatically
|
||||||
timeOut: 5000, // 5 second
|
timeOut: 5000,
|
||||||
clickToClose: true,
|
clickToClose: true,
|
||||||
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
||||||
animate: NotificationAnimationsType.Scale
|
animate: NotificationAnimationsType.Scale
|
||||||
},
|
},
|
||||||
|
|
||||||
// Submission settings
|
// Submission settings
|
||||||
submission: {
|
submission: {
|
||||||
autosave: {
|
autosave: {
|
||||||
@@ -115,21 +138,17 @@ export const environment: Partial<AppConfig> = {
|
|||||||
value: 'default',
|
value: 'default',
|
||||||
style: 'text-muted'
|
style: 'text-muted'
|
||||||
},
|
},
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// Angular Universal settings
|
|
||||||
universal: {
|
|
||||||
preboot: true,
|
|
||||||
async: true,
|
|
||||||
time: false
|
|
||||||
},
|
|
||||||
// NOTE: will log all redux actions and transfers in console
|
// NOTE: will log all redux actions and transfers in console
|
||||||
debug: false,
|
debug: false,
|
||||||
|
|
||||||
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
||||||
defaultLanguage: 'en',
|
defaultLanguage: 'en',
|
||||||
|
|
||||||
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
||||||
// When set to active, users will be able to switch to the use of this language in the user interface.
|
// When set to active, users will be able to switch to the use of this language in the user interface.
|
||||||
languages: [{
|
languages: [{
|
||||||
@@ -161,6 +180,7 @@ export const environment: Partial<AppConfig> = {
|
|||||||
label: 'Latviešu',
|
label: 'Latviešu',
|
||||||
active: true,
|
active: true,
|
||||||
}],
|
}],
|
||||||
|
|
||||||
// Browse-By Pages
|
// Browse-By Pages
|
||||||
browseBy: {
|
browseBy: {
|
||||||
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
||||||
@@ -234,5 +254,5 @@ export const environment: Partial<AppConfig> = {
|
|||||||
mediaViewer: {
|
mediaViewer: {
|
||||||
image: true,
|
image: true,
|
||||||
video: true
|
video: true
|
||||||
},
|
}
|
||||||
};
|
};
|
309
src/environments/environment.ts
Normal file
309
src/environments/environment.ts
Normal file
@@ -0,0 +1,309 @@
|
|||||||
|
// This file can be replaced during build by using the `fileReplacements` array.
|
||||||
|
// `ng build --configuration production` replaces `environment.ts` with `environment.prod.ts`.
|
||||||
|
// `ng build --configuration ci` replaces `environment.ts` with `environment.ci.ts`.
|
||||||
|
// `ng test --configuration test` replaces `environment.ts` with `environment.test.ts`.
|
||||||
|
// The list of file replacements can be found in `angular.json`.
|
||||||
|
|
||||||
|
import { BrowseByType } from '../app/browse-by/browse-by-switcher/browse-by-decorator';
|
||||||
|
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
||||||
|
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
||||||
|
import { AppConfig } from '../config/app-config.interface';
|
||||||
|
|
||||||
|
export const environment: AppConfig = {
|
||||||
|
production: false,
|
||||||
|
|
||||||
|
// Angular Universal settings
|
||||||
|
universal: {
|
||||||
|
preboot: true,
|
||||||
|
async: true,
|
||||||
|
time: false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Angular Universal server settings.
|
||||||
|
// NOTE: these must be 'synced' with the 'dspace.ui.url' setting in your backend's local.cfg.
|
||||||
|
ui: {
|
||||||
|
ssl: false,
|
||||||
|
host: 'localhost',
|
||||||
|
port: 4000,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
nameSpace: '/',
|
||||||
|
baseUrl: 'http://localhost:4000/',
|
||||||
|
|
||||||
|
// The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
|
||||||
|
rateLimiter: {
|
||||||
|
windowMs: 1 * 60 * 1000, // 1 minute
|
||||||
|
max: 500 // limit each IP to 500 requests per windowMs
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// The REST API server settings.
|
||||||
|
// NOTE: these must be 'synced' with the 'dspace.server.url' setting in your backend's local.cfg.
|
||||||
|
rest: {
|
||||||
|
ssl: true,
|
||||||
|
host: 'api7.dspace.org',
|
||||||
|
port: 443,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
nameSpace: '/server',
|
||||||
|
baseUrl: 'https://api7.dspace.org/server'
|
||||||
|
},
|
||||||
|
|
||||||
|
// Caching settings
|
||||||
|
cache: {
|
||||||
|
// NOTE: how long should objects be cached for by default
|
||||||
|
msToLive: {
|
||||||
|
default: 15 * 60 * 1000 // 15 minutes
|
||||||
|
},
|
||||||
|
control: 'max-age=60', // revalidate browser
|
||||||
|
autoSync: {
|
||||||
|
defaultTime: 0,
|
||||||
|
maxBufferSize: 100,
|
||||||
|
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any // time in seconds
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Authentication settings
|
||||||
|
auth: {
|
||||||
|
// Authentication UI settings
|
||||||
|
ui: {
|
||||||
|
// the amount of time before the idle warning is shown
|
||||||
|
timeUntilIdle: 15 * 60 * 1000, // 15 minutes
|
||||||
|
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
||||||
|
idleGracePeriod: 5 * 60 * 1000 // 5 minutes
|
||||||
|
},
|
||||||
|
// Authentication REST settings
|
||||||
|
rest: {
|
||||||
|
// If the rest token expires in less than this amount of time, it will be refreshed automatically.
|
||||||
|
// This is independent from the idle warning.
|
||||||
|
timeLeftBeforeTokenRefresh: 2 * 60 * 1000 // 2 minutes
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Form settings
|
||||||
|
form: {
|
||||||
|
// NOTE: Map server-side validators to comparative Angular form validators
|
||||||
|
validatorMap: {
|
||||||
|
required: 'required',
|
||||||
|
regex: 'pattern'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Notifications
|
||||||
|
notifications: {
|
||||||
|
rtl: false,
|
||||||
|
position: ['top', 'right'],
|
||||||
|
maxStack: 8,
|
||||||
|
// NOTE: after how many seconds notification is closed automatically. If set to zero notifications are not closed automatically
|
||||||
|
timeOut: 5000, // 5 second
|
||||||
|
clickToClose: true,
|
||||||
|
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
||||||
|
animate: NotificationAnimationsType.Scale
|
||||||
|
},
|
||||||
|
|
||||||
|
// Submission settings
|
||||||
|
submission: {
|
||||||
|
autosave: {
|
||||||
|
// NOTE: which metadata trigger an autosave
|
||||||
|
metadata: [],
|
||||||
|
/**
|
||||||
|
* NOTE: after how many time (milliseconds) submission is saved automatically
|
||||||
|
* eg. timer: 5 * (1000 * 60); // 5 minutes
|
||||||
|
*/
|
||||||
|
timer: 0
|
||||||
|
},
|
||||||
|
icons: {
|
||||||
|
metadata: [
|
||||||
|
/**
|
||||||
|
* NOTE: example of configuration
|
||||||
|
* {
|
||||||
|
* // NOTE: metadata name
|
||||||
|
* name: 'dc.author',
|
||||||
|
* // NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
|
||||||
|
* style: 'fa-user'
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
name: 'dc.author',
|
||||||
|
style: 'fas fa-user'
|
||||||
|
},
|
||||||
|
// default configuration
|
||||||
|
{
|
||||||
|
name: 'default',
|
||||||
|
style: ''
|
||||||
|
}
|
||||||
|
],
|
||||||
|
authority: {
|
||||||
|
confidence: [
|
||||||
|
/**
|
||||||
|
* NOTE: example of configuration
|
||||||
|
* {
|
||||||
|
* // NOTE: confidence value
|
||||||
|
* value: 'dc.author',
|
||||||
|
* // NOTE: fontawesome (v4.x) icon classes and bootstrap utility classes can be used
|
||||||
|
* style: 'fa-user'
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
value: 600,
|
||||||
|
style: 'text-success'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 500,
|
||||||
|
style: 'text-info'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 400,
|
||||||
|
style: 'text-warning'
|
||||||
|
},
|
||||||
|
// default configuration
|
||||||
|
{
|
||||||
|
value: 'default',
|
||||||
|
style: 'text-muted'
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// NOTE: will log all redux actions and transfers in console
|
||||||
|
debug: false,
|
||||||
|
|
||||||
|
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
||||||
|
defaultLanguage: 'en',
|
||||||
|
|
||||||
|
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
||||||
|
// When set to active, users will be able to switch to the use of this language in the user interface.
|
||||||
|
languages: [
|
||||||
|
{ code: 'en', label: 'English', active: true },
|
||||||
|
{ code: 'cs', label: 'Čeština', active: true },
|
||||||
|
{ code: 'de', label: 'Deutsch', active: true },
|
||||||
|
{ code: 'es', label: 'Español', active: true },
|
||||||
|
{ code: 'fr', label: 'Français', active: true },
|
||||||
|
{ code: 'lv', label: 'Latviešu', active: true },
|
||||||
|
{ code: 'hu', label: 'Magyar', active: true },
|
||||||
|
{ code: 'nl', label: 'Nederlands', active: true },
|
||||||
|
{ code: 'pt-PT', label: 'Português', active: true },
|
||||||
|
{ code: 'pt-BR', label: 'Português do Brasil', active: true },
|
||||||
|
{ code: 'fi', label: 'Suomi', active: true }
|
||||||
|
],
|
||||||
|
|
||||||
|
// Browse-By Pages
|
||||||
|
browseBy: {
|
||||||
|
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
||||||
|
oneYearLimit: 10,
|
||||||
|
// Limit for years to display using jumps of five years (current year - fiveYearLimit)
|
||||||
|
fiveYearLimit: 30,
|
||||||
|
// The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
|
||||||
|
defaultLowerLimit: 1900,
|
||||||
|
// List of all the active Browse-By types
|
||||||
|
// Adding a type will activate their Browse-By page and add them to the global navigation menu,
|
||||||
|
// as well as community and collection pages
|
||||||
|
// Allowed fields and their purpose:
|
||||||
|
// id: The browse id to use for fetching info from the rest api
|
||||||
|
// type: The type of Browse-By page to display
|
||||||
|
// metadataField: The metadata-field used to create starts-with options (only necessary when the type is set to 'date')
|
||||||
|
types: [
|
||||||
|
{
|
||||||
|
id: 'title',
|
||||||
|
type: BrowseByType.Title,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'dateissued',
|
||||||
|
type: BrowseByType.Date,
|
||||||
|
metadataField: 'dc.date.issued'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'author',
|
||||||
|
type: BrowseByType.Metadata
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'subject',
|
||||||
|
type: BrowseByType.Metadata
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// Item Page Config
|
||||||
|
item: {
|
||||||
|
edit: {
|
||||||
|
undoTimeout: 10000 // 10 seconds
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Collection Page Config
|
||||||
|
collection: {
|
||||||
|
edit: {
|
||||||
|
undoTimeout: 10000 // 10 seconds
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Theme Config
|
||||||
|
themes: [
|
||||||
|
// Add additional themes here. In the case where multiple themes match a route, the first one
|
||||||
|
// in this list will get priority. It is advisable to always have a theme that matches
|
||||||
|
// every route as the last one
|
||||||
|
|
||||||
|
// {
|
||||||
|
// // A theme with a handle property will match the community, collection or item with the given
|
||||||
|
// // handle, and all collections and/or items within it
|
||||||
|
// name: 'custom',
|
||||||
|
// handle: '10673/1233'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // A theme with a regex property will match the route using a regular expression. If it
|
||||||
|
// // matches the route for a community or collection it will also apply to all collections
|
||||||
|
// // and/or items within it
|
||||||
|
// name: 'custom',
|
||||||
|
// regex: 'collections\/e8043bc2.*'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // A theme with a uuid property will match the community, collection or item with the given
|
||||||
|
// // ID, and all collections and/or items within it
|
||||||
|
// name: 'custom',
|
||||||
|
// uuid: '0958c910-2037-42a9-81c7-dca80e3892b4'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // The extends property specifies an ancestor theme (by name). Whenever a themed component is not found
|
||||||
|
// // in the current theme, its ancestor theme(s) will be checked recursively before falling back to default.
|
||||||
|
// name: 'custom-A',
|
||||||
|
// extends: 'custom-B',
|
||||||
|
// // Any of the matching properties above can be used
|
||||||
|
// handle: '10673/34'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: 'custom-B',
|
||||||
|
// extends: 'custom',
|
||||||
|
// handle: '10673/12'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // A theme with only a name will match every route
|
||||||
|
// name: 'custom'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// // This theme will use the default bootstrap styling for DSpace components
|
||||||
|
// name: BASE_THEME_NAME
|
||||||
|
// },
|
||||||
|
|
||||||
|
{
|
||||||
|
// The default dspace theme
|
||||||
|
name: 'dspace'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
// Whether to enable media viewer for image and/or video Bitstreams (i.e. Bitstreams whose MIME type starts with 'image' or 'video').
|
||||||
|
// For images, this enables a gallery viewer where you can zoom or page through images.
|
||||||
|
// For videos, this enables embedded video streaming
|
||||||
|
mediaViewer: {
|
||||||
|
image: false,
|
||||||
|
video: false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For easier debugging in development mode, you can import the following file
|
||||||
|
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
||||||
|
*
|
||||||
|
* This import should be commented out in production mode because it will have a negative impact
|
||||||
|
* on performance if an error is thrown.
|
||||||
|
*/
|
||||||
|
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
|
@@ -1,22 +1,25 @@
|
|||||||
import 'zone.js/dist/zone';
|
import 'zone.js/dist/zone';
|
||||||
import 'reflect-metadata';
|
import 'reflect-metadata';
|
||||||
import 'core-js/es/reflect';
|
import 'core-js/es/reflect';
|
||||||
|
|
||||||
import { enableProdMode } from '@angular/core';
|
import { enableProdMode } from '@angular/core';
|
||||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
import { bootloader } from '@angularclass/bootloader';
|
|
||||||
|
|
||||||
import { load as loadWebFont } from 'webfontloader';
|
import { load as loadWebFont } from 'webfontloader';
|
||||||
|
|
||||||
import { hasValue } from './app/shared/empty.util';
|
import { hasValue } from './app/shared/empty.util';
|
||||||
|
|
||||||
import { BrowserAppModule } from './modules/app/browser-app.module';
|
import { BrowserAppModule } from './modules/app/browser-app.module';
|
||||||
|
|
||||||
import { environment } from './environments/environment';
|
import { environment } from './environments/environment';
|
||||||
|
|
||||||
|
// import { AppConfig, APP_CONFIG } from './config/app-config.interface';
|
||||||
|
// import { extendEnvironmentWithAppConfig } from './config/config.util';
|
||||||
|
|
||||||
if (environment.production) {
|
if (environment.production) {
|
||||||
enableProdMode();
|
enableProdMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
export function main() {
|
const main = () => {
|
||||||
// Load fonts async
|
// Load fonts async
|
||||||
// https://github.com/typekit/webfontloader#configuration
|
// https://github.com/typekit/webfontloader#configuration
|
||||||
loadWebFont({
|
loadWebFont({
|
||||||
@@ -25,13 +28,23 @@ export function main() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return platformBrowserDynamic().bootstrapModule(BrowserAppModule, {preserveWhitespaces:true});
|
return platformBrowserDynamic()
|
||||||
}
|
.bootstrapModule(BrowserAppModule, {
|
||||||
|
preserveWhitespaces: true
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// support async tag or hmr
|
// support async tag or hmr
|
||||||
if (hasValue(environment.universal) && environment.universal.preboot === false) {
|
if (hasValue(environment.universal) && environment.universal.preboot === false) {
|
||||||
bootloader(main);
|
main();
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('DOMContentLoaded', () => bootloader(main));
|
document.addEventListener('DOMContentLoaded', main);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// fetch('assets/appConfig.json')
|
||||||
|
// .then((response) => response.json())
|
||||||
|
// .then((appConfig: AppConfig) => {
|
||||||
|
// // extend environment with app config for client side use
|
||||||
|
// extendEnvironmentWithAppConfig(environment, appConfig);
|
||||||
|
// });
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import { buildAppConfig } from '../src/config/config';
|
// import { join } from 'path';
|
||||||
|
|
||||||
|
// import { buildAppConfig } from '../src/config/config.server';
|
||||||
import { commonExports } from './webpack.common';
|
import { commonExports } from './webpack.common';
|
||||||
import { join } from 'path';
|
|
||||||
|
|
||||||
module.exports = Object.assign({}, commonExports, {
|
module.exports = Object.assign({}, commonExports, {
|
||||||
target: 'web',
|
target: 'web',
|
||||||
@@ -9,7 +10,7 @@ module.exports = Object.assign({}, commonExports, {
|
|||||||
},
|
},
|
||||||
devServer: {
|
devServer: {
|
||||||
before(app, server) {
|
before(app, server) {
|
||||||
buildAppConfig(join(process.cwd(), 'src/assets/appConfig.json'));
|
// buildAppConfig(join(process.cwd(), 'src/assets/appConfig.json'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
536
yarn.lock
536
yarn.lock
@@ -427,11 +427,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.0.0"
|
tslib "^2.0.0"
|
||||||
|
|
||||||
"@angularclass/bootloader@1.0.1":
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@angularclass/bootloader/-/bootloader-1.0.1.tgz#75de7cf3901b445900a419c2aeca44181d465060"
|
|
||||||
integrity sha1-dd5885AbRFkApBnCrspEGB1GUGA=
|
|
||||||
|
|
||||||
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.8.3":
|
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.8.3":
|
||||||
version "7.16.0"
|
version "7.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
|
||||||
@@ -1941,18 +1936,6 @@
|
|||||||
semver "7.3.4"
|
semver "7.3.4"
|
||||||
semver-intersect "1.4.0"
|
semver-intersect "1.4.0"
|
||||||
|
|
||||||
"@sindresorhus/is@^0.14.0":
|
|
||||||
version "0.14.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
|
|
||||||
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
|
|
||||||
|
|
||||||
"@szmarczak/http-timer@^1.1.2":
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
|
|
||||||
integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
|
|
||||||
dependencies:
|
|
||||||
defer-to-connect "^1.0.1"
|
|
||||||
|
|
||||||
"@tootallnate/once@1":
|
"@tootallnate/once@1":
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
|
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
|
||||||
@@ -2630,13 +2613,6 @@ angulartics2@^10.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.0.0"
|
tslib "^2.0.0"
|
||||||
|
|
||||||
ansi-align@^3.0.0:
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
|
|
||||||
integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
|
|
||||||
dependencies:
|
|
||||||
string-width "^4.1.0"
|
|
||||||
|
|
||||||
ansi-colors@4.1.1, ansi-colors@^4.1.1:
|
ansi-colors@4.1.1, ansi-colors@^4.1.1:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
|
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
|
||||||
@@ -3201,20 +3177,6 @@ bootstrap@4.3.1:
|
|||||||
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz#280ca8f610504d99d7b6b4bfc4b68cec601704ac"
|
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz#280ca8f610504d99d7b6b4bfc4b68cec601704ac"
|
||||||
integrity sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==
|
integrity sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==
|
||||||
|
|
||||||
boxen@^5.0.0:
|
|
||||||
version "5.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
|
|
||||||
integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
|
|
||||||
dependencies:
|
|
||||||
ansi-align "^3.0.0"
|
|
||||||
camelcase "^6.2.0"
|
|
||||||
chalk "^4.1.0"
|
|
||||||
cli-boxes "^2.2.1"
|
|
||||||
string-width "^4.2.2"
|
|
||||||
type-fest "^0.20.2"
|
|
||||||
widest-line "^3.1.0"
|
|
||||||
wrap-ansi "^7.0.0"
|
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||||
@@ -3582,19 +3544,6 @@ cache-base@^1.0.1:
|
|||||||
union-value "^1.0.0"
|
union-value "^1.0.0"
|
||||||
unset-value "^1.0.0"
|
unset-value "^1.0.0"
|
||||||
|
|
||||||
cacheable-request@^6.0.0:
|
|
||||||
version "6.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
|
|
||||||
integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
|
|
||||||
dependencies:
|
|
||||||
clone-response "^1.0.2"
|
|
||||||
get-stream "^5.1.0"
|
|
||||||
http-cache-semantics "^4.0.0"
|
|
||||||
keyv "^3.0.0"
|
|
||||||
lowercase-keys "^2.0.0"
|
|
||||||
normalize-url "^4.1.0"
|
|
||||||
responselike "^1.0.2"
|
|
||||||
|
|
||||||
cachedir@^2.3.0:
|
cachedir@^2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
|
resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
|
||||||
@@ -3774,11 +3723,6 @@ chrome-trace-event@^1.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
|
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
|
||||||
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
|
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
|
||||||
|
|
||||||
ci-info@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
|
|
||||||
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
|
|
||||||
|
|
||||||
ci-info@^3.2.0:
|
ci-info@^3.2.0:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
|
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
|
||||||
@@ -3834,11 +3778,6 @@ clean-stack@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
||||||
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
||||||
|
|
||||||
cli-boxes@^2.2.1:
|
|
||||||
version "2.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
|
|
||||||
integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
|
|
||||||
|
|
||||||
cli-cursor@^3.1.0:
|
cli-cursor@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
||||||
@@ -3918,13 +3857,6 @@ clone-deep@^4.0.1:
|
|||||||
kind-of "^6.0.2"
|
kind-of "^6.0.2"
|
||||||
shallow-clone "^3.0.0"
|
shallow-clone "^3.0.0"
|
||||||
|
|
||||||
clone-response@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
|
|
||||||
integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
|
|
||||||
dependencies:
|
|
||||||
mimic-response "^1.0.0"
|
|
||||||
|
|
||||||
clone@^1.0.2:
|
clone@^1.0.2:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||||
@@ -4153,18 +4085,6 @@ concat-stream@^1.5.0:
|
|||||||
readable-stream "^2.2.2"
|
readable-stream "^2.2.2"
|
||||||
typedarray "^0.0.6"
|
typedarray "^0.0.6"
|
||||||
|
|
||||||
configstore@^5.0.1:
|
|
||||||
version "5.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
|
|
||||||
integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
|
|
||||||
dependencies:
|
|
||||||
dot-prop "^5.2.0"
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
make-dir "^3.0.0"
|
|
||||||
unique-string "^2.0.0"
|
|
||||||
write-file-atomic "^3.0.0"
|
|
||||||
xdg-basedir "^4.0.0"
|
|
||||||
|
|
||||||
connect-history-api-fallback@^1, connect-history-api-fallback@^1.6.0:
|
connect-history-api-fallback@^1, connect-history-api-fallback@^1.6.0:
|
||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
|
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
|
||||||
@@ -4470,7 +4390,7 @@ critters@0.0.7:
|
|||||||
parse5-htmlparser2-tree-adapter "^6.0.1"
|
parse5-htmlparser2-tree-adapter "^6.0.1"
|
||||||
pretty-bytes "^5.3.0"
|
pretty-bytes "^5.3.0"
|
||||||
|
|
||||||
cross-spawn@^6.0.0, cross-spawn@^6.0.5:
|
cross-spawn@^6.0.0:
|
||||||
version "6.0.5"
|
version "6.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
|
||||||
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
|
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
|
||||||
@@ -4512,11 +4432,6 @@ crypto-browserify@^3.11.0:
|
|||||||
randombytes "^2.0.0"
|
randombytes "^2.0.0"
|
||||||
randomfill "^1.0.3"
|
randomfill "^1.0.3"
|
||||||
|
|
||||||
crypto-random-string@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
|
||||||
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
|
||||||
|
|
||||||
css-blank-pseudo@^0.1.4:
|
css-blank-pseudo@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5"
|
resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5"
|
||||||
@@ -5032,7 +4947,7 @@ debug@4.3.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "2.1.2"
|
ms "2.1.2"
|
||||||
|
|
||||||
debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6, debug@^3.2.7:
|
debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
|
||||||
version "3.2.7"
|
version "3.2.7"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
|
||||||
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
|
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
|
||||||
@@ -5068,13 +4983,6 @@ decode-uri-component@^0.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||||
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
|
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
|
||||||
|
|
||||||
decompress-response@^3.3.0:
|
|
||||||
version "3.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
|
|
||||||
integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
|
|
||||||
dependencies:
|
|
||||||
mimic-response "^1.0.0"
|
|
||||||
|
|
||||||
deep-equal@^1.0.1:
|
deep-equal@^1.0.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
|
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
|
||||||
@@ -5087,11 +4995,6 @@ deep-equal@^1.0.1:
|
|||||||
object-keys "^1.1.1"
|
object-keys "^1.1.1"
|
||||||
regexp.prototype.flags "^1.2.0"
|
regexp.prototype.flags "^1.2.0"
|
||||||
|
|
||||||
deep-extend@^0.6.0:
|
|
||||||
version "0.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
|
||||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
|
||||||
|
|
||||||
deep-freeze@0.0.1:
|
deep-freeze@0.0.1:
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84"
|
resolved "https://registry.yarnpkg.com/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84"
|
||||||
@@ -5129,11 +5032,6 @@ defaults@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
clone "^1.0.2"
|
clone "^1.0.2"
|
||||||
|
|
||||||
defer-to-connect@^1.0.1:
|
|
||||||
version "1.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
|
|
||||||
integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
|
|
||||||
|
|
||||||
define-lazy-prop@^2.0.0:
|
define-lazy-prop@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
|
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
|
||||||
@@ -5451,11 +5349,6 @@ dotenv@^8.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
|
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
|
||||||
integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
|
integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
|
||||||
|
|
||||||
duplexer3@^0.1.4:
|
|
||||||
version "0.1.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
|
||||||
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
|
|
||||||
|
|
||||||
duplexer@^0.1.2:
|
duplexer@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
||||||
@@ -5769,11 +5662,6 @@ escalade@^3.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
||||||
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
|
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
|
||||||
|
|
||||||
escape-goat@^2.0.0:
|
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
|
|
||||||
integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
|
|
||||||
|
|
||||||
escape-html@~1.0.3:
|
escape-html@~1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
|
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
|
||||||
@@ -6492,7 +6380,7 @@ get-stdin@^8.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
|
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
|
||||||
integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
|
integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
|
||||||
|
|
||||||
get-stream@^4.0.0, get-stream@^4.1.0:
|
get-stream@^4.0.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
|
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
|
||||||
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
|
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
|
||||||
@@ -6636,23 +6524,6 @@ globby@^6.1.0:
|
|||||||
pify "^2.0.0"
|
pify "^2.0.0"
|
||||||
pinkie-promise "^2.0.0"
|
pinkie-promise "^2.0.0"
|
||||||
|
|
||||||
got@^9.6.0:
|
|
||||||
version "9.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
|
|
||||||
integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
|
|
||||||
dependencies:
|
|
||||||
"@sindresorhus/is" "^0.14.0"
|
|
||||||
"@szmarczak/http-timer" "^1.1.2"
|
|
||||||
cacheable-request "^6.0.0"
|
|
||||||
decompress-response "^3.3.0"
|
|
||||||
duplexer3 "^0.1.4"
|
|
||||||
get-stream "^4.1.0"
|
|
||||||
lowercase-keys "^1.0.1"
|
|
||||||
mimic-response "^1.0.1"
|
|
||||||
p-cancelable "^1.0.0"
|
|
||||||
to-readable-stream "^1.0.0"
|
|
||||||
url-parse-lax "^3.0.0"
|
|
||||||
|
|
||||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
|
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
|
||||||
version "4.2.8"
|
version "4.2.8"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
|
||||||
@@ -6772,11 +6643,6 @@ has-values@^1.0.0:
|
|||||||
is-number "^3.0.0"
|
is-number "^3.0.0"
|
||||||
kind-of "^4.0.0"
|
kind-of "^4.0.0"
|
||||||
|
|
||||||
has-yarn@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
|
|
||||||
integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
|
|
||||||
|
|
||||||
has@^1.0.0, has@^1.0.3:
|
has@^1.0.0, has@^1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
|
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
|
||||||
@@ -6827,11 +6693,6 @@ hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
react-is "^16.7.0"
|
react-is "^16.7.0"
|
||||||
|
|
||||||
hosted-git-info@^2.1.4:
|
|
||||||
version "2.8.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
|
|
||||||
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
|
|
||||||
|
|
||||||
hosted-git-info@^3.0.6:
|
hosted-git-info@^3.0.6:
|
||||||
version "3.0.8"
|
version "3.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
|
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
|
||||||
@@ -6953,7 +6814,7 @@ htmlparser2@^6.1.0:
|
|||||||
domutils "^2.5.2"
|
domutils "^2.5.2"
|
||||||
entities "^2.0.0"
|
entities "^2.0.0"
|
||||||
|
|
||||||
http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0:
|
http-cache-semantics@^4.1.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
||||||
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
||||||
@@ -7168,11 +7029,6 @@ iferr@^0.1.5:
|
|||||||
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
|
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
|
||||||
integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
|
integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
|
||||||
|
|
||||||
ignore-by-default@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
|
|
||||||
integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
|
|
||||||
|
|
||||||
ignore-walk@^3.0.3:
|
ignore-walk@^3.0.3:
|
||||||
version "3.0.4"
|
version "3.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
|
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
|
||||||
@@ -7249,11 +7105,6 @@ import-from@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
resolve-from "^5.0.0"
|
resolve-from "^5.0.0"
|
||||||
|
|
||||||
import-lazy@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
|
|
||||||
integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
|
|
||||||
|
|
||||||
import-local@^2.0.0:
|
import-local@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
|
resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
|
||||||
@@ -7323,7 +7174,7 @@ ini@2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
|
resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
|
||||||
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
|
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
|
||||||
|
|
||||||
ini@^1.3.4, ini@~1.3.0:
|
ini@^1.3.4:
|
||||||
version "1.3.8"
|
version "1.3.8"
|
||||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
|
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
|
||||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||||
@@ -7497,13 +7348,6 @@ is-callable@^1.1.4, is-callable@^1.2.4:
|
|||||||
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
|
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
|
||||||
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
|
integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
|
||||||
|
|
||||||
is-ci@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
|
|
||||||
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
|
|
||||||
dependencies:
|
|
||||||
ci-info "^2.0.0"
|
|
||||||
|
|
||||||
is-ci@^3.0.0:
|
is-ci@^3.0.0:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
|
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
|
||||||
@@ -7632,7 +7476,7 @@ is-in-browser@^1.0.2, is-in-browser@^1.1.3:
|
|||||||
resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
|
resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
|
||||||
integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
|
integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
|
||||||
|
|
||||||
is-installed-globally@^0.4.0, is-installed-globally@~0.4.0:
|
is-installed-globally@~0.4.0:
|
||||||
version "0.4.0"
|
version "0.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
|
resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
|
||||||
integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
|
integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
|
||||||
@@ -7662,11 +7506,6 @@ is-negative-zero@^2.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
|
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
|
||||||
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
|
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
|
||||||
|
|
||||||
is-npm@^5.0.0:
|
|
||||||
version "5.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
|
|
||||||
integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==
|
|
||||||
|
|
||||||
is-number-like@^1.0.3:
|
is-number-like@^1.0.3:
|
||||||
version "1.0.8"
|
version "1.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3"
|
resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3"
|
||||||
@@ -7805,7 +7644,7 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has-symbols "^1.0.2"
|
has-symbols "^1.0.2"
|
||||||
|
|
||||||
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
|
is-typedarray@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
||||||
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
|
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
|
||||||
@@ -7844,11 +7683,6 @@ is-wsl@^2.1.1, is-wsl@^2.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-docker "^2.0.0"
|
is-docker "^2.0.0"
|
||||||
|
|
||||||
is-yarn-global@^0.3.0:
|
|
||||||
version "0.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
|
|
||||||
integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
|
|
||||||
|
|
||||||
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
|
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||||
@@ -8077,11 +7911,6 @@ jsesc@~0.5.0:
|
|||||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
||||||
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
|
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
|
||||||
|
|
||||||
json-buffer@3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
|
|
||||||
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
|
|
||||||
|
|
||||||
json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
|
json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
||||||
@@ -8358,13 +8187,6 @@ karma@^5.2.3:
|
|||||||
ua-parser-js "0.7.22"
|
ua-parser-js "0.7.22"
|
||||||
yargs "^15.3.1"
|
yargs "^15.3.1"
|
||||||
|
|
||||||
keyv@^3.0.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
|
|
||||||
integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
|
|
||||||
dependencies:
|
|
||||||
json-buffer "3.0.0"
|
|
||||||
|
|
||||||
killable@^1.0.1:
|
killable@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
|
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
|
||||||
@@ -8417,13 +8239,6 @@ last-call-webpack-plugin@^3.0.0:
|
|||||||
lodash "^4.17.5"
|
lodash "^4.17.5"
|
||||||
webpack-sources "^1.1.0"
|
webpack-sources "^1.1.0"
|
||||||
|
|
||||||
latest-version@^5.1.0:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
|
|
||||||
integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
|
|
||||||
dependencies:
|
|
||||||
package-json "^6.3.0"
|
|
||||||
|
|
||||||
lazy-ass@^1.6.0:
|
lazy-ass@^1.6.0:
|
||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
|
resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
|
||||||
@@ -8553,16 +8368,6 @@ listr2@^3.8.3:
|
|||||||
through "^2.3.8"
|
through "^2.3.8"
|
||||||
wrap-ansi "^7.0.0"
|
wrap-ansi "^7.0.0"
|
||||||
|
|
||||||
load-json-file@^4.0.0:
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
|
|
||||||
integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
|
|
||||||
dependencies:
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
parse-json "^4.0.0"
|
|
||||||
pify "^3.0.0"
|
|
||||||
strip-bom "^3.0.0"
|
|
||||||
|
|
||||||
loader-runner@^2.4.0:
|
loader-runner@^2.4.0:
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
|
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
|
||||||
@@ -8749,16 +8554,6 @@ lower-case@^2.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.0.3"
|
tslib "^2.0.3"
|
||||||
|
|
||||||
lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
|
|
||||||
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
|
|
||||||
|
|
||||||
lowercase-keys@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
|
||||||
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
|
|
||||||
|
|
||||||
lru-cache@^5.1.1:
|
lru-cache@^5.1.1:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
|
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
|
||||||
@@ -8904,11 +8699,6 @@ memory-fs@^0.5.0:
|
|||||||
errno "^0.1.3"
|
errno "^0.1.3"
|
||||||
readable-stream "^2.0.1"
|
readable-stream "^2.0.1"
|
||||||
|
|
||||||
memorystream@^0.3.1:
|
|
||||||
version "0.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
|
|
||||||
integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=
|
|
||||||
|
|
||||||
merge-descriptors@1.0.1:
|
merge-descriptors@1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
|
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
|
||||||
@@ -9008,11 +8798,6 @@ mimic-fn@^2.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||||
|
|
||||||
mimic-response@^1.0.0, mimic-response@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
|
||||||
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
|
|
||||||
|
|
||||||
mini-css-extract-plugin@0.10.0:
|
mini-css-extract-plugin@0.10.0:
|
||||||
version "0.10.0"
|
version "0.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz#a0e6bfcad22a9c73f6c882a3c7557a98e2d3d27d"
|
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz#a0e6bfcad22a9c73f6c882a3c7557a98e2d3d27d"
|
||||||
@@ -9457,22 +9242,6 @@ node-releases@^2.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
|
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
|
||||||
integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
|
integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
|
||||||
|
|
||||||
nodemon@^2.0.2:
|
|
||||||
version "2.0.15"
|
|
||||||
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.15.tgz#504516ce3b43d9dc9a955ccd9ec57550a31a8d4e"
|
|
||||||
integrity sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==
|
|
||||||
dependencies:
|
|
||||||
chokidar "^3.5.2"
|
|
||||||
debug "^3.2.7"
|
|
||||||
ignore-by-default "^1.0.1"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
pstree.remy "^1.1.8"
|
|
||||||
semver "^5.7.1"
|
|
||||||
supports-color "^5.5.0"
|
|
||||||
touch "^3.1.0"
|
|
||||||
undefsafe "^2.0.5"
|
|
||||||
update-notifier "^5.1.0"
|
|
||||||
|
|
||||||
nopt@^5.0.0:
|
nopt@^5.0.0:
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
|
resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
|
||||||
@@ -9480,23 +9249,6 @@ nopt@^5.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
abbrev "1"
|
abbrev "1"
|
||||||
|
|
||||||
nopt@~1.0.10:
|
|
||||||
version "1.0.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
|
|
||||||
integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
|
|
||||||
dependencies:
|
|
||||||
abbrev "1"
|
|
||||||
|
|
||||||
normalize-package-data@^2.3.2:
|
|
||||||
version "2.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
|
|
||||||
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
|
|
||||||
dependencies:
|
|
||||||
hosted-git-info "^2.1.4"
|
|
||||||
resolve "^1.10.0"
|
|
||||||
semver "2 || 3 || 4 || 5"
|
|
||||||
validate-npm-package-license "^3.0.1"
|
|
||||||
|
|
||||||
normalize-path@^2.1.1:
|
normalize-path@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
|
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
|
||||||
@@ -9529,7 +9281,7 @@ normalize-url@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
|
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
|
||||||
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
|
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
|
||||||
|
|
||||||
normalize-url@^4.1.0, normalize-url@^4.5.0:
|
normalize-url@^4.5.0:
|
||||||
version "4.5.1"
|
version "4.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
|
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
|
||||||
integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
|
integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
|
||||||
@@ -9624,21 +9376,6 @@ npm-registry-fetch@^9.0.0:
|
|||||||
minizlib "^2.0.0"
|
minizlib "^2.0.0"
|
||||||
npm-package-arg "^8.0.0"
|
npm-package-arg "^8.0.0"
|
||||||
|
|
||||||
npm-run-all@^4.1.5:
|
|
||||||
version "4.1.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
|
|
||||||
integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==
|
|
||||||
dependencies:
|
|
||||||
ansi-styles "^3.2.1"
|
|
||||||
chalk "^2.4.1"
|
|
||||||
cross-spawn "^6.0.5"
|
|
||||||
memorystream "^0.3.1"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
pidtree "^0.3.0"
|
|
||||||
read-pkg "^3.0.0"
|
|
||||||
shell-quote "^1.6.1"
|
|
||||||
string.prototype.padend "^3.0.0"
|
|
||||||
|
|
||||||
npm-run-path@^2.0.0:
|
npm-run-path@^2.0.0:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||||
@@ -9937,11 +9674,6 @@ ospath@^1.2.2:
|
|||||||
resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b"
|
resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b"
|
||||||
integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=
|
integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=
|
||||||
|
|
||||||
p-cancelable@^1.0.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
|
|
||||||
integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
|
|
||||||
|
|
||||||
p-event@^4.2.0:
|
p-event@^4.2.0:
|
||||||
version "4.2.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5"
|
resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5"
|
||||||
@@ -10028,16 +9760,6 @@ p-try@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||||
|
|
||||||
package-json@^6.3.0:
|
|
||||||
version "6.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
|
|
||||||
integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
|
|
||||||
dependencies:
|
|
||||||
got "^9.6.0"
|
|
||||||
registry-auth-token "^4.0.0"
|
|
||||||
registry-url "^5.0.0"
|
|
||||||
semver "^6.2.0"
|
|
||||||
|
|
||||||
pacote@11.2.4:
|
pacote@11.2.4:
|
||||||
version "11.2.4"
|
version "11.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.2.4.tgz#dc7ca740a573ed86a3bf863511d22c1d413ec82f"
|
resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.2.4.tgz#dc7ca740a573ed86a3bf863511d22c1d413ec82f"
|
||||||
@@ -10236,13 +9958,6 @@ path-to-regexp@0.1.7:
|
|||||||
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
||||||
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
|
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
|
||||||
|
|
||||||
path-type@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
|
|
||||||
integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
|
|
||||||
dependencies:
|
|
||||||
pify "^3.0.0"
|
|
||||||
|
|
||||||
path-type@^4.0.0:
|
path-type@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
|
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
|
||||||
@@ -10294,21 +10009,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
|
|||||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
|
||||||
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
|
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
|
||||||
|
|
||||||
pidtree@^0.3.0:
|
|
||||||
version "0.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
|
|
||||||
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
|
|
||||||
|
|
||||||
pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
|
pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||||
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
|
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
|
||||||
|
|
||||||
pify@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
|
||||||
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
|
|
||||||
|
|
||||||
pify@^4.0.1:
|
pify@^4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
|
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
|
||||||
@@ -11362,11 +11067,6 @@ prepend-http@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
|
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
|
||||||
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
|
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
|
||||||
|
|
||||||
prepend-http@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
|
||||||
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
|
||||||
|
|
||||||
pretty-bytes@^5.3.0, pretty-bytes@^5.6.0:
|
pretty-bytes@^5.3.0, pretty-bytes@^5.6.0:
|
||||||
version "5.6.0"
|
version "5.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
|
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
|
||||||
@@ -11487,11 +11187,6 @@ psl@^1.1.28, psl@^1.1.33:
|
|||||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
||||||
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
|
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
|
||||||
|
|
||||||
pstree.remy@^1.1.8:
|
|
||||||
version "1.1.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
|
|
||||||
integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
|
|
||||||
|
|
||||||
public-encrypt@^4.0.0:
|
public-encrypt@^4.0.0:
|
||||||
version "4.0.3"
|
version "4.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
|
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
|
||||||
@@ -11544,13 +11239,6 @@ punycode@^2.1.0, punycode@^2.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
|
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
|
||||||
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
|
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
|
||||||
|
|
||||||
pupa@^2.1.1:
|
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
|
|
||||||
integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
|
|
||||||
dependencies:
|
|
||||||
escape-goat "^2.0.0"
|
|
||||||
|
|
||||||
q@1.4.1:
|
q@1.4.1:
|
||||||
version "1.4.1"
|
version "1.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
|
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
|
||||||
@@ -11680,16 +11368,6 @@ raw-loader@4.0.2:
|
|||||||
loader-utils "^2.0.0"
|
loader-utils "^2.0.0"
|
||||||
schema-utils "^3.0.0"
|
schema-utils "^3.0.0"
|
||||||
|
|
||||||
rc@^1.2.8:
|
|
||||||
version "1.2.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
|
||||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
|
||||||
dependencies:
|
|
||||||
deep-extend "^0.6.0"
|
|
||||||
ini "~1.3.0"
|
|
||||||
minimist "^1.2.0"
|
|
||||||
strip-json-comments "~2.0.1"
|
|
||||||
|
|
||||||
re-reselect@^4.0.0:
|
re-reselect@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/re-reselect/-/re-reselect-4.0.0.tgz#9ddec4c72c4d952f68caa5aa4b76a9ed38b75cac"
|
resolved "https://registry.yarnpkg.com/re-reselect/-/re-reselect-4.0.0.tgz#9ddec4c72c4d952f68caa5aa4b76a9ed38b75cac"
|
||||||
@@ -11926,15 +11604,6 @@ read-package-json-fast@^2.0.1:
|
|||||||
json-parse-even-better-errors "^2.3.0"
|
json-parse-even-better-errors "^2.3.0"
|
||||||
npm-normalize-package-bin "^1.0.1"
|
npm-normalize-package-bin "^1.0.1"
|
||||||
|
|
||||||
read-pkg@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
|
|
||||||
integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
|
|
||||||
dependencies:
|
|
||||||
load-json-file "^4.0.0"
|
|
||||||
normalize-package-data "^2.3.2"
|
|
||||||
path-type "^3.0.0"
|
|
||||||
|
|
||||||
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
|
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
|
||||||
version "2.3.7"
|
version "2.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||||
@@ -12076,20 +11745,6 @@ regexpu-core@^4.7.1:
|
|||||||
unicode-match-property-ecmascript "^2.0.0"
|
unicode-match-property-ecmascript "^2.0.0"
|
||||||
unicode-match-property-value-ecmascript "^2.0.0"
|
unicode-match-property-value-ecmascript "^2.0.0"
|
||||||
|
|
||||||
registry-auth-token@^4.0.0:
|
|
||||||
version "4.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
|
|
||||||
integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
|
|
||||||
dependencies:
|
|
||||||
rc "^1.2.8"
|
|
||||||
|
|
||||||
registry-url@^5.0.0:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
|
|
||||||
integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
|
|
||||||
dependencies:
|
|
||||||
rc "^1.2.8"
|
|
||||||
|
|
||||||
regjsgen@^0.5.2:
|
regjsgen@^0.5.2:
|
||||||
version "0.5.2"
|
version "0.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
|
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
|
||||||
@@ -12260,7 +11915,7 @@ resolve@1.19.0:
|
|||||||
is-core-module "^2.1.0"
|
is-core-module "^2.1.0"
|
||||||
path-parse "^1.0.6"
|
path-parse "^1.0.6"
|
||||||
|
|
||||||
resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0:
|
resolve@^1.1.7, resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0:
|
||||||
version "1.20.0"
|
version "1.20.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
|
||||||
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
|
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
|
||||||
@@ -12276,13 +11931,6 @@ resp-modifier@6.0.2:
|
|||||||
debug "^2.2.0"
|
debug "^2.2.0"
|
||||||
minimatch "^3.0.2"
|
minimatch "^3.0.2"
|
||||||
|
|
||||||
responselike@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
|
|
||||||
integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
|
|
||||||
dependencies:
|
|
||||||
lowercase-keys "^1.0.0"
|
|
||||||
|
|
||||||
restore-cursor@^3.1.0:
|
restore-cursor@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
|
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
|
||||||
@@ -12641,13 +12289,6 @@ selfsigned@^1.10.11, selfsigned@^1.10.7, selfsigned@^1.10.8:
|
|||||||
dependencies:
|
dependencies:
|
||||||
node-forge "^0.10.0"
|
node-forge "^0.10.0"
|
||||||
|
|
||||||
semver-diff@^3.1.1:
|
|
||||||
version "3.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
|
|
||||||
integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
|
|
||||||
dependencies:
|
|
||||||
semver "^6.3.0"
|
|
||||||
|
|
||||||
semver-dsl@^1.0.1:
|
semver-dsl@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0"
|
resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0"
|
||||||
@@ -12662,11 +12303,6 @@ semver-intersect@1.4.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver "^5.0.0"
|
semver "^5.0.0"
|
||||||
|
|
||||||
"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
|
|
||||||
version "5.7.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
|
||||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
|
||||||
|
|
||||||
semver@7.0.0:
|
semver@7.0.0:
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
|
||||||
@@ -12684,7 +12320,12 @@ semver@7.3.4:
|
|||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
|
semver@^5.0.0, semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
|
||||||
|
version "5.7.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||||
|
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||||
|
|
||||||
|
semver@^6.0.0, semver@^6.3.0:
|
||||||
version "6.3.0"
|
version "6.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||||
@@ -12875,11 +12516,6 @@ shebang-regex@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
||||||
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
||||||
|
|
||||||
shell-quote@^1.6.1:
|
|
||||||
version "1.7.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
|
|
||||||
integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==
|
|
||||||
|
|
||||||
side-channel@^1.0.4:
|
side-channel@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
|
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
|
||||||
@@ -13221,32 +12857,6 @@ sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8:
|
|||||||
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
|
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
|
||||||
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
|
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
|
||||||
|
|
||||||
spdx-correct@^3.0.0:
|
|
||||||
version "3.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
|
|
||||||
integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
|
|
||||||
dependencies:
|
|
||||||
spdx-expression-parse "^3.0.0"
|
|
||||||
spdx-license-ids "^3.0.0"
|
|
||||||
|
|
||||||
spdx-exceptions@^2.1.0:
|
|
||||||
version "2.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
|
|
||||||
integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
|
|
||||||
|
|
||||||
spdx-expression-parse@^3.0.0:
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
|
|
||||||
integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
|
|
||||||
dependencies:
|
|
||||||
spdx-exceptions "^2.1.0"
|
|
||||||
spdx-license-ids "^3.0.0"
|
|
||||||
|
|
||||||
spdx-license-ids@^3.0.0:
|
|
||||||
version "3.0.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
|
|
||||||
integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
|
|
||||||
|
|
||||||
spdy-transport@^3.0.0:
|
spdy-transport@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
|
resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
|
||||||
@@ -13450,7 +13060,7 @@ string-width@^1.0.1:
|
|||||||
is-fullwidth-code-point "^1.0.0"
|
is-fullwidth-code-point "^1.0.0"
|
||||||
strip-ansi "^3.0.0"
|
strip-ansi "^3.0.0"
|
||||||
|
|
||||||
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2:
|
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0:
|
||||||
version "4.2.3"
|
version "4.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||||
@@ -13468,15 +13078,6 @@ string-width@^3.0.0, string-width@^3.1.0:
|
|||||||
is-fullwidth-code-point "^2.0.0"
|
is-fullwidth-code-point "^2.0.0"
|
||||||
strip-ansi "^5.1.0"
|
strip-ansi "^5.1.0"
|
||||||
|
|
||||||
string.prototype.padend@^3.0.0:
|
|
||||||
version "3.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1"
|
|
||||||
integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==
|
|
||||||
dependencies:
|
|
||||||
call-bind "^1.0.2"
|
|
||||||
define-properties "^1.1.3"
|
|
||||||
es-abstract "^1.19.1"
|
|
||||||
|
|
||||||
string.prototype.trimend@^1.0.4:
|
string.prototype.trimend@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
|
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
|
||||||
@@ -13542,11 +13143,6 @@ strip-ansi@^7.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex "^6.0.1"
|
ansi-regex "^6.0.1"
|
||||||
|
|
||||||
strip-bom@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
|
||||||
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
|
|
||||||
|
|
||||||
strip-eof@^1.0.0:
|
strip-eof@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||||
@@ -13557,11 +13153,6 @@ strip-final-newline@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
|
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
|
||||||
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
|
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
|
||||||
|
|
||||||
strip-json-comments@~2.0.1:
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
|
||||||
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
|
|
||||||
|
|
||||||
style-loader@1.2.1:
|
style-loader@1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
|
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
|
||||||
@@ -13634,7 +13225,7 @@ supports-color@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
||||||
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
|
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
|
||||||
|
|
||||||
supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
|
supports-color@^5.3.0, supports-color@^5.4.0:
|
||||||
version "5.5.0"
|
version "5.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||||
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
|
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
|
||||||
@@ -13938,11 +13529,6 @@ to-object-path@^0.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
kind-of "^3.0.2"
|
kind-of "^3.0.2"
|
||||||
|
|
||||||
to-readable-stream@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
|
|
||||||
integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
|
|
||||||
|
|
||||||
to-regex-range@^2.1.0:
|
to-regex-range@^2.1.0:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
|
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
|
||||||
@@ -13988,13 +13574,6 @@ totalist@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df"
|
resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df"
|
||||||
integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==
|
integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==
|
||||||
|
|
||||||
touch@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
|
|
||||||
integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
|
|
||||||
dependencies:
|
|
||||||
nopt "~1.0.10"
|
|
||||||
|
|
||||||
tough-cookie@^4.0.0:
|
tough-cookie@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
|
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
|
||||||
@@ -14143,11 +13722,6 @@ type-check@~0.3.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
prelude-ls "~1.1.2"
|
prelude-ls "~1.1.2"
|
||||||
|
|
||||||
type-fest@^0.20.2:
|
|
||||||
version "0.20.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
|
|
||||||
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
|
|
||||||
|
|
||||||
type-fest@^0.21.3:
|
type-fest@^0.21.3:
|
||||||
version "0.21.3"
|
version "0.21.3"
|
||||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
|
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
|
||||||
@@ -14171,13 +13745,6 @@ type@^2.5.0:
|
|||||||
resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d"
|
resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d"
|
||||||
integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==
|
integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==
|
||||||
|
|
||||||
typedarray-to-buffer@^3.1.5:
|
|
||||||
version "3.1.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
|
|
||||||
integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
|
|
||||||
dependencies:
|
|
||||||
is-typedarray "^1.0.0"
|
|
||||||
|
|
||||||
typedarray@^0.0.6:
|
typedarray@^0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||||
@@ -14242,11 +13809,6 @@ unbox-primitive@^1.0.1:
|
|||||||
has-symbols "^1.0.2"
|
has-symbols "^1.0.2"
|
||||||
which-boxed-primitive "^1.0.2"
|
which-boxed-primitive "^1.0.2"
|
||||||
|
|
||||||
undefsafe@^2.0.5:
|
|
||||||
version "2.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
|
|
||||||
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
|
|
||||||
|
|
||||||
unfetch@^4.2.0:
|
unfetch@^4.2.0:
|
||||||
version "4.2.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
|
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
|
||||||
@@ -14309,13 +13871,6 @@ unique-slug@^2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
imurmurhash "^0.1.4"
|
imurmurhash "^0.1.4"
|
||||||
|
|
||||||
unique-string@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
|
|
||||||
integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
|
|
||||||
dependencies:
|
|
||||||
crypto-random-string "^2.0.0"
|
|
||||||
|
|
||||||
universal-analytics@0.4.23:
|
universal-analytics@0.4.23:
|
||||||
version "0.4.23"
|
version "0.4.23"
|
||||||
resolved "https://registry.yarnpkg.com/universal-analytics/-/universal-analytics-0.4.23.tgz#d915e676850c25c4156762471bdd7cf2eaaca8ac"
|
resolved "https://registry.yarnpkg.com/universal-analytics/-/universal-analytics-0.4.23.tgz#d915e676850c25c4156762471bdd7cf2eaaca8ac"
|
||||||
@@ -14363,26 +13918,6 @@ upath@^1.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
|
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
|
||||||
integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
|
integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
|
||||||
|
|
||||||
update-notifier@^5.1.0:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9"
|
|
||||||
integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==
|
|
||||||
dependencies:
|
|
||||||
boxen "^5.0.0"
|
|
||||||
chalk "^4.1.0"
|
|
||||||
configstore "^5.0.1"
|
|
||||||
has-yarn "^2.1.0"
|
|
||||||
import-lazy "^2.1.0"
|
|
||||||
is-ci "^2.0.0"
|
|
||||||
is-installed-globally "^0.4.0"
|
|
||||||
is-npm "^5.0.0"
|
|
||||||
is-yarn-global "^0.3.0"
|
|
||||||
latest-version "^5.1.0"
|
|
||||||
pupa "^2.1.1"
|
|
||||||
semver "^7.3.4"
|
|
||||||
semver-diff "^3.1.1"
|
|
||||||
xdg-basedir "^4.0.0"
|
|
||||||
|
|
||||||
uri-js@^4.2.2:
|
uri-js@^4.2.2:
|
||||||
version "4.4.1"
|
version "4.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
|
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
|
||||||
@@ -14395,13 +13930,6 @@ urix@^0.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
|
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
|
||||||
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
|
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
|
||||||
|
|
||||||
url-parse-lax@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
|
|
||||||
integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
|
|
||||||
dependencies:
|
|
||||||
prepend-http "^2.0.0"
|
|
||||||
|
|
||||||
url-parse@^1.4.3, url-parse@^1.5.3:
|
url-parse@^1.4.3, url-parse@^1.5.3:
|
||||||
version "1.5.3"
|
version "1.5.3"
|
||||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
|
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
|
||||||
@@ -14490,14 +14018,6 @@ uuid@^3.0.0, uuid@^3.2.1, uuid@^3.3.2, uuid@^3.4.0:
|
|||||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
||||||
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
|
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
|
||||||
|
|
||||||
validate-npm-package-license@^3.0.1:
|
|
||||||
version "3.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
|
|
||||||
integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
|
|
||||||
dependencies:
|
|
||||||
spdx-correct "^3.0.0"
|
|
||||||
spdx-expression-parse "^3.0.0"
|
|
||||||
|
|
||||||
validate-npm-package-name@^3.0.0:
|
validate-npm-package-name@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
|
resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
|
||||||
@@ -15045,13 +14565,6 @@ wide-align@^1.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
string-width "^1.0.2 || 2 || 3 || 4"
|
string-width "^1.0.2 || 2 || 3 || 4"
|
||||||
|
|
||||||
widest-line@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
|
|
||||||
integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
|
|
||||||
dependencies:
|
|
||||||
string-width "^4.0.0"
|
|
||||||
|
|
||||||
wildcard@^2.0.0:
|
wildcard@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
|
resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
|
||||||
@@ -15108,16 +14621,6 @@ wrappy@1:
|
|||||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||||
|
|
||||||
write-file-atomic@^3.0.0:
|
|
||||||
version "3.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
|
|
||||||
integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
|
|
||||||
dependencies:
|
|
||||||
imurmurhash "^0.1.4"
|
|
||||||
is-typedarray "^1.0.0"
|
|
||||||
signal-exit "^3.0.2"
|
|
||||||
typedarray-to-buffer "^3.1.5"
|
|
||||||
|
|
||||||
ws@^6.2.1:
|
ws@^6.2.1:
|
||||||
version "6.2.2"
|
version "6.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
|
||||||
@@ -15140,11 +14643,6 @@ ws@~7.4.2:
|
|||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
|
||||||
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
|
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
|
||||||
|
|
||||||
xdg-basedir@^4.0.0:
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
|
|
||||||
integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
|
|
||||||
|
|
||||||
xhr2@^0.2.0:
|
xhr2@^0.2.0:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93"
|
resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93"
|
||||||
|
Reference in New Issue
Block a user