Commit 930410c0 authored by Thodoris Nestoridis's avatar Thodoris Nestoridis

Production (Api-Docker) (http-server Angular)

parent 98d70a8b
For Production
`ng build --prod`
It creates the /dist file in the root folder.
------------------------------------------------
Install http-server (need nmp package manager)
`npm install http-server@13.0.2`
Run the http-server
`npx http-server --cors -e`
# ReqmanAngular11 # ReqmanAngular11
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.1.4. This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.1.4.
......
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
"budgets": [ "budgets": [
{ {
"type": "initial", "type": "initial",
"maximumWarning": "500kb", "maximumWarning": "2mb",
"maximumError": "1mb" "maximumError": "5mb"
}, },
{ {
"type": "anyComponentStyle", "type": "anyComponentStyle",
......
...@@ -91,6 +91,27 @@ ...@@ -91,6 +91,27 @@
"webpack-sources": "2.2.0", "webpack-sources": "2.2.0",
"webpack-subresource-integrity": "1.5.2", "webpack-subresource-integrity": "1.5.2",
"worker-plugin": "5.0.0" "worker-plugin": "5.0.0"
},
"dependencies": {
"postcss": {
"version": "8.2.4",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz",
"integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==",
"dev": true,
"requires": {
"colorette": "^1.2.1",
"nanoid": "^3.1.20",
"source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
}
} }
}, },
"@angular-devkit/build-optimizer": { "@angular-devkit/build-optimizer": {
...@@ -1683,22 +1704,78 @@ ...@@ -1683,22 +1704,78 @@
"dev": true "dev": true
}, },
"@npmcli/git": { "@npmcli/git": {
"version": "2.0.4", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.0.4.tgz", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz",
"integrity": "sha512-OJZCmJ9DNn1cz9HPXXsPmUBnqaArot3CGYo63CyajHQk+g87rPXVOJByGsskQJhPsUUEXJcsZ2Q6bWd2jSwnBA==", "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@npmcli/promise-spawn": "^1.1.0", "@npmcli/promise-spawn": "^1.3.2",
"lru-cache": "^6.0.0", "lru-cache": "^6.0.0",
"mkdirp": "^1.0.3", "mkdirp": "^1.0.4",
"npm-pick-manifest": "^6.0.0", "npm-pick-manifest": "^6.1.1",
"promise-inflight": "^1.0.1", "promise-inflight": "^1.0.1",
"promise-retry": "^1.1.1", "promise-retry": "^2.0.1",
"semver": "^7.3.2", "semver": "^7.3.5",
"unique-filename": "^1.1.1",
"which": "^2.0.2" "which": "^2.0.2"
}, },
"dependencies": { "dependencies": {
"err-code": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
"dev": true
},
"hosted-git-info": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
"integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"npm-package-arg": {
"version": "8.1.5",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz",
"integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==",
"dev": true,
"requires": {
"hosted-git-info": "^4.0.1",
"semver": "^7.3.4",
"validate-npm-package-name": "^3.0.0"
}
},
"npm-pick-manifest": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz",
"integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==",
"dev": true,
"requires": {
"npm-install-checks": "^4.0.0",
"npm-normalize-package-bin": "^1.0.1",
"npm-package-arg": "^8.1.2",
"semver": "^7.3.4"
}
},
"promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
"dev": true,
"requires": {
"err-code": "^2.0.2",
"retry": "^0.12.0"
}
},
"semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"which": { "which": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
...@@ -2221,9 +2298,9 @@ ...@@ -2221,9 +2298,9 @@
"dev": true "dev": true
}, },
"ansi-regex": { "ansi-regex": {
"version": "5.0.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
...@@ -2451,10 +2528,9 @@ ...@@ -2451,10 +2528,9 @@
"dev": true "dev": true
}, },
"async": { "async": {
"version": "2.6.3", "version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"requires": { "requires": {
"lodash": "^4.17.14" "lodash": "^4.17.14"
} }
...@@ -2645,6 +2721,11 @@ ...@@ -2645,6 +2721,11 @@
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
"dev": true "dev": true
}, },
"basic-auth": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz",
"integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ="
},
"batch": { "batch": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
...@@ -2882,16 +2963,36 @@ ...@@ -2882,16 +2963,36 @@
} }
}, },
"browserslist": { "browserslist": {
"version": "4.16.3", "version": "4.20.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
"integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
"dev": true, "dev": true,
"requires": { "requires": {
"caniuse-lite": "^1.0.30001181", "caniuse-lite": "^1.0.30001332",
"colorette": "^1.2.1", "electron-to-chromium": "^1.4.118",
"electron-to-chromium": "^1.3.649",
"escalade": "^3.1.1", "escalade": "^3.1.1",
"node-releases": "^1.1.70" "node-releases": "^2.0.3",
"picocolors": "^1.0.0"
},
"dependencies": {
"caniuse-lite": {
"version": "1.0.30001339",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz",
"integrity": "sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==",
"dev": true
},
"electron-to-chromium": {
"version": "1.4.137",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz",
"integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==",
"dev": true
},
"node-releases": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
"integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
"dev": true
}
} }
}, },
"browserstack": { "browserstack": {
...@@ -3406,9 +3507,9 @@ ...@@ -3406,9 +3507,9 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
}, },
"color-string": { "color-string": {
"version": "1.5.4", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
"integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
"dev": true, "dev": true,
"requires": { "requires": {
"color-name": "^1.0.0", "color-name": "^1.0.0",
...@@ -3424,8 +3525,7 @@ ...@@ -3424,8 +3525,7 @@
"colors": { "colors": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
"dev": true
}, },
"combined-stream": { "combined-stream": {
"version": "1.0.8", "version": "1.0.8",
...@@ -3783,6 +3883,11 @@ ...@@ -3783,6 +3883,11 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true "dev": true
}, },
"corser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
"integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c="
},
"cosmiconfig": { "cosmiconfig": {
"version": "5.2.1", "version": "5.2.1",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
...@@ -4190,9 +4295,9 @@ ...@@ -4190,9 +4295,9 @@
} }
}, },
"cssnano-preset-default": { "cssnano-preset-default": {
"version": "4.0.7", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz",
"integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"css-declaration-sorter": "^4.0.1", "css-declaration-sorter": "^4.0.1",
...@@ -4223,35 +4328,48 @@ ...@@ -4223,35 +4328,48 @@
"postcss-ordered-values": "^4.1.2", "postcss-ordered-values": "^4.1.2",
"postcss-reduce-initial": "^4.0.3", "postcss-reduce-initial": "^4.0.3",
"postcss-reduce-transforms": "^4.0.2", "postcss-reduce-transforms": "^4.0.2",
"postcss-svgo": "^4.0.2", "postcss-svgo": "^4.0.3",
"postcss-unique-selectors": "^4.0.1" "postcss-unique-selectors": "^4.0.1"
}, },
"dependencies": { "dependencies": {
"picocolors": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
"integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
"dev": true
},
"postcss": { "postcss": {
"version": "7.0.35", "version": "7.0.39",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
"dev": true, "dev": true,
"requires": { "requires": {
"chalk": "^2.4.2", "picocolors": "^0.2.1",
"source-map": "^0.6.1", "source-map": "^0.6.1"
"supports-color": "^6.1.0"
} }
}, },
"postcss-svgo": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz",
"integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==",
"dev": true,
"requires": {
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0",
"svgo": "^1.0.0"
}
},
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
},
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true "dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
} }
} }
}, },
...@@ -4380,12 +4498,6 @@ ...@@ -4380,12 +4498,6 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"date-format": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
"integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==",
"dev": true
},
"debug": { "debug": {
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
...@@ -4644,9 +4756,9 @@ ...@@ -4644,9 +4756,9 @@
"dev": true "dev": true
}, },
"dns-packet": { "dns-packet": {
"version": "1.3.1", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
"integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
"dev": true, "dev": true,
"requires": { "requires": {
"ip": "^1.1.0", "ip": "^1.1.0",
...@@ -4772,18 +4884,18 @@ ...@@ -4772,18 +4884,18 @@
} }
}, },
"echarts": { "echarts": {
"version": "5.1.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.1.2.tgz", "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.3.2.tgz",
"integrity": "sha512-okUhO4sw22vwZp+rTPNjd/bvTdpug4K4sHNHyrV8NdAncIX9/AarlolFqtJCAYKGFYhUBNjIWu1EznFrSWTFxg==", "integrity": "sha512-LWCt7ohOKdJqyiBJ0OGBmE9szLdfA9sGcsMEi+GGoc6+Xo75C+BkcT/6NNGRHAWtnQl2fNow05AQjznpap28TQ==",
"requires": { "requires": {
"tslib": "2.0.3", "tslib": "2.3.0",
"zrender": "5.1.1" "zrender": "5.3.1"
}, },
"dependencies": { "dependencies": {
"tslib": { "tslib": {
"version": "2.0.3", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
} }
} }
}, },
...@@ -4793,12 +4905,6 @@ ...@@ -4793,12 +4905,6 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true "dev": true
}, },
"electron-to-chromium": {
"version": "1.3.662",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.662.tgz",
"integrity": "sha512-IGBXmTGwdVGUVTnZ8ISEvkhDfhhD+CDFndG4//BhvDcEtPYiVrzoB+rzT/Y12OQCf5bvRCrVmrUbGrS9P7a6FQ==",
"dev": true
},
"elliptic": { "elliptic": {
"version": "6.5.4", "version": "6.5.4",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
...@@ -4900,17 +5006,17 @@ ...@@ -4900,17 +5006,17 @@
} }
}, },
"ws": { "ws": {
"version": "7.4.3", "version": "7.4.6",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
"integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
"dev": true "dev": true
} }
} }
}, },
"engine.io-client": { "engine.io-client": {
"version": "3.5.0", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz",
"integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==",
"dev": true, "dev": true,
"requires": { "requires": {
"component-emitter": "~1.3.0", "component-emitter": "~1.3.0",
...@@ -4922,7 +5028,7 @@ ...@@ -4922,7 +5028,7 @@
"parseqs": "0.0.6", "parseqs": "0.0.6",
"parseuri": "0.0.6", "parseuri": "0.0.6",
"ws": "~7.4.2", "ws": "~7.4.2",
"xmlhttprequest-ssl": "~1.5.4", "xmlhttprequest-ssl": "~1.6.2",
"yeast": "0.1.2" "yeast": "0.1.2"
}, },
"dependencies": { "dependencies": {
...@@ -4942,9 +5048,15 @@ ...@@ -4942,9 +5048,15 @@
"dev": true "dev": true
}, },
"ws": { "ws": {
"version": "7.4.3", "version": "7.4.6",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
"integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
"dev": true
},
"xmlhttprequest-ssl": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz",
"integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==",
"dev": true "dev": true
} }
} }
...@@ -5164,8 +5276,7 @@ ...@@ -5164,8 +5276,7 @@
"eventemitter3": { "eventemitter3": {
"version": "4.0.7", "version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
"dev": true
}, },
"events": { "events": {
"version": "3.2.0", "version": "3.2.0",
...@@ -5600,12 +5711,6 @@ ...@@ -5600,12 +5711,6 @@
"path-exists": "^4.0.0" "path-exists": "^4.0.0"
} }
}, },
"flatted": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
"flush-write-stream": { "flush-write-stream": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
...@@ -5643,10 +5748,9 @@ ...@@ -5643,10 +5748,9 @@
} }
}, },
"follow-redirects": { "follow-redirects": {
"version": "1.13.2", "version": "1.15.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
"integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ=="
"dev": true
}, },
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
...@@ -5922,9 +6026,9 @@ ...@@ -5922,9 +6026,9 @@
} }
}, },
"glob-parent": { "glob-parent": {
"version": "5.1.1", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
...@@ -6123,6 +6227,11 @@ ...@@ -6123,6 +6227,11 @@
"minimalistic-assert": "^1.0.1" "minimalistic-assert": "^1.0.1"
} }
}, },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
"hex-color-regex": { "hex-color-regex": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
...@@ -6199,12 +6308,6 @@ ...@@ -6199,12 +6308,6 @@
"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
"dev": true "dev": true
}, },
"html-comment-regex": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
"dev": true
},
"html-entities": { "html-entities": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
...@@ -6260,7 +6363,6 @@ ...@@ -6260,7 +6363,6 @@
"version": "1.18.1", "version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
"requires": { "requires": {
"eventemitter3": "^4.0.0", "eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0", "follow-redirects": "^1.0.0",
...@@ -6395,6 +6497,25 @@ ...@@ -6395,6 +6497,25 @@
} }
} }
}, },
"http-server": {
"version": "13.0.2",
"resolved": "https://registry.npmjs.org/http-server/-/http-server-13.0.2.tgz",
"integrity": "sha512-R8kvPT7qp11AMJWLZsRShvm6heIXdlR/+tL5oAWNG/86A/X+IAFX6q0F9SA2G+dR5aH/759+9PLH0V34Q6j4rg==",
"requires": {
"basic-auth": "^1.0.3",
"colors": "^1.4.0",
"corser": "^2.0.1",
"he": "^1.1.0",
"http-proxy": "^1.18.0",
"mime": "^1.6.0",
"minimist": "^1.2.5",
"opener": "^1.5.1",
"portfinder": "^1.0.25",
"secure-compare": "3.0.1",
"union": "~0.5.0",
"url-join": "^2.0.5"
}
},
"http-signature": { "http-signature": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
...@@ -6953,15 +7074,6 @@ ...@@ -6953,15 +7074,6 @@
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true "dev": true
}, },
"is-svg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
"integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
"dev": true,
"requires": {
"html-comment-regex": "^1.1.0"
}
},
"is-symbol": { "is-symbol": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
...@@ -7217,12 +7329,6 @@ ...@@ -7217,12 +7329,6 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true "dev": true
}, },
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": { "json-schema-traverse": {
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
...@@ -7271,21 +7377,29 @@ ...@@ -7271,21 +7377,29 @@
"dev": true "dev": true
}, },
"jsprim": { "jsprim": {
"version": "1.4.1", "version": "1.4.2",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"dev": true, "dev": true,
"requires": { "requires": {
"assert-plus": "1.0.0", "assert-plus": "1.0.0",
"extsprintf": "1.3.0", "extsprintf": "1.3.0",
"json-schema": "0.2.3", "json-schema": "0.4.0",
"verror": "1.10.0" "verror": "1.10.0"
},
"dependencies": {
"json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"dev": true
}
} }
}, },
"jszip": { "jszip": {
"version": "3.6.0", "version": "3.9.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.9.1.tgz",
"integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", "integrity": "sha512-H9A60xPqJ1CuC4Ka6qxzXZeU8aNmgOeP5IFqwJbQQwtu2EUYxota3LdsiZWplF7Wgd9tkAd0mdu36nceSaPuYw==",
"dev": true, "dev": true,
"requires": { "requires": {
"lie": "~3.3.0", "lie": "~3.3.0",
...@@ -7670,9 +7784,9 @@ ...@@ -7670,9 +7784,9 @@
} }
}, },
"lodash": { "lodash": {
"version": "4.17.20", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}, },
"lodash.memoize": { "lodash.memoize": {
"version": "4.1.2", "version": "4.1.2",
...@@ -7747,16 +7861,83 @@ ...@@ -7747,16 +7861,83 @@
} }
}, },
"log4js": { "log4js": {
"version": "6.3.0", "version": "6.4.6",
"resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.6.tgz",
"integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", "integrity": "sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw==",
"dev": true, "dev": true,
"requires": { "requires": {
"date-format": "^3.0.0", "date-format": "^4.0.9",
"debug": "^4.1.1", "debug": "^4.3.4",
"flatted": "^2.0.1", "flatted": "^3.2.5",
"rfdc": "^1.1.4", "rfdc": "^1.3.0",
"streamroller": "^2.2.4" "streamroller": "^3.0.8"
},
"dependencies": {
"date-format": {
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.9.tgz",
"integrity": "sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg==",
"dev": true
},
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
"flatted": {
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
"integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
"dev": true
},
"fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
}
},
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
}
},
"rfdc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
"integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
"dev": true
},
"streamroller": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.8.tgz",
"integrity": "sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg==",
"dev": true,
"requires": {
"date-format": "^4.0.9",
"debug": "^4.3.4",
"fs-extra": "^10.1.0"
}
},
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
}
} }
}, },
"loglevel": { "loglevel": {
...@@ -7975,8 +8156,7 @@ ...@@ -7975,8 +8156,7 @@
"mime": { "mime": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
"dev": true
}, },
"mime-db": { "mime-db": {
"version": "1.45.0", "version": "1.45.0",
...@@ -8060,9 +8240,9 @@ ...@@ -8060,9 +8240,9 @@
} }
}, },
"minimist": { "minimist": {
"version": "1.2.5", "version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
}, },
"minipass": { "minipass": {
"version": "3.1.3", "version": "3.1.3",
...@@ -8187,9 +8367,9 @@ ...@@ -8187,9 +8367,9 @@
"dev": true "dev": true
}, },
"moment": { "moment": {
"version": "2.29.1", "version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
}, },
"move-concurrently": { "move-concurrently": {
"version": "1.0.1", "version": "1.0.1",
...@@ -8253,9 +8433,9 @@ ...@@ -8253,9 +8433,9 @@
"dev": true "dev": true
}, },
"nanoid": { "nanoid": {
"version": "3.1.20", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"dev": true "dev": true
}, },
"nanomatch": { "nanomatch": {
...@@ -8449,12 +8629,6 @@ ...@@ -8449,12 +8629,6 @@
} }
} }
}, },
"node-releases": {
"version": "1.1.70",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz",
"integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==",
"dev": true
},
"nopt": { "nopt": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
...@@ -8758,6 +8932,11 @@ ...@@ -8758,6 +8932,11 @@
"is-wsl": "^2.1.1" "is-wsl": "^2.1.1"
} }
}, },
"opener": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A=="
},
"opn": { "opn": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
...@@ -9121,9 +9300,9 @@ ...@@ -9121,9 +9300,9 @@
"dev": true "dev": true
}, },
"path-parse": { "path-parse": {
"version": "1.0.6", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.7", "version": "0.1.7",
...@@ -9156,6 +9335,12 @@ ...@@ -9156,6 +9335,12 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true "dev": true
}, },
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
"picomatch": { "picomatch": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
...@@ -9205,7 +9390,6 @@ ...@@ -9205,7 +9390,6 @@
"version": "1.0.28", "version": "1.0.28",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
"integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
"dev": true,
"requires": { "requires": {
"async": "^2.6.2", "async": "^2.6.2",
"debug": "^3.1.1", "debug": "^3.1.1",
...@@ -9216,7 +9400,6 @@ ...@@ -9216,7 +9400,6 @@
"version": "3.2.7", "version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": { "requires": {
"ms": "^2.1.1" "ms": "^2.1.1"
} }
...@@ -9225,7 +9408,6 @@ ...@@ -9225,7 +9408,6 @@
"version": "0.5.5", "version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"dev": true,
"requires": { "requires": {
"minimist": "^1.2.5" "minimist": "^1.2.5"
} }
...@@ -9239,22 +9421,14 @@ ...@@ -9239,22 +9421,14 @@
"dev": true "dev": true
}, },
"postcss": { "postcss": {
"version": "8.2.4", "version": "8.4.13",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz",
"integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==",
"dev": true, "dev": true,
"requires": { "requires": {
"colorette": "^1.2.1", "nanoid": "^3.3.3",
"nanoid": "^3.1.20", "picocolors": "^1.0.0",
"source-map": "^0.6.1" "source-map-js": "^1.0.2"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
} }
}, },
"postcss-calc": { "postcss-calc": {
...@@ -10478,52 +10652,6 @@ ...@@ -10478,52 +10652,6 @@
"util-deprecate": "^1.0.2" "util-deprecate": "^1.0.2"
} }
}, },
"postcss-svgo": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
"integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
"dev": true,
"requires": {
"is-svg": "^3.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0",
"svgo": "^1.0.0"
},
"dependencies": {
"postcss": {
"version": "7.0.35",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-unique-selectors": { "postcss-unique-selectors": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
...@@ -11030,8 +11158,7 @@ ...@@ -11030,8 +11158,7 @@
"qs": { "qs": {
"version": "6.7.0", "version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
"dev": true
}, },
"querystring": { "querystring": {
"version": "0.2.0", "version": "0.2.0",
...@@ -11339,8 +11466,7 @@ ...@@ -11339,8 +11466,7 @@
"requires-port": { "requires-port": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
"dev": true
}, },
"resolve": { "resolve": {
"version": "1.19.0", "version": "1.19.0",
...@@ -11533,12 +11659,6 @@ ...@@ -11533,12 +11659,6 @@
"integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
"dev": true "dev": true
}, },
"rfdc": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.2.0.tgz",
"integrity": "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA==",
"dev": true
},
"rgb-regex": { "rgb-regex": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
...@@ -11729,6 +11849,11 @@ ...@@ -11729,6 +11849,11 @@
"ajv-keywords": "^3.5.2" "ajv-keywords": "^3.5.2"
} }
}, },
"secure-compare": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
"integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM="
},
"select-hose": { "select-hose": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
...@@ -12386,6 +12511,12 @@ ...@@ -12386,6 +12511,12 @@
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true "dev": true
}, },
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true
},
"source-map-loader": { "source-map-loader": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz",
...@@ -12669,36 +12800,6 @@ ...@@ -12669,36 +12800,6 @@
"integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
"dev": true "dev": true
}, },
"streamroller": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
"integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
"dev": true,
"requires": {
"date-format": "^2.1.0",
"debug": "^4.1.1",
"fs-extra": "^8.1.0"
},
"dependencies": {
"date-format": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
"integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
"dev": true
},
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
}
}
},
"string-width": { "string-width": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
...@@ -12951,9 +13052,9 @@ ...@@ -12951,9 +13052,9 @@
"dev": true "dev": true
}, },
"tar": { "tar": {
"version": "6.1.0", "version": "6.1.11",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
"integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dev": true, "dev": true,
"requires": { "requires": {
"chownr": "^2.0.0", "chownr": "^2.0.0",
...@@ -13362,6 +13463,14 @@ ...@@ -13362,6 +13463,14 @@
"integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
"dev": true "dev": true
}, },
"union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
"integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"requires": {
"qs": "^6.4.0"
}
},
"union-value": { "union-value": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
...@@ -13512,10 +13621,15 @@ ...@@ -13512,10 +13621,15 @@
} }
} }
}, },
"url-join": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
"integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg="
},
"url-parse": { "url-parse": {
"version": "1.4.7", "version": "1.5.10",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"querystringify": "^2.1.1", "querystringify": "^2.1.1",
...@@ -14806,45 +14920,12 @@ ...@@ -14806,45 +14920,12 @@
"dev": true "dev": true
}, },
"wide-align": { "wide-align": {
"version": "1.1.3", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
}
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true, "dev": true,
"requires": { "requires": {
"ansi-regex": "^3.0.0" "string-width": "^1.0.2 || 2 || 3 || 4"
}
}
} }
}, },
"wildcard": { "wildcard": {
...@@ -14974,12 +15055,6 @@ ...@@ -14974,12 +15055,6 @@
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"dev": true "dev": true
}, },
"xmlhttprequest-ssl": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
"dev": true
},
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
...@@ -15141,17 +15216,17 @@ ...@@ -15141,17 +15216,17 @@
} }
}, },
"zrender": { "zrender": {
"version": "5.1.1", "version": "5.3.1",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.1.1.tgz", "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.3.1.tgz",
"integrity": "sha512-oeWlmUZPQdS9f5hK4pV21tHPqA3wgQ7CkKkw7l0CCBgWlJ/FP+lRgLFtUBW6yam4JX8y9CdHJo1o587VVrbcoQ==", "integrity": "sha512-7olqIjy0gWfznKr6vgfnGBk7y4UtdMvdwFmK92vVQsQeDPyzkHW1OlrLEKg6GHz1W5ePf0FeN1q2vkl/HFqhXw==",
"requires": { "requires": {
"tslib": "2.0.3" "tslib": "2.3.0"
}, },
"dependencies": { "dependencies": {
"tslib": { "tslib": {
"version": "2.0.3", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
} }
} }
} }
......
...@@ -27,9 +27,10 @@ ...@@ -27,9 +27,10 @@
"@ng-bootstrap/ng-bootstrap": "^9.0.2", "@ng-bootstrap/ng-bootstrap": "^9.0.2",
"angular-notifier": "^6.0.1", "angular-notifier": "^6.0.1",
"bootstrap": "^4.6.0", "bootstrap": "^4.6.0",
"echarts": "^5.1.2", "echarts": "^5.3.2",
"http-server": "^13.0.2",
"jwt-decode": "^3.1.2", "jwt-decode": "^3.1.2",
"moment": "^2.29.1", "moment": "^2.29.3",
"ng2-search-filter": "^0.5.1", "ng2-search-filter": "^0.5.1",
"ngx-echarts": "^7.0.1", "ngx-echarts": "^7.0.1",
"rxjs": "~6.6.0", "rxjs": "~6.6.0",
......
...@@ -37,6 +37,8 @@ import { Ng2SearchPipeModule } from 'ng2-search-filter'; ...@@ -37,6 +37,8 @@ import { Ng2SearchPipeModule } from 'ng2-search-filter';
import { NgxEchartsModule } from 'ngx-echarts'; import { NgxEchartsModule } from 'ngx-echarts';
import { CourseDialogComponentComponent } from './components/course-dialog-component/course-dialog-component.component'; import { CourseDialogComponentComponent } from './components/course-dialog-component/course-dialog-component.component';
import {APP_BASE_HREF} from '@angular/common';
@NgModule({ @NgModule({
...@@ -85,6 +87,7 @@ import { CourseDialogComponentComponent } from './components/course-dialog-compo ...@@ -85,6 +87,7 @@ import { CourseDialogComponentComponent } from './components/course-dialog-compo
useClass: AuthInterceptor, useClass: AuthInterceptor,
multi: true, multi: true,
}, },
{provide: APP_BASE_HREF, useValue: '/'},
], ],
bootstrap: [AppComponent], bootstrap: [AppComponent],
}) })
......
...@@ -136,7 +136,7 @@ export class MainDetailsComponent implements OnInit { ...@@ -136,7 +136,7 @@ export class MainDetailsComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.getAllMain(this.route.snapshot.params.id); this.getAllMain(this.route.snapshot.params.id);
this.getchoices(); this.getchoices(this.route.snapshot.params.gb);
this.getmainchoices(this.route.snapshot.params.gb); this.getmainchoices(this.route.snapshot.params.gb);
} }
...@@ -377,12 +377,12 @@ export class MainDetailsComponent implements OnInit { ...@@ -377,12 +377,12 @@ export class MainDetailsComponent implements OnInit {
} }
} }
getchoices(): void { getchoices(id: string): void {
this.mainService.getmainsyntax() this.mainService.getmainsyntax(id)
.subscribe( .subscribe(
data => { data => {
this.mainsyntax = data this.mainsyntax = data
//console.log(data); //console.log(this.mainsyntax);
}, },
error => { error => {
......
...@@ -162,8 +162,8 @@ export class MainService { ...@@ -162,8 +162,8 @@ export class MainService {
return this.http.get(`${baseUrl2}${gb}`+`/dictionary/`); return this.http.get(`${baseUrl2}${gb}`+`/dictionary/`);
} }
getmainsyntax(): Observable<any> { getmainsyntax(gb : any): Observable<any> {
return this.http.get(environment.apiroot +`api-auth/mainsyntax`); return this.http.get(`${baseUrl2}${gb}`+`/mainsyntax/`);
} }
setinstances(gb : any, instance: any, comment:any): Observable<any> { setinstances(gb : any, instance: any, comment:any): Observable<any> {
......
export const environment = { export const environment = {
apiroot : "http://155.207.131.19:8000/",
production: true production: true
}; };
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
will run only services needed for development like PostgreSQL, Redis etc will run only services needed for development like PostgreSQL, Redis etc
`docker-compose -f build/docker-compose-api.yml up` `sudo docker-compose -f build/docker-compose-api.yml up`
will run all needed services and API (backend application) will run all needed services and API (backend application)
then connect to the docker container (the current name of container is "build_api_reqman_1") to create the super user
`sudo docker exec -it build_api_reqman_1 /bin/bash `
...@@ -9,7 +9,7 @@ from reqman.apps.reqtool.rest_api.services.parse_ontologies import * ...@@ -9,7 +9,7 @@ from reqman.apps.reqtool.rest_api.services.parse_ontologies import *
#find_subclass_domain_range() #find_subclass_domain_range()
#MAIN SYNTAX #MAIN SYNTAX
MAIN_SYNTAX = get_main_sytax()
import pprint import pprint
#pprint.pprint(get_main_sytax()) #pprint.pprint(get_main_sytax())
......
...@@ -36,9 +36,7 @@ LOGICAL_EXPRESSION = ( ("",""), ...@@ -36,9 +36,7 @@ LOGICAL_EXPRESSION = ( ("",""),
#Need fixing #Need fixing
#VERB_CHOICES_PREFIX = ( ("","")) #VERB_CHOICES_PREFIX = ( ("",""))
list_of_DSO = ["http://delab.csd.auth.gr/ontologies/2018/SAO#","http://delab.csd.auth.gr/ontologies/2018/DSO#", "http://delab.csd.auth.gr/ontologies/2018/DSO-AOCS#","http://delab.csd.auth.gr/ontologies/2018/RDO-instances#"]#,
list_of_RBO = ["http://delab.csd.auth.gr/ontologies/2018/LO#","http://delab.csd.auth.gr/ontologies/2018/RBO#","http://delab.csd.auth.gr/ontologies/2018/LO-instances#"] list_of_RBO = ["http://delab.csd.auth.gr/ontologies/2018/LO#","http://delab.csd.auth.gr/ontologies/2018/RBO#","http://delab.csd.auth.gr/ontologies/2018/LO-instances#"]
#list_of_LO = ["http://delab.csd.auth.gr/ontologies/2018/LO#","http://delab.csd.auth.gr/ontologies/2018/RBO#","http://delab.csd.auth.gr/ontologies/2018/LO-instances#"]
#Must read this info from the Ontology #Must read this info from the Ontology
...@@ -105,8 +103,14 @@ def initialize_instances(instance): ...@@ -105,8 +103,14 @@ def initialize_instances(instance):
'''Update instaces of the ontology after the inferencing''' '''Update instaces of the ontology after the inferencing'''
def update_instances(instance): def update_instances(instance):
list_of_DSO=[]
g = Graph() g = Graph()
g.load(instance.ontology_file, format="turtle") g.load(instance.ontology_file, format="turtle")
for ns_prefix, namespace in g.namespaces():
if ('http://delab.csd.auth.gr/ontologies/2018/DSO' in namespace):
list_of_DSO.append(str(namespace))
list_of_DSO.append("http://delab.csd.auth.gr/ontologies/2018/SAO#")
list_of_DSO.append("http://delab.csd.auth.gr/ontologies/2018/RDO-instances#")
#PREFIX_SYNTAX = get_prefix_syntax(g) #PREFIX_SYNTAX = get_prefix_syntax(g)
VERB_CHOICES_PREFIX = get_prefix_verbs(g) VERB_CHOICES_PREFIX = get_prefix_verbs(g)
SYSTEM_CHOICES = get_instances_g("SAO#System",g, list_of_DSO) SYSTEM_CHOICES = get_instances_g("SAO#System",g, list_of_DSO)
...@@ -133,7 +137,7 @@ def update_instances(instance): ...@@ -133,7 +137,7 @@ def update_instances(instance):
Dict_list=[] Dict_list=[]
sao_names=['SAO#System', 'SAO#Function', 'SAO#Item', 'SAO#Interface', 'SAO#Connection', 'SAO#Flow', 'SAO#State', 'SAO#StateSet', 'SAO#StateValue'] sao_names=['SAO#System', 'SAO#Function', 'SAO#Item', 'SAO#Interface', 'SAO#Connection', 'SAO#Flow', 'SAO#State', 'SAO#StateSet', 'SAO#StateValue']
for i in sao_names: for i in sao_names:
Dict_list.append(get_dmo_classes_and_comment(i, g)) Dict_list.append(get_dmo_classes_and_comment(i, g, list_of_DSO))
#Dictionary_Data_list.append #Dictionary_Data_list.append
BoilerplateGroupDictionary.objects.filter(classes_instances_owner_dic= instance.owner_infer, classes_instances_group_of_boilerplate_dic = instance.infer_group_of_boilerplate).update(ontology_file_dic =instance.ontology_file, Dictionary_Data =Dict_list) BoilerplateGroupDictionary.objects.filter(classes_instances_owner_dic= instance.owner_infer, classes_instances_group_of_boilerplate_dic = instance.infer_group_of_boilerplate).update(ontology_file_dic =instance.ontology_file, Dictionary_Data =Dict_list)
......
...@@ -6,7 +6,7 @@ from reqman.apps.reqtool.rest_api.services.parse_ontologies import * ...@@ -6,7 +6,7 @@ from reqman.apps.reqtool.rest_api.services.parse_ontologies import *
#HERE #HERE
#Ontology_file = "../../Ontologies/Autonomy_v1.ttl" #Ontology_file = "../../Ontologies/Autonomy_v1.ttl"
Ontology_file = "../../Ontologies/2022_AOCS.ttl" #Ontology_file = "../../Ontologies/2022_AOCS.ttl"
list_of_inference_metrics = ["IncompleteRequirement", "AmbiguousRequirement", list_of_inference_metrics = ["IncompleteRequirement", "AmbiguousRequirement",
"InconsistentRequirement","NoisyRequirement","OpaqueRequirement","RedundantRequirement"] "InconsistentRequirement","NoisyRequirement","OpaqueRequirement","RedundantRequirement"]
...@@ -118,7 +118,7 @@ def exportboiltottl(ontfile,project, prefix, boilerplate, main, suffix): ...@@ -118,7 +118,7 @@ def exportboiltottl(ontfile,project, prefix, boilerplate, main, suffix):
g.add((per_instances+(prefix_verb_splitter[0]+"OccuringFunctionality"+title), rbo+"isRelatedToFunction", rbo + prefix_attr_splitter[len(prefix_attr_splitter)-1].strip())) g.add((per_instances+(prefix_verb_splitter[0]+"OccuringFunctionality"+title), rbo+"isRelatedToFunction", rbo + prefix_attr_splitter[len(prefix_attr_splitter)-1].strip()))
except: except:
raise APIException("The instances in Prefix of Boilerplate "+title+" are not exist in the Ontology") raise APIException("The instances in Prefix of Boilerplate "+title+" are not exist in the Ontology")
try: #try:
if (boilerplate[i][0]['has_main'] == True): #If the requirement has Main if (boilerplate[i][0]['has_main'] == True): #If the requirement has Main
g.add((per_instances + title, rdo + 'hasMain', per_instances+(title+"_"+ main[i][0]['main_choices']))) g.add((per_instances + title, rdo + 'hasMain', per_instances+(title+"_"+ main[i][0]['main_choices'])))
g.add((per_instances+(title+"_"+ main[i][0]['main_choices']), RDF.type, rbo + main[i][0]['main_choices'])) g.add((per_instances+(title+"_"+ main[i][0]['main_choices']), RDF.type, rbo + main[i][0]['main_choices']))
...@@ -173,8 +173,8 @@ def exportboiltottl(ontfile,project, prefix, boilerplate, main, suffix): ...@@ -173,8 +173,8 @@ def exportboiltottl(ontfile,project, prefix, boilerplate, main, suffix):
#isRelatedToTimeUnit #isRelatedToTimeUnit
if(main[i][0]["mumerical_units"]!=""): if(main[i][0]["mumerical_units"]!=""):
g.add((per_instances+(title+ "_Quantifier_Numerical"), rbo+"isRelatedToNumberUnit", lo+numunit[len(numunit)-1].strip() )) g.add((per_instances+(title+ "_Quantifier_Numerical"), rbo+"isRelatedToNumberUnit", lo+numunit[len(numunit)-1].strip() ))
except: #except:
raise APIException("The instances in MAIN of Boilerplate "+title+" are not exist in the Ontology") # raise APIException("The instances in MAIN of Boilerplate "+title+" are not exist in the Ontology")
try: try:
if (boilerplate[i][0]['has_suffix'] == True): if (boilerplate[i][0]['has_suffix'] == True):
typesuffix = suffix[i][0]['s_choices'].split(':') typesuffix = suffix[i][0]['s_choices'].split(':')
......
...@@ -15,7 +15,7 @@ subClass_instances = "../../Ontologies/instances_subclass.txt" ...@@ -15,7 +15,7 @@ subClass_instances = "../../Ontologies/instances_subclass.txt"
#HERE #HERE
#list_of_DSO = ["http://delab.csd.auth.gr/ontologies/2018/SAO#","http://delab.csd.auth.gr/ontologies/2018/DSO#", "http://delab.csd.auth.gr/ontologies/2018/DSO-Automotive#", "http://delab.csd.auth.gr/ontologies/2018/DSO-Automotive-AVP#", "http://delab.csd.auth.gr/ontologies/2018/DSO-Automotive-AVP-instances#","http://delab.csd.auth.gr/ontologies/2018/RDO-instances#"] #list_of_DSO = ["http://delab.csd.auth.gr/ontologies/2018/SAO#","http://delab.csd.auth.gr/ontologies/2018/DSO#", "http://delab.csd.auth.gr/ontologies/2018/DSO-Automotive#", "http://delab.csd.auth.gr/ontologies/2018/DSO-Automotive-AVP#", "http://delab.csd.auth.gr/ontologies/2018/DSO-Automotive-AVP-instances#","http://delab.csd.auth.gr/ontologies/2018/RDO-instances#"]
list_of_DSO = ["http://delab.csd.auth.gr/ontologies/2018/SAO#","http://delab.csd.auth.gr/ontologies/2018/DSO#", "http://delab.csd.auth.gr/ontologies/2018/DSO-AOCS#", "http://delab.csd.auth.gr/ontologies/2018/DSO-AOCS-instances","http://delab.csd.auth.gr/ontologies/2018/RDO-instances#"]#, list_of_DSO = []
list_of_rbo = ["http://delab.csd.auth.gr/ontologies/2018/RBO#"] list_of_rbo = ["http://delab.csd.auth.gr/ontologies/2018/RBO#"]
list_of_lo = ["http://delab.csd.auth.gr/ontologies/2018/LO#"] list_of_lo = ["http://delab.csd.auth.gr/ontologies/2018/LO#"]
#list_of_RMO = ["RMO", "RMO-instances", "DSO-AOCS-instances", "<http://delab.csd.auth.gr/ontologies/2018/RDO-instances"] #list_of_RMO = ["RMO", "RMO-instances", "DSO-AOCS-instances", "<http://delab.csd.auth.gr/ontologies/2018/RDO-instances"]
...@@ -28,7 +28,7 @@ Dictionary_Data_list = [] ...@@ -28,7 +28,7 @@ Dictionary_Data_list = []
g = Graph() g = Graph()
g.load(Ontology_file, format="turtle") g.load(Ontology_file, format="turtle")
def find_subclass_domain_range(): '''def find_subclass_domain_range():
file2 = open(r"../../Ontologies/instances.txt","w+") file2 = open(r"../../Ontologies/instances.txt","w+")
for subj, obj in g.subject_objects(predicate=RDFS.subClassOf): for subj, obj in g.subject_objects(predicate=RDFS.subClassOf):
...@@ -39,10 +39,10 @@ def find_subclass_domain_range(): ...@@ -39,10 +39,10 @@ def find_subclass_domain_range():
file2.write(subClass) file2.write(subClass)
for subj, obj in g.subject_objects(predicate=RDFS.range): for subj, obj in g.subject_objects(predicate=RDFS.range):
subClass = subj + "$"+ obj + "\n" subClass = subj + "$"+ obj + "\n"
file2.write(subClass) file2.write(subClass)'''
def findsubclass(): def findsubclass(g):
subclasslist = [] subclasslist = []
for subj, obj in g.subject_objects(predicate=RDFS.subClassOf): for subj, obj in g.subject_objects(predicate=RDFS.subClassOf):
subClass = subj + "$"+ obj + "\n" subClass = subj + "$"+ obj + "\n"
...@@ -99,17 +99,10 @@ def get_verb_file_and_instances(keyword): ...@@ -99,17 +99,10 @@ def get_verb_file_and_instances(keyword):
'''Get Instaces - return tuple''' '''Get Instaces - return tuple'''
def get_instances(keyword): def get_instances(keyword, list_of_DSO):
#get_file_and_instances(keyword)
keywordspl = keyword.split("#") keywordspl = keyword.split("#")
in_list = [keywordspl[len(keywordspl)-1]] in_list = [keywordspl[len(keywordspl)-1]]
out_list = [] out_list = []
#with open('../../Ontologies/instances.txt') as f:
# for data in f:
# if (data.strip()).endswith(keyword):
# spliter_1 = data.split('$')
# spliter_2 = spliter_1[0].split("#")
# in_list.append(spliter_2[len(spliter_2) - 1])
for extra in in_list: for extra in in_list:
for uri in list_of_DSO: for uri in list_of_DSO:
per = URIRef(uri +extra) per = URIRef(uri +extra)
...@@ -136,16 +129,9 @@ info_dict = {} ...@@ -136,16 +129,9 @@ info_dict = {}
'''Get Instaces - return tuple''' '''Get Instaces - return tuple'''
def get_instances_g(keyword, g, list_of_DSO): def get_instances_g(keyword, g, list_of_DSO):
#get_file_and_instances(keyword)
keywordspl = keyword.split("#") keywordspl = keyword.split("#")
in_list = [keywordspl[len(keywordspl)-1]] in_list = [keywordspl[len(keywordspl)-1]]
out_list = [] out_list = []
#with open('../../Ontologies/instances.txt') as f:
# for data in f:
# if (data.strip()).endswith(keyword):
# spliter_1 = data.split('$')
# spliter_2 = spliter_1[0].split("#")
# in_list.append(spliter_2[len(spliter_2) - 1])
for extra in in_list: for extra in in_list:
for uri in list_of_DSO: for uri in list_of_DSO:
per = URIRef(uri +extra) per = URIRef(uri +extra)
...@@ -171,6 +157,11 @@ out_list = [] ...@@ -171,6 +157,11 @@ out_list = []
info_dict = {} info_dict = {}
def get_file_and_instances(keyword, g): def get_file_and_instances(keyword, g):
for ns_prefix, namespace in g.namespaces():
if ('http://delab.csd.auth.gr/ontologies/2018/DSO' in namespace):
list_of_DSO.append(str(namespace))
list_of_DSO.append("http://delab.csd.auth.gr/ontologies/2018/SAO#")
list_of_DSO.append("http://delab.csd.auth.gr/ontologies/2018/RDO-instances#")
out_list = [] out_list = []
keywordspl = keyword.split("#") keywordspl = keyword.split("#")
in_list = [keywordspl[len(keywordspl)-1]] in_list = [keywordspl[len(keywordspl)-1]]
...@@ -195,7 +186,7 @@ def get_file_and_instances(keyword, g): ...@@ -195,7 +186,7 @@ def get_file_and_instances(keyword, g):
#Instances and Comments #Instances and Comments
def get_dmo_instance_and_comment(keyword): '''def get_dmo_instance_and_comment(keyword):
dmo_dic = {} dmo_dic = {}
dic_list = [] dic_list = []
mid_list = [] mid_list = []
...@@ -228,12 +219,12 @@ def get_dmo_instance_and_comment(keyword): ...@@ -228,12 +219,12 @@ def get_dmo_instance_and_comment(keyword):
uri = spl[len(spl) - 2].split("/") uri = spl[len(spl) - 2].split("/")
out_list_com.append(str(extra)) out_list_com.append(str(extra))
out_list_com.append((str(o).replace("\r","")).replace("\n","")) out_list_com.append((str(o).replace("\r","")).replace("\n",""))
return dic_list return dic_list'''
#Classes and Comments #Classes and Comments
def get_dmo_classes_and_comment(keyword, g): def get_dmo_classes_and_comment(keyword, g, list_of_DSO):
dic_list = [] dic_list = []
dic_list_in = [] dic_list_in = []
dmo_dic_backup = {} dmo_dic_backup = {}
...@@ -301,7 +292,7 @@ def get_dmo_classes_and_comment(keyword, g): ...@@ -301,7 +292,7 @@ def get_dmo_classes_and_comment(keyword, g):
sub_ins.append(sub_ins_dict) sub_ins.append(sub_ins_dict)
############################### ###############################
#get Instance of all subclasses #get Instance of all subclasses
subsubclass_list= get_Classes_Dictionary(subclas_name) subsubclass_list= get_Classes_Dictionary(subclas_name, list_of_DSO)
suclass_dict = {'SubClass_name': subclas_name, 'SubclassComment':find_comment, 'InstanceOfSubclass': sub_ins, 'SubSubClass' : subsubclass_list} suclass_dict = {'SubClass_name': subclas_name, 'SubclassComment':find_comment, 'InstanceOfSubclass': sub_ins, 'SubSubClass' : subsubclass_list}
subclass_list.append(suclass_dict) subclass_list.append(suclass_dict)
############################################ ############################################
...@@ -312,7 +303,7 @@ def get_dmo_classes_and_comment(keyword, g): ...@@ -312,7 +303,7 @@ def get_dmo_classes_and_comment(keyword, g):
return Dictionary_Data return Dictionary_Data
def get_Classes_Dictionary(name): def get_Classes_Dictionary(name, list_of_DSO):
#subsubsub_ins_dict = {} #subsubsub_ins_dict = {}
subsubsubsuclass_dict = {} subsubsubsuclass_dict = {}
subsubsubsubclass_list = [] subsubsubsubclass_list = []
...@@ -339,7 +330,7 @@ def get_Classes_Dictionary(name): ...@@ -339,7 +330,7 @@ def get_Classes_Dictionary(name):
subsubsubsub_ins_dict = {"Instance": spl2[len(spl2) - 1], "Comment": subsubsubfind_comment_instance} subsubsubsub_ins_dict = {"Instance": spl2[len(spl2) - 1], "Comment": subsubsubfind_comment_instance}
subsubsubsub_ins.append(subsubsubsub_ins_dict) subsubsubsub_ins.append(subsubsubsub_ins_dict)
#get current Subclass -Subclasses / Instances #get current Subclass -Subclasses / Instances
newsubclass_list = get_Classes_Dictionary(subsubsubsubclas_name) newsubclass_list = get_Classes_Dictionary(subsubsubsubclas_name, list_of_DSO)
subsubsubsuclass_dict = {'SubSubClass_name': subsubsubsubclas_name, 'SubSubclassComment':subsubsubfind_comment, 'SubInstanceOfSubclass': subsubsubsub_ins, 'SubSubClass': newsubclass_list} subsubsubsuclass_dict = {'SubSubClass_name': subsubsubsubclas_name, 'SubSubclassComment':subsubsubfind_comment, 'SubInstanceOfSubclass': subsubsubsub_ins, 'SubSubClass': newsubclass_list}
subsubsubsubclass_list.append(subsubsubsuclass_dict) subsubsubsubclass_list.append(subsubsubsuclass_dict)
return subsubsubsubclass_list return subsubsubsubclass_list
...@@ -348,7 +339,7 @@ def get_Classes_Dictionary(name): ...@@ -348,7 +339,7 @@ def get_Classes_Dictionary(name):
#Classes of classes and Comments #Classes of classes and Comments
def get_dmo_classes_of_classes_and_comment(keyword): def get_dmo_classes_of_classes_and_comment(keyword, list_of_DSO):
dmo_dic = {} dmo_dic = {}
dic_list = [] dic_list = []
out_list_instance = [] out_list_instance = []
...@@ -381,8 +372,8 @@ def get_dmo_classes_of_classes_and_comment(keyword): ...@@ -381,8 +372,8 @@ def get_dmo_classes_of_classes_and_comment(keyword):
'''Get Instaces - return list''' '''Get Instaces - return list'''
def get_instances_list(keyword): def get_instances_list(keyword, g):
f = findsubclass() f = findsubclass(g)
an_list=[] an_list=[]
for data in f: for data in f:
if (data.strip()).endswith(keyword): if (data.strip()).endswith(keyword):
...@@ -516,7 +507,7 @@ def get_attribute(main, bnodes_uriref, subjects, related_subjects, verbs): ...@@ -516,7 +507,7 @@ def get_attribute(main, bnodes_uriref, subjects, related_subjects, verbs):
'''Find Main syntax - return a dict with the syntax''' '''Find Main syntax - return a dict with the syntax'''
def get_main_sytax_inference(g): def get_main_sytax_inference(g):
get_main = get_instances_list("RBO#Main") get_main = get_instances_list("RBO#Main", g)
main_dict = {} main_dict = {}
for main in get_main: for main in get_main:
main_dict[main] = {} main_dict[main] = {}
...@@ -587,8 +578,8 @@ def get_main_sytax_inference(g): ...@@ -587,8 +578,8 @@ def get_main_sytax_inference(g):
'''Find Main syntax - return a dict with the syntax''' '''Find Main syntax - return a dict with the syntax'''
def get_main_sytax(): def get_main_sytax(g):
get_main = get_instances_list("RBO#Main") get_main = get_instances_list("RBO#Main",g)
main_dict = {} main_dict = {}
main_dict_list = [] main_dict_list = []
for main in get_main: for main in get_main:
...@@ -665,9 +656,9 @@ def get_main_sytax(): ...@@ -665,9 +656,9 @@ def get_main_sytax():
def get_prefix_syntax(g): def get_prefix_syntax(g):
prefix_dict={} prefix_dict={}
prefix_list = [] prefix_list = []
get_prefix = get_instances_list("RBO#Prefix") get_prefix = get_instances_list("RBO#Prefix",g)
for prefix in get_prefix: for prefix in get_prefix:
prefix_list.extend(get_instances_list(prefix)) prefix_list.extend(get_instances_list(prefix, g))
for prefix in prefix_list: for prefix in prefix_list:
prefix_dict[prefix] = {} prefix_dict[prefix] = {}
#prefix_dict[prefix]["Verbs"] = [] #prefix_dict[prefix]["Verbs"] = []
...@@ -676,7 +667,7 @@ def get_prefix_syntax(g): ...@@ -676,7 +667,7 @@ def get_prefix_syntax(g):
bnodes_uriref = find_triples(prefix) bnodes_uriref = find_triples(prefix)
subclass_data = [] subclass_data = []
for per in bnodes_uriref: for per in bnodes_uriref:
tmp = get_instances_list(str(per)) tmp = get_instances_list(str(per), g)
bnodes_uriref.extend(tmp) bnodes_uriref.extend(tmp)
for i in tmp: for i in tmp:
subclass_data.append(i) subclass_data.append(i)
...@@ -749,14 +740,14 @@ def get_prefix_verbs(g): ...@@ -749,14 +740,14 @@ def get_prefix_verbs(g):
prefix_list = [] prefix_list = []
verblist =[] verblist =[]
out_list = [] out_list = []
get_prefix = get_instances_list("RBO#Prefix") get_prefix = get_instances_list("RBO#Prefix", g)
for prefix in get_prefix: for prefix in get_prefix:
prefix_list.extend(get_instances_list(prefix)) prefix_list.extend(get_instances_list(prefix, g))
for prefix in prefix_list: for prefix in prefix_list:
bnodes_uriref = find_triples(prefix) bnodes_uriref = find_triples(prefix)
subclass_data = [] subclass_data = []
for per in bnodes_uriref: for per in bnodes_uriref:
tmp = get_instances_list(str(per)) tmp = get_instances_list(str(per), g)
bnodes_uriref.extend(tmp) bnodes_uriref.extend(tmp)
for i in tmp: for i in tmp:
subclass_data.append(i) subclass_data.append(i)
...@@ -781,12 +772,12 @@ def get_prefix_verbs(g): ...@@ -781,12 +772,12 @@ def get_prefix_verbs(g):
'''The new prefix syntaxt parser''' '''The new prefix syntaxt parser'''
def get_prefix_new_syntax(): def get_prefix_new_syntax(g):
bnodes = [] bnodes = []
prefix_list = [] prefix_list = []
get_prefix = get_instances_list("RBO#Prefix") get_prefix = get_instances_list("RBO#Prefix", g)
for prefix in get_prefix: for prefix in get_prefix:
prefix_list.extend(get_instances_list(prefix)) prefix_list.extend(get_instances_list(prefix, g))
#owl:allValuesFrom #owl:allValuesFrom
for prefix in prefix_list: for prefix in prefix_list:
per = URIRef("http://delab.csd.auth.gr/ontologies/2018/RBO#" + prefix) per = URIRef("http://delab.csd.auth.gr/ontologies/2018/RBO#" + prefix)
...@@ -795,7 +786,7 @@ def get_prefix_new_syntax(): ...@@ -795,7 +786,7 @@ def get_prefix_new_syntax():
subclass_data = [] subclass_data = []
#print(bnodes_uriref) #print(bnodes_uriref)
for per in bnodes_uriref: for per in bnodes_uriref:
tmp = get_instances_list(str(per)) tmp = get_instances_list(str(per), g)
bnodes_uriref.extend(tmp) bnodes_uriref.extend(tmp)
for i in tmp: for i in tmp:
subclass_data.append(i) subclass_data.append(i)
......
...@@ -45,7 +45,7 @@ urlpatterns = [ ...@@ -45,7 +45,7 @@ urlpatterns = [
#Dictionary #Dictionary
path('groupboilerplates/<int:groupboil>/dictionary/', main_req_views.DictionaryViewSet.as_view(), name='dictionary'), path('groupboilerplates/<int:groupboil>/dictionary/', main_req_views.DictionaryViewSet.as_view(), name='dictionary'),
path('mainsyntax/', main_req_views.MainSyntaxViewSet.as_view(), name='mainsyntax'), path('groupboilerplates/<int:groupboil>/mainsyntax/', main_req_views.MainSyntaxViewSet.as_view(), name='mainsyntax'),
#Search In Ontology #Search In Ontology
path('groupboilerplates/<int:groupboil>/search/<str:instance>/', main_req_views.SearchinOntologyAPIView.as_view(), name='setmainchoices'), path('groupboilerplates/<int:groupboil>/search/<str:instance>/', main_req_views.SearchinOntologyAPIView.as_view(), name='setmainchoices'),
......
...@@ -12,12 +12,12 @@ from reqman.apps.reqtool.rest_api.serializers.main_req import MainSerializer ...@@ -12,12 +12,12 @@ from reqman.apps.reqtool.rest_api.serializers.main_req import MainSerializer
from reqman.apps.permissions import IsOwnerOrReadOnly from reqman.apps.permissions import IsOwnerOrReadOnly
from reqman.apps.reqtool.rest_api.services import fuseki, inference from reqman.apps.reqtool.rest_api.services import fuseki, inference
from reqman.apps.reqtool.rest_api.services.parse_ontologies import Dictionary_Data_list, Ontology_file from reqman.apps.reqtool.rest_api.services.parse_ontologies import Dictionary_Data_list, Ontology_file, get_main_sytax, get_main_sytax_inference
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from reqman.apps.reqtool.models.main_req import SHALL_CHOICES, MAIN_SYNTAX from reqman.apps.reqtool.models.main_req import SHALL_CHOICES #, MAIN_SYNTAX
from reqman.apps.reqtool.models.requirements import BoilerplateData, BoilerplateGroupClassesInstances, BoilerplateGroupDictionary from reqman.apps.reqtool.models.requirements import BoilerplateData, BoilerplateGroupClassesInstances, BoilerplateGroupDictionary
from rest_framework.exceptions import APIException from rest_framework.exceptions import APIException
...@@ -512,8 +512,13 @@ class DictionaryViewSet(ListAPIView): ...@@ -512,8 +512,13 @@ class DictionaryViewSet(ListAPIView):
return queryset_cl return queryset_cl
class MainSyntaxViewSet(APIView): class MainSyntaxViewSet(APIView):
serializer_class = BoilerplateGroupClassesInstances
def get(self, request): def get(self, request, groupboil, format=None):
data = BoilerplateGroupClassesInstances.objects.filter(classes_instances_group_of_boilerplate = groupboil)
g = Graph()
g.load(data.values('ontology_file')[0]['ontology_file'], format="turtle")
MAIN_SYNTAX = get_main_sytax(g)
response = Response(MAIN_SYNTAX) response = Response(MAIN_SYNTAX)
return response return response
......
...@@ -66,8 +66,9 @@ pillow==6.1.0 ...@@ -66,8 +66,9 @@ pillow==6.1.0
rdflib==5.0.0 rdflib==5.0.0
sparqlwrapper==1.8.5 sparqlwrapper==1.8.5
django-jsonfield==1.4.1 django-jsonfield==1.4.1
djangorestframework-jwt==1.5.2 djangorestframework-jwt==1.6 #djangorestframework-jwt==1.5.2
drf-jwt==1.17.3 drf-jwt==1.17.3
django-cors-headers
# The following packages are considered to be unsafe in a requirements file: # The following packages are considered to be unsafe in a requirements file:
# setuptools==41.2.0 # via ipdb, ipython # setuptools==41.2.0 # via ipdb, ipython
FROM python:latest FROM python:3.7
# Install OpenJDK-11 for shacl inferencing
RUN apt-get update && \
apt-get install -y openjdk-11-jre-headless && \
apt-get clean;
RUN mkdir Ontologies
WORKDIR /Ontologies
COPY Ontologies/ /Ontologies/
WORKDIR /api WORKDIR /api
COPY api/ /api/ COPY api/ /api/
RUN chmod -R 777 reqman/apps/reqtool/rest_api/services/shacl-1.4.2/
COPY build/docker-entrypoint-api.sh /api/ COPY build/docker-entrypoint-api.sh /api/
RUN ["chmod", "+x", "/api/docker-entrypoint-api.sh"] RUN ["chmod", "+x", "/api/docker-entrypoint-api.sh"]
RUN ["pip", "install", "-r", "requirements/dev.txt"] RUN ["pip3", "install", "-r", "requirements/dev.txt"]
ENTRYPOINT ["/api/docker-entrypoint-api.sh"] ENTRYPOINT ["/api/docker-entrypoint-api.sh"]
......
...@@ -2,6 +2,14 @@ ...@@ -2,6 +2,14 @@
cd /api/ cd /api/
python manage.py migrate #create static file for css django admin
mkdir reqman/static
python manage.py collectstatic
#make migrations of models
python manage.py makemigrations account
python manage.py makemigrations common
python manage.py makemigrations reqtool
python manage.py migrate --run-syncdb
exec "$@" exec "$@"
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment