diff --git a/Dockerfile b/Dockerfile index 1df07e1..ace44b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,9 @@ FROM node:12-alpine as build WORKDIR /opt/bgpalerter COPY . . +# Makes the final image respect /etc/timezone configuration +RUN apk add --no-cache tzdata + RUN npm install ENTRYPOINT ["npm"] diff --git a/docs/friends.md b/docs/friends.md index 758685b..a2960d0 100644 --- a/docs/friends.md +++ b/docs/friends.md @@ -15,4 +15,7 @@ Please, let me know so I can add your company name here. * HEAnet (AS1213) * Tech Futures (AS394256) * Fastly (AS54113) +* EDGOO Networks (AS47787) +* IT.Gate (AS12779) +* Sky (AS5607) * SBTAP (AS59715) diff --git a/index.js b/index.js index b70f06b..0140ac7 100644 --- a/index.js +++ b/index.js @@ -167,7 +167,7 @@ switch(params._[0]) { append: !!params.A, logger: null, getCurrentPrefixesList: () => { - return Promise.resolve(yaml.safeLoad(fs.readFileSync(params.o, "utf8"))); + return Promise.resolve(yaml.load(fs.readFileSync(params.o, "utf8"))); } }; diff --git a/package-lock.json b/package-lock.json index 47f6440..9730813 100644 --- a/package-lock.json +++ b/package-lock.json @@ -145,13 +145,19 @@ "@babel/types": "^7.12.10" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -222,13 +228,19 @@ "lodash": "^4.17.19" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -244,13 +256,19 @@ "@babel/types": "^7.12.1" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -395,13 +413,19 @@ "@babel/types": "^7.12.1" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -464,13 +488,19 @@ "@babel/types": "^7.12.1" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -493,9 +523,9 @@ "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", "dev": true }, "@babel/helper-wrap-function": { @@ -619,9 +649,9 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4", @@ -992,9 +1022,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", - "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1276,16 +1306,16 @@ } }, "@babel/preset-env": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.10.tgz", - "integrity": "sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", "dev": true, "requires": { "@babel/compat-data": "^7.12.7", "@babel/helper-compilation-targets": "^7.12.5", "@babel/helper-module-imports": "^7.12.5", "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", + "@babel/helper-validator-option": "^7.12.11", "@babel/plugin-proposal-async-generator-functions": "^7.12.1", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/plugin-proposal-dynamic-import": "^7.12.1", @@ -1314,7 +1344,7 @@ "@babel/plugin-transform-arrow-functions": "^7.12.1", "@babel/plugin-transform-async-to-generator": "^7.12.1", "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", "@babel/plugin-transform-classes": "^7.12.1", "@babel/plugin-transform-computed-properties": "^7.12.1", "@babel/plugin-transform-destructuring": "^7.12.1", @@ -1344,18 +1374,24 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.1", "@babel/plugin-transform-unicode-regex": "^7.12.1", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.10", + "@babel/types": "^7.12.11", "core-js-compat": "^3.8.0", "semver": "^5.5.0" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", - "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -1542,47 +1578,47 @@ } }, "@sentry/core": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.29.0.tgz", - "integrity": "sha512-a1sZBJ2u3NG0YDlGvOTwUCWiNjhfmDtAQiKK1o6RIIbcrWy9TlSps7CYDkBP239Y3A4pnvohjEEKEP3v3L3LZQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.0.1.tgz", + "integrity": "sha512-EoxgodyClasI8PA4GyU8Cp88W3R5ebpiLsE7fCcBcOU0DOBRkO8GAZ5IzfCDtYDJ50c9npivum5Oyj2wf8CXYw==", "requires": { - "@sentry/hub": "5.29.0", - "@sentry/minimal": "5.29.0", - "@sentry/types": "5.29.0", - "@sentry/utils": "5.29.0", + "@sentry/hub": "6.0.1", + "@sentry/minimal": "6.0.1", + "@sentry/types": "6.0.1", + "@sentry/utils": "6.0.1", "tslib": "^1.9.3" } }, "@sentry/hub": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.29.0.tgz", - "integrity": "sha512-kcDPQsRG4cFdmqDh+TzjeO7lWYxU8s1dZYAbbl1J4uGKmhNB0J7I4ak4SGwTsXLY6fhbierxr6PRaoNojCxjPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.0.1.tgz", + "integrity": "sha512-pGckNdhKcr7qYVXgSgA/QVGArATcmQu54YFAR5xTnkWVHpAwNmh0fc4CJCc4JBwS/LXSU1Y0nYiLQduVfnv8Cg==", "requires": { - "@sentry/types": "5.29.0", - "@sentry/utils": "5.29.0", + "@sentry/types": "6.0.1", + "@sentry/utils": "6.0.1", "tslib": "^1.9.3" } }, "@sentry/minimal": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.29.0.tgz", - "integrity": "sha512-nhXofdjtO41/caiF1wk1oT3p/QuhOZDYdF/b29DoD2MiAMK9IjhhOXI/gqaRpDKkXlDvd95fDTcx4t/MqqcKXA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.0.1.tgz", + "integrity": "sha512-TQ/M5A+OsxtQJ8dzHwrclxKXpJNdQeM1PUoYhff4BvsOXJScvZb7+Yn0OUEQXEc9pSMNt62tnQy4ct80iAMTHw==", "requires": { - "@sentry/hub": "5.29.0", - "@sentry/types": "5.29.0", + "@sentry/hub": "6.0.1", + "@sentry/types": "6.0.1", "tslib": "^1.9.3" } }, "@sentry/node": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.29.0.tgz", - "integrity": "sha512-Jp32FsfkFSGVf81Hr26rGlgIwTg7Nx07mQ7rrnNuVasu6vD2aWBzUnohkkZDJ4gZRGjmk0MthukjX0RivDKcVQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-6.0.1.tgz", + "integrity": "sha512-PIyPgjYbLhminieGZHTVeFoP3jH+Oluz89PBilfxK5z6vctjBWrXNYAq+WJ49mNY5k0LxFFlonYUGESB9OzTRw==", "requires": { - "@sentry/core": "5.29.0", - "@sentry/hub": "5.29.0", - "@sentry/tracing": "5.29.0", - "@sentry/types": "5.29.0", - "@sentry/utils": "5.29.0", + "@sentry/core": "6.0.1", + "@sentry/hub": "6.0.1", + "@sentry/tracing": "6.0.1", + "@sentry/types": "6.0.1", + "@sentry/utils": "6.0.1", "cookie": "^0.4.1", "https-proxy-agent": "^5.0.0", "lru_map": "^0.3.3", @@ -1590,28 +1626,28 @@ } }, "@sentry/tracing": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.29.0.tgz", - "integrity": "sha512-2ZITUH7Eur7IkmRAd5gw8Xt2Sfc28btCnT7o2P2J8ZPD65e99ATqjxXPokx0+6zEkTsstIDD3mbyuwkpbuvuTA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.0.1.tgz", + "integrity": "sha512-p4laeCu7isrvXiCgM/ix4GU5lckoL2Mw2OI3l93lRYL7fKU8XJs+/2Cybs0J+QY1HP5OTrNIF+VpnJZbpM6MQg==", "requires": { - "@sentry/hub": "5.29.0", - "@sentry/minimal": "5.29.0", - "@sentry/types": "5.29.0", - "@sentry/utils": "5.29.0", + "@sentry/hub": "6.0.1", + "@sentry/minimal": "6.0.1", + "@sentry/types": "6.0.1", + "@sentry/utils": "6.0.1", "tslib": "^1.9.3" } }, "@sentry/types": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.29.0.tgz", - "integrity": "sha512-iDkxT/9sT3UF+Xb+JyLjZ5caMXsgLfRyV9VXQEiR2J6mgpMielj184d9jeF3bm/VMuAf/VFFqrHlcVsVgmrrMw==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.0.1.tgz", + "integrity": "sha512-cEoe19vtam75Tf6eWmaobfbeV8XwBdr5FJoSVTomzcSsEiP2FHGOEhlE7kVBigzeH5Lri0aibiW6BDi1hIqHdg==" }, "@sentry/utils": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.29.0.tgz", - "integrity": "sha512-b2B1gshw2u3EHlAi84PuI5sfmLKXW1z9enMMhNuuNT/CoRp+g5kMAcUv/qYTws7UNnYSvTuVGuZG30v1e0hP9A==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.0.1.tgz", + "integrity": "sha512-bjGuBYnG6fulZ8mLhPGBxttNu96DCN6d7Glw2sfLf4aurn1kjJ/58hP2c8dH0OqWO5e+rGYTsZ5Dr5kqVKNGTg==", "requires": { - "@sentry/types": "5.29.0", + "@sentry/types": "6.0.1", "tslib": "^1.9.3" } }, @@ -1699,6 +1735,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" }, @@ -1706,7 +1743,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true } } }, @@ -1975,9 +2013,9 @@ "dev": true }, "bufferutil": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.2.tgz", - "integrity": "sha512-AtnG3W6M8B2n4xDQ5R+70EXvOpnXsFYg/AK2yTZd+HQ/oxAdz+GI+DvjmhBw3L0ole+LJ0ngqY4JMbDzkfNzhA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", + "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", "optional": true, "requires": { "node-gyp-build": "^4.2.0" @@ -2035,9 +2073,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", + "version": "1.0.30001173", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", + "integrity": "sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==", "dev": true }, "caseless": { @@ -2340,12 +2378,12 @@ "dev": true }, "core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz", + "integrity": "sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==", "dev": true, "requires": { - "browserslist": "^4.15.0", + "browserslist": "^4.16.0", "semver": "7.0.0" }, "dependencies": { @@ -2563,9 +2601,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.621", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.621.tgz", - "integrity": "sha512-FeIuBzArONbAmKmZIsZIFGu/Gc9AVGlVeVbhCq+G2YIl6QkT0TDn2HKN/FMf1btXEB9kEmIuQf3/lBTVAbmFOg==", + "version": "1.3.633", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz", + "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==", "dev": true }, "emoji-regex": { @@ -2654,7 +2692,8 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "estraverse": { "version": "4.3.0", @@ -3711,12 +3750,18 @@ "dev": true }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + } } }, "jsbn": { @@ -4440,9 +4485,9 @@ "dev": true }, "nodemailer": { - "version": "6.4.16", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.16.tgz", - "integrity": "sha512-68K0LgZ6hmZ7PVmwL78gzNdjpj5viqBdFqKrTtr9bZbJYj6BRj5W6WGkxXrEnUl3Co3CBXi3CZBUlpV/foGnOQ==" + "version": "6.4.17", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.17.tgz", + "integrity": "sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ==" }, "normalize-path": { "version": "3.0.0", @@ -4845,9 +4890,9 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "read-last-lines": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/read-last-lines/-/read-last-lines-1.7.2.tgz", - "integrity": "sha512-K0yUvTYAYn6qpyLJufaJ7yC6BeL23qpgZ8SKM7/fA1R1rHotCDxB/zDp9i1I2JHvexWBW6/35jkt07iiIKKp4g==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/read-last-lines/-/read-last-lines-1.8.0.tgz", + "integrity": "sha512-oPL0cnZkhsO2xF7DBrdzVhXSNajPP5TzzCim/2IAjeGb17ArLLTRriI/ceV6Rook3L27mvbrOvLlf9xYYnaftQ==", "dev": true, "requires": { "mz": "^2.7.0" @@ -5738,9 +5783,9 @@ } }, "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "requires": { "any-promise": "^1.0.0" @@ -6014,9 +6059,9 @@ "optional": true }, "utf-8-validate": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.3.tgz", - "integrity": "sha512-jtJM6fpGv8C1SoH4PtG22pGto6x+Y8uPprW0tw3//gGFhDDTiuksgradgFN6yRayDP4SyZZa6ZMGHLIa17+M8A==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", + "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", "optional": true, "requires": { "node-gyp-build": "^4.2.0" @@ -6167,9 +6212,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==" + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" }, "y18n": { "version": "4.0.0", diff --git a/package.json b/package.json index 971c4a4..149ecbf 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@babel/node": "^7.12.10", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/preset-env": "^7.12.10", + "@babel/preset-env": "^7.12.11", "chai": "^4.2.0", "chai-subset": "^1.6.0", "mocha": "^8.2.1", @@ -55,7 +55,7 @@ "syslogd": "^1.1.2" }, "dependencies": { - "@sentry/node": "^5.27.6", + "@sentry/node": "^6.0.0", "axios": "^0.21.1", "batch-promises": "^0.0.3", "brembo": "^2.0.4", @@ -65,17 +65,17 @@ "inquirer": "^7.3.3", "ip-address": "^6.4.0", "ip-sub": "^1.0.17", - "js-yaml": "^3.14.1", + "js-yaml": "^4.0.0", "kafkajs": "^1.15.0", "md5": "^2.3.0", "moment": "^2.29.1", - "nodemailer": "^6.4.16", + "nodemailer": "^6.4.17", "path": "^0.12.7", "restify": "^8.5.1", "rpki-validator": "^2.2.12", "semver": "^7.3.4", "syslog-client": "^1.1.1", - "ws": "^7.4.0", + "ws": "^7.4.2", "yargs": "^16.2.0" }, "pkg": { @@ -94,7 +94,7 @@ ] }, "optionalDependencies": { - "bufferutil": "^4.0.2", + "bufferutil": "^4.0.3", "utf-8-validate": "^5.0.3" } } diff --git a/src/env.js b/src/env.js index c693b61..2a30574 100644 --- a/src/env.js +++ b/src/env.js @@ -155,7 +155,7 @@ const ymlBasicConfig = yaml.dump(config); if (fs.existsSync(vector.configFile)) { try { - config = yaml.safeLoad(fs.readFileSync(vector.configFile, 'utf8')) || config; + config = yaml.load(fs.readFileSync(vector.configFile, 'utf8')) || config; } catch (error) { throw new Error("The file " + vector.configFile + " is not valid yml: " + error.message.split(":")[0]); } @@ -169,7 +169,7 @@ if (fs.existsSync(vector.configFile)) { }) .then((response) => { fs.writeFileSync(vector.configFile, response.data); - yaml.safeLoad(fs.readFileSync(vector.configFile, 'utf8')); // Test readability and format + yaml.load(fs.readFileSync(vector.configFile, 'utf8')); // Test readability and format }) .catch(() => { fs.writeFileSync(vector.configFile, ymlBasicConfig); // Download failed, write simple default config @@ -269,11 +269,16 @@ config.reports = (config.reports || []) return { class: require("./reports/" + item.file).default, - channels: [...item.channels, "software-update"], + channels: item.channels, params: item.params }; }); + +if (!config.reports.some(report => report.channels.includes("software-update"))) { // Check if software-update channel is declared + config.reports.forEach(report => report.channels.push("software-update")); // If not, declare it everywhere +} + config.connectors = config.connectors || []; config.connectors.push({ diff --git a/src/inputs/inputYml.js b/src/inputs/inputYml.js index e66809d..9a66c35 100644 --- a/src/inputs/inputYml.js +++ b/src/inputs/inputYml.js @@ -102,7 +102,7 @@ export default class InputYml extends Input { if (fs.existsSync(file)) { fileContent = fs.readFileSync(file, 'utf8'); try { - monitoredPrefixesFile = yaml.safeLoad(fileContent) || {}; + monitoredPrefixesFile = yaml.load(fileContent) || {}; this._watchPrefixFile(file); } catch (error) { reject(new Error("The file " + prefixesFile + " is not valid yml: " + error.message.split(":")[0])); diff --git a/tests/generate_tests/tests.js b/tests/generate_tests/tests.js index 2df0d77..a431a0f 100644 --- a/tests/generate_tests/tests.js +++ b/tests/generate_tests/tests.js @@ -70,8 +70,8 @@ describe("Prefix List", function() { const result = fs.readFileSync(outputFile, 'utf8'); fs.unlinkSync(outputFile); const original = fs.readFileSync(originalFile, 'utf8'); - const resultJson = yaml.safeLoad(result) || {}; - const originalJson = yaml.safeLoad(original) || {}; + const resultJson = yaml.load(result) || {}; + const originalJson = yaml.load(original) || {}; expect(resultJson).to.contain.keys(Object.keys(originalJson)); expect(Object.keys(resultJson).length).to.equal(Object.keys(originalJson).length); @@ -109,8 +109,8 @@ describe("Prefix List", function() { const result = fs.readFileSync(outputFile, 'utf8'); fs.unlinkSync(outputFile); const original = fs.readFileSync(originalFile, 'utf8'); - const resultJson = yaml.safeLoad(result) || {}; - const originalJson = yaml.safeLoad(original) || {}; + const resultJson = yaml.load(result) || {}; + const originalJson = yaml.load(original) || {}; expect(resultJson).to.contain.keys(Object.keys(originalJson)); expect(Object.keys(resultJson).length).to.equal(Object.keys(originalJson).length); @@ -141,7 +141,7 @@ describe("Prefix List", function() { append: true, logger: () => {}, getCurrentPrefixesList: () => { - const content = yaml.safeLoad(fs.readFileSync(outputFile, "utf8")); + const content = yaml.load(fs.readFileSync(outputFile, "utf8")); return Promise.resolve(content); } } @@ -154,8 +154,8 @@ describe("Prefix List", function() { const result = fs.readFileSync(outputFile, 'utf8'); fs.unlinkSync(outputFile); const original = fs.readFileSync(originalFile, 'utf8'); - const resultJson = yaml.safeLoad(result) || {}; - const originalJson = yaml.safeLoad(original) || {}; + const resultJson = yaml.load(result) || {}; + const originalJson = yaml.load(original) || {}; expect(resultJson).to.contain.keys(Object.keys(originalJson)); expect(Object.keys(resultJson).length).to.equal(Object.keys(originalJson).length);