Split angular.json file and add merge-angular-json command

This commit is contained in:
Clemente Raposo 2024-10-16 17:28:21 +01:00 committed by Jack Anderson
parent 7c9c206682
commit 448ef660b0
8 changed files with 406 additions and 177 deletions

4
.gitignore vendored
View file

@ -1,6 +1,8 @@
/.angular/cache
## SuiteCRM 8 ##
/.angular/cache
/angular.json
###> symfony/framework-bundle ###
/.env.local
/.env.local.php

4
.yarnrc.yml Normal file
View file

@ -0,0 +1,4 @@
nodeLinker: node-modules
plugins:
- ./core/yarn/plugins/merge-angular-json.js

View file

@ -25,6 +25,7 @@ parameters:
- '.env.prod.local.php'
- '.env.dev.local'
- '.env.dev.local.php'
- 'angular.json'
- 'tmp'
toKeepIgnore:
- 'public/legacy/modules/Accounts'

View file

@ -45,7 +45,11 @@
],
"output": "/themes/"
},
{ "glob": "**/*", "input": "node_modules/tinymce", "output": "/tinymce/" }
{
"glob": "**/*",
"input": "node_modules/tinymce",
"output": "/tinymce/"
}
],
"allowedCommonJsDependencies": [
"graphql-tag",
@ -62,7 +66,6 @@
"maximumWarning": "6kb"
}
],
"deployUrl": "/",
"assets": [
{
"glob": "**/*",
@ -101,27 +104,6 @@
}
}
},
"serve": {
"builder": "ngx-build-plus:dev-server",
"options": {
"browserTarget": "shell:build:serve",
"proxyConfig": "./proxy.conf.local.json",
"extraWebpackConfig": "core/app/shell/webpack.config.js",
"port": 5000
},
"configurations": {
"production": {
"browserTarget": "shell:build:production",
"extraWebpackConfig": "core/app/shell/webpack.prod.config.js"
}
}
},
"extract-i18n": {
"builder": "ngx-build-plus:extract-i18n",
"options": {
"browserTarget": "shell:build"
}
},
"test": {
"builder": "ngx-build-plus:karma",
"options": {
@ -150,25 +132,6 @@
}
}
},
"SuiteCRM-e2e": {
"root": "core/app/shell/e2e",
"projectType": "application",
"prefix": "",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "core/app/shell/e2e/protractor.conf.js",
"devServerTarget": "SuiteCRM:serve"
},
"configurations": {
"production": {
"devServerTarget": "SuiteCRM:serve:production"
}
}
}
}
},
"core": {
"projectType": "library",
"root": "core/app/core",
@ -202,125 +165,6 @@
}
}
}
},
"defaultExt": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "extensions/defaultExt",
"sourceRoot": "extensions/defaultExt/app/src",
"prefix": "app",
"architect": {
"build": {
"builder": "ngx-build-plus:browser",
"options": {
"namedChunks": true,
"commonChunk": false,
"sourceMap": true,
"aot": true,
"outputPath": "extensions/defaultExt/public",
"index": "extensions/defaultExt/app/src/index.html",
"main": "extensions/defaultExt/app/src/main.ts",
"polyfills": "extensions/defaultExt/app/src/polyfills.ts",
"tsConfig": "extensions/defaultExt/app/tsconfig.app.json",
"assets": [
"extensions/defaultExt/app/src/favicon.ico",
"extensions/defaultExt/app/src/assets"
],
"styles": [
"extensions/defaultExt/app/src/styles.scss"
],
"scripts": [],
"extraWebpackConfig": "extensions/defaultExt/app/webpack.config.js"
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "extensions/defaultExt/app/src/environments/environment.ts",
"with": "extensions/defaultExt/app/src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
],
"extraWebpackConfig": "extensions/defaultExt/app/webpack.prod.config.js"
},
"dev": {
"outputPath": "public/extensions/defaultExt"
}
}
},
"serve": {
"builder": "ngx-build-plus:dev-server",
"options": {
"browserTarget": "services:build",
"extraWebpackConfig": "extensions/defaultExt/app/webpack.config.js",
"port": 3000
},
"configurations": {
"production": {
"browserTarget": "services:build:production",
"extraWebpackConfig": "extensions/defaultExt/app/webpack.prod.config.js"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "services:build"
}
},
"test": {
"builder": "ngx-build-plus:karma",
"options": {
"main": "extensions/defaultExt/app/src/test.ts",
"polyfills": "extensions/defaultExt/app/src/polyfills.ts",
"tsConfig": "extensions/defaultExt/app/tsconfig.spec.json",
"karmaConfig": "extensions/defaultExt/app/karma.conf.js",
"assets": [
"extensions/defaultExt/app/src/favicon.ico",
"extensions/defaultExt/app/src/assets"
],
"styles": [
"extensions/defaultExt/app/src/styles.scss"
],
"scripts": [],
"extraWebpackConfig": "extensions/defaultExt/app/webpack.config.js"
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "extensions/defaultExt/app/e2e/protractor.conf.js",
"devServerTarget": "services:serve"
},
"configurations": {
"production": {
"devServerTarget": "services:serve:production"
}
}
}
}
}
},
"schematics": {

View file

@ -0,0 +1,68 @@
/**
* SuiteCRM is a customer relationship management program developed by SalesAgility Ltd.
* Copyright (C) 2024 SalesAgility Ltd.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SALESAGILITY, SALESAGILITY DISCLAIMS THE
* WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* In accordance with Section 7(b) of the GNU Affero General Public License
* version 3, these Appropriate Legal Notices must retain the display of the
* "Supercharged by SuiteCRM" logo. If the display of the logos is not reasonably
* feasible for technical reasons, the Appropriate Legal Notices must display
* the words "Supercharged by SuiteCRM".
*/
module.exports = {
name: `merge-angular-json`,
factory: internalRequire => {
const {BaseCommand} = internalRequire(`@yarnpkg/cli`);
const {xfs} = internalRequire(`@yarnpkg/fslib`);
let Merger = null;
let glob = null;
try {
Merger = require("json-merger");
glob = require('glob');
glob = glob.glob;
} catch (e) {
}
class MergeAngularJson extends BaseCommand {
static paths = [[`merge-angular-json`]];
async execute() {
if (!Merger || !glob) {
this.context.stdout.write('merge-angular-json: dependencies are missing, please run \'yarn install\' \n');
return;
}
const extensionFiles = await glob('extensions/**/app/angular.json');
const angularJsonFiles = [
'core/angular/base-angular.json',
...extensionFiles
];
const merged = Merger.mergeFiles(angularJsonFiles);
await xfs.writeJsonPromise(`angular.json`, merged);
}
}
return {
commands: [
MergeAngularJson
],
};
}
};

View file

@ -0,0 +1,127 @@
{
"version": 1,
"projects": {
"defaultExt": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss",
"name": "",
"project": ""
}
},
"root": "extensions/defaultExt",
"sourceRoot": "extensions/defaultExt/app/src",
"prefix": "app",
"architect": {
"build": {
"builder": "ngx-build-plus:browser",
"options": {
"namedChunks": true,
"commonChunk": false,
"sourceMap": true,
"aot": true,
"outputPath": "extensions/defaultExt/public",
"index": "extensions/defaultExt/app/src/index.html",
"main": "extensions/defaultExt/app/src/main.ts",
"polyfills": "extensions/defaultExt/app/src/polyfills.ts",
"tsConfig": "extensions/defaultExt/app/tsconfig.app.json",
"assets": [
"extensions/defaultExt/app/src/favicon.ico",
"extensions/defaultExt/app/src/assets"
],
"styles": [
"extensions/defaultExt/app/src/styles.scss"
],
"scripts": [],
"extraWebpackConfig": "extensions/defaultExt/app/webpack.config.js"
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "extensions/defaultExt/app/src/environments/environment.ts",
"with": "extensions/defaultExt/app/src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
],
"extraWebpackConfig": "extensions/defaultExt/app/webpack.prod.config.js"
},
"dev": {
"outputPath": "public/extensions/defaultExt"
}
}
},
"serve": {
"builder": "ngx-build-plus:dev-server",
"options": {
"browserTarget": "services:build",
"extraWebpackConfig": "extensions/defaultExt/app/webpack.config.js",
"port": 3000
},
"configurations": {
"production": {
"browserTarget": "services:build:production",
"extraWebpackConfig": "extensions/defaultExt/app/webpack.prod.config.js"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "services:build"
}
},
"test": {
"builder": "ngx-build-plus:karma",
"options": {
"main": "extensions/defaultExt/app/src/test.ts",
"polyfills": "extensions/defaultExt/app/src/polyfills.ts",
"tsConfig": "extensions/defaultExt/app/tsconfig.spec.json",
"karmaConfig": "extensions/defaultExt/app/karma.conf.js",
"assets": [
"extensions/defaultExt/app/src/favicon.ico",
"extensions/defaultExt/app/src/assets"
],
"styles": [
"extensions/defaultExt/app/src/styles.scss"
],
"scripts": [],
"extraWebpackConfig": "extensions/defaultExt/app/webpack.config.js"
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "extensions/defaultExt/app/e2e/protractor.conf.js",
"devServerTarget": "services:serve"
},
"configurations": {
"production": {
"devServerTarget": "services:serve:production",
"protractorConfig": ""
}
}
}
}
}
}
}

View file

@ -3,21 +3,14 @@
"version": "8.7.1",
"scripts": {
"ng": "ng",
"start": "npm run start:shell",
"start:shell": "ng serve shell -o --port 5000",
"start:all": "concurrently \"npm run start:shell\"",
"serve:dist": "concurrently \"serve dist/shell -l 5000 -s\"",
"build-dev": "npm run build-dev:core && npm run build-dev:shell ",
"build-dev": "ng build core && ng build shell",
"build-dev:shell": "ng build shell",
"build-dev:core": "ng build core",
"build-dev:defaultExt": "ng build defaultExt --configuration dev",
"build": "npm run build:shell",
"build-dev:extension": "ng build \"$@\" --configuration dev",
"build": "ng build core --configuration production && ng build shell --configuration production ",
"build:shell": "ng build shell --configuration production",
"build:core": "ng build core --configuration production",
"build:defaultExt": "ng build defaultExt --configuration production",
"test": "npm run test:shell",
"test:core": "ng test core",
"gen-index": "barrelsby --delete -e '.*\\.spec.*' -q",
"build:extension": "ng build \"$@\" --configuration production",
"gen-index:core": "barrelsby --delete -e '.*\\.spec.*' -q -d core/app/core/src/lib/ -n core",
"lint": "ng lint",
"e2e": "ng e2e"
@ -94,8 +87,10 @@
"eslint-plugin-jasmine": "^4.1.2",
"eslint-plugin-jsdoc": "^21.0.0",
"eslint-plugin-prefer-arrow": "^1.2.3",
"glob": "^11.0.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"json-merger": "^1.1.10",
"karma": "~6.3.4",
"karma-chrome-launcher": "~3.1.0",
"karma-cli": "^2.0.0",

196
yarn.lock
View file

@ -4310,6 +4310,15 @@ __metadata:
languageName: node
linkType: hard
"acorn-walk@npm:^8.2.0":
version: 8.3.4
resolution: "acorn-walk@npm:8.3.4"
dependencies:
acorn: "npm:^8.11.0"
checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62
languageName: node
linkType: hard
"acorn@npm:^7.1.1":
version: 7.4.1
resolution: "acorn@npm:7.4.1"
@ -4319,6 +4328,15 @@ __metadata:
languageName: node
linkType: hard
"acorn@npm:^8.11.0, acorn@npm:^8.7.0":
version: 8.13.0
resolution: "acorn@npm:8.13.0"
bin:
acorn: bin/acorn
checksum: 10c0/f35dd53d68177c90699f4c37d0bb205b8abe036d955d0eb011ddb7f14a81e6fd0f18893731c457c1b5bd96754683f4c3d80d9a5585ddecaa53cdf84e0b3d68f7
languageName: node
linkType: hard
"acorn@npm:^8.7.1, acorn@npm:^8.8.2":
version: 8.11.3
resolution: "acorn@npm:8.11.3"
@ -5350,6 +5368,13 @@ __metadata:
languageName: node
linkType: hard
"commander@npm:^9.1.0":
version: 9.5.0
resolution: "commander@npm:9.5.0"
checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d
languageName: node
linkType: hard
"comment-parser@npm:^0.7.2":
version: 0.7.6
resolution: "comment-parser@npm:0.7.6"
@ -6748,6 +6773,25 @@ __metadata:
languageName: node
linkType: hard
"escodegen@npm:^1.8.1":
version: 1.14.3
resolution: "escodegen@npm:1.14.3"
dependencies:
esprima: "npm:^4.0.1"
estraverse: "npm:^4.2.0"
esutils: "npm:^2.0.2"
optionator: "npm:^0.8.1"
source-map: "npm:~0.6.1"
dependenciesMeta:
source-map:
optional: true
bin:
escodegen: bin/escodegen.js
esgenerate: bin/esgenerate.js
checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a
languageName: node
linkType: hard
"eslint-import-resolver-alias@npm:^1.1.2":
version: 1.1.2
resolution: "eslint-import-resolver-alias@npm:1.1.2"
@ -6967,7 +7011,17 @@ __metadata:
languageName: node
linkType: hard
"esprima@npm:^4.0.0":
"esprima@npm:1.2.2":
version: 1.2.2
resolution: "esprima@npm:1.2.2"
bin:
esparse: ./bin/esparse.js
esvalidate: ./bin/esvalidate.js
checksum: 10c0/a5a8fd359651dd8228736d7352eb7636c7765e1ec6ff8fff3f6641622039a9f51fa501969a1a4777ba4187cf9942a8d7e0367dccaff768b782bdb1a71d046abf
languageName: node
linkType: hard
"esprima@npm:^4.0.0, esprima@npm:^4.0.1":
version: 4.0.1
resolution: "esprima@npm:4.0.1"
bin:
@ -6995,7 +7049,7 @@ __metadata:
languageName: node
linkType: hard
"estraverse@npm:^4.1.1":
"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0":
version: 4.3.0
resolution: "estraverse@npm:4.3.0"
checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d
@ -7445,6 +7499,17 @@ __metadata:
languageName: node
linkType: hard
"fs-extra@npm:^10.0.1":
version: 10.1.0
resolution: "fs-extra@npm:10.1.0"
dependencies:
graceful-fs: "npm:^4.2.0"
jsonfile: "npm:^6.0.1"
universalify: "npm:^2.0.0"
checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e
languageName: node
linkType: hard
"fs-extra@npm:^11.1.0":
version: 11.2.0
resolution: "fs-extra@npm:11.2.0"
@ -7659,6 +7724,22 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:^11.0.0":
version: 11.0.0
resolution: "glob@npm:11.0.0"
dependencies:
foreground-child: "npm:^3.1.0"
jackspeak: "npm:^4.0.1"
minimatch: "npm:^10.0.0"
minipass: "npm:^7.1.2"
package-json-from-dist: "npm:^1.0.0"
path-scurry: "npm:^2.0.0"
bin:
glob: dist/esm/bin.mjs
checksum: 10c0/419866015d8795258a8ac51de5b9d1a99c72634fc3ead93338e4da388e89773ab21681e494eac0fbc4250b003451ca3110bb4f1c9393d15d14466270094fdb4e
languageName: node
linkType: hard
"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7, glob@npm:^7.2.0":
version: 7.2.3
resolution: "glob@npm:7.2.3"
@ -8713,6 +8794,15 @@ __metadata:
languageName: node
linkType: hard
"jackspeak@npm:^4.0.1":
version: 4.0.2
resolution: "jackspeak@npm:4.0.2"
dependencies:
"@isaacs/cliui": "npm:^8.0.2"
checksum: 10c0/b26039d11c0163a95b1e58851b9ac453cce64ad6d1eb98a00b303ad5eeb761b29d33c9419d1e16c016d3f7151c8edf7df223e6cf93a1907655fd95d6ce85c0de
languageName: node
linkType: hard
"jake@npm:^10.8.5":
version: 10.9.1
resolution: "jake@npm:10.9.1"
@ -8860,6 +8950,23 @@ __metadata:
languageName: node
linkType: hard
"json-merger@npm:^1.1.10":
version: 1.1.10
resolution: "json-merger@npm:1.1.10"
dependencies:
commander: "npm:^9.1.0"
fs-extra: "npm:^10.0.1"
js-yaml: "npm:^4.1.0"
json-ptr: "npm:^3.1.1"
jsonpath: "npm:^1.1.1"
lodash.range: "npm:^3.2.0"
vm2: "npm:^3.9.17"
bin:
json-merger: bin/json-merger.js
checksum: 10c0/9cb021506ac79beb7ea3a250fa3e92368d6b1005e8ca8d51b4f8db33dc603c081128baa4bb9e336fe448e92f39362861ea397de81cf8f59e2bd5b920f968a291
languageName: node
linkType: hard
"json-parse-better-errors@npm:^1.0.1":
version: 1.0.2
resolution: "json-parse-better-errors@npm:1.0.2"
@ -8881,6 +8988,13 @@ __metadata:
languageName: node
linkType: hard
"json-ptr@npm:^3.1.1":
version: 3.1.1
resolution: "json-ptr@npm:3.1.1"
checksum: 10c0/f5fd7eb60a8ad52e3531eea8285d22a67bf67a16249da032cd42fabcac386135adbe8c64a5588f5b755e77b9e646ca5cc97782fe09c5cef0b6d24ebdd1e1c277
languageName: node
linkType: hard
"json-schema-traverse@npm:^0.4.1":
version: 0.4.1
resolution: "json-schema-traverse@npm:0.4.1"
@ -8975,6 +9089,17 @@ __metadata:
languageName: node
linkType: hard
"jsonpath@npm:^1.1.1":
version: 1.1.1
resolution: "jsonpath@npm:1.1.1"
dependencies:
esprima: "npm:1.2.2"
static-eval: "npm:2.0.2"
underscore: "npm:1.12.1"
checksum: 10c0/4fea3f83bcb4df08c32090ba8a0d1a6d26244f6d19c4296f9b58caa01eeb7de0f8347eba40077ceee2f95acc69d032b0b48226d350339063ba580e87983f6dec
languageName: node
linkType: hard
"karma-chrome-launcher@npm:~3.1.0":
version: 3.1.1
resolution: "karma-chrome-launcher@npm:3.1.1"
@ -9339,6 +9464,13 @@ __metadata:
languageName: node
linkType: hard
"lodash.range@npm:^3.2.0":
version: 3.2.0
resolution: "lodash.range@npm:3.2.0"
checksum: 10c0/b1db80e6bcd92dd89e1ea42bf9f7ac4f1f04d53bc2e1da9589414f3ce50bb4a8558dbd2848ff800e6b455662ec707eab6aeba3cfebe3443e1712778d16829bae
languageName: node
linkType: hard
"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
@ -9400,6 +9532,13 @@ __metadata:
languageName: node
linkType: hard
"lru-cache@npm:^11.0.0":
version: 11.0.1
resolution: "lru-cache@npm:11.0.1"
checksum: 10c0/8bad6603dc67eb5b03520fba05bce5df6473dbba58ac4c6067ed088d29225a0a04416bb1462acd8c1f819d1fbf37920446a1c36bafd9c384bcc54cee0d3b697a
languageName: node
linkType: hard
"lru-cache@npm:^5.1.1":
version: 5.1.1
resolution: "lru-cache@npm:5.1.1"
@ -9634,6 +9773,15 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:^10.0.0":
version: 10.0.1
resolution: "minimatch@npm:10.0.1"
dependencies:
brace-expansion: "npm:^2.0.1"
checksum: 10c0/e6c29a81fe83e1877ad51348306be2e8aeca18c88fdee7a99df44322314279e15799e41d7cb274e4e8bb0b451a3bc622d6182e157dfa1717d6cda75e9cd8cd5d
languageName: node
linkType: hard
"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
@ -10564,7 +10712,7 @@ __metadata:
languageName: node
linkType: hard
"optionator@npm:^0.8.3":
"optionator@npm:^0.8.1, optionator@npm:^0.8.3":
version: 0.8.3
resolution: "optionator@npm:0.8.3"
dependencies:
@ -10919,6 +11067,16 @@ __metadata:
languageName: node
linkType: hard
"path-scurry@npm:^2.0.0":
version: 2.0.0
resolution: "path-scurry@npm:2.0.0"
dependencies:
lru-cache: "npm:^11.0.0"
minipass: "npm:^7.1.2"
checksum: 10c0/3da4adedaa8e7ef8d6dc4f35a0ff8f05a9b4d8365f2b28047752b62d4c1ad73eec21e37b1579ef2d075920157856a3b52ae8309c480a6f1a8bbe06ff8e52b33c
languageName: node
linkType: hard
"path-to-regexp@npm:0.1.7":
version: 0.1.7
resolution: "path-to-regexp@npm:0.1.7"
@ -12379,7 +12537,7 @@ __metadata:
languageName: node
linkType: hard
"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0":
"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1":
version: 0.6.1
resolution: "source-map@npm:0.6.1"
checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011
@ -12498,6 +12656,15 @@ __metadata:
languageName: node
linkType: hard
"static-eval@npm:2.0.2":
version: 2.0.2
resolution: "static-eval@npm:2.0.2"
dependencies:
escodegen: "npm:^1.8.1"
checksum: 10c0/9bc1114ea5ba2a6978664907c4dd3fde6f58767274f6cb4fbfb11ba3a73cb6e74dc11e89ec4a7bf1472a587c1f976fcd4ab8fe9aae1651f5e576f097745d48ff
languageName: node
linkType: hard
"statuses@npm:2.0.1":
version: 2.0.1
resolution: "statuses@npm:2.0.1"
@ -12737,9 +12904,11 @@ __metadata:
eslint-plugin-jasmine: "npm:^4.1.2"
eslint-plugin-jsdoc: "npm:^21.0.0"
eslint-plugin-prefer-arrow: "npm:^1.2.3"
glob: "npm:^11.0.0"
graphql: "npm:^16.9.0"
jasmine-core: "npm:~3.6.0"
jasmine-spec-reporter: "npm:~5.0.0"
json-merger: "npm:^1.1.10"
karma: "npm:~6.3.4"
karma-chrome-launcher: "npm:~3.1.0"
karma-cli: "npm:^2.0.0"
@ -13260,6 +13429,13 @@ __metadata:
languageName: node
linkType: hard
"underscore@npm:1.12.1":
version: 1.12.1
resolution: "underscore@npm:1.12.1"
checksum: 10c0/00f392357e363353ac485e7c156b749505087e31ff4fdad22e04ebd2f94a56fbc554cd41a6722e3895a818466cf298b1cae93ff6211d102d373a9b50db63bfd0
languageName: node
linkType: hard
"undici-types@npm:~5.26.4":
version: 5.26.5
resolution: "undici-types@npm:5.26.5"
@ -13482,6 +13658,18 @@ __metadata:
languageName: node
linkType: hard
"vm2@npm:^3.9.17":
version: 3.9.19
resolution: "vm2@npm:3.9.19"
dependencies:
acorn: "npm:^8.7.0"
acorn-walk: "npm:^8.2.0"
bin:
vm2: bin/vm2
checksum: 10c0/16e8e6bb389ae88b8ffbc439e8d7c09db3b98f7f738440af5b78080d6cb35db66b41b0ad055cc59bcc45cb8e270ed850667207348e90760b430403741f72337a
languageName: node
linkType: hard
"void-elements@npm:^2.0.0":
version: 2.0.1
resolution: "void-elements@npm:2.0.1"