diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index 9356df98..35e92608 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x] + node-version: [12.x, 14.x, 16.x] steps: - name: Checkout uses: actions/checkout@v2 diff --git a/__tests__/server/middleware/__snapshots__/createRequestHtmlFragment.spec.js.snap b/__tests__/server/middleware/__snapshots__/createRequestHtmlFragment.spec.js.snap index e14b4a7d..e5d5dd6b 100644 --- a/__tests__/server/middleware/__snapshots__/createRequestHtmlFragment.spec.js.snap +++ b/__tests__/server/middleware/__snapshots__/createRequestHtmlFragment.spec.js.snap @@ -1,12 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`createRequestHtmlFragment should catch any errors and call the next middleware 1`] = ` -Array [ - "error creating request HTML fragment for http://example.com/request", - [TypeError: Cannot read property 'dispatch' of undefined], -] -`; - exports[`createRequestHtmlFragment should preload data for matched route components 1`] = ` Array [ Object { diff --git a/__tests__/server/middleware/createRequestHtmlFragment.spec.js b/__tests__/server/middleware/createRequestHtmlFragment.spec.js index f76a1055..970c0a76 100644 --- a/__tests__/server/middleware/createRequestHtmlFragment.spec.js +++ b/__tests__/server/middleware/createRequestHtmlFragment.spec.js @@ -245,6 +245,16 @@ describe('createRequestHtmlFragment', () => { it('should catch any errors and call the next middleware', () => { expect.assertions(3); + let error; + try { + let empty; + // Creating an error reading properties of undefined for tests to work in + // both Node 12 and 16 where the message has changed. + // eslint-disable-next-line no-unused-expressions + empty.dispatch; + } catch (err) { + error = err; + } const createRequestHtmlFragment = require( '../../../src/server/middleware/createRequestHtmlFragment' ).default; @@ -255,7 +265,7 @@ describe('createRequestHtmlFragment', () => { console.error = jest.fn(); middleware(req, res, next); expect(console.error).toHaveBeenCalled(); - expect(console.error.mock.calls[0]).toMatchSnapshot(); + expect(console.error.mock.calls[0]).toEqual(['error creating request HTML fragment for http://example.com/request', error]); expect(next).toHaveBeenCalled(); /* eslint-enable no-console */ }); diff --git a/package-lock.json b/package-lock.json index 63848d42..1ac412ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,14 +42,13 @@ } }, "@americanexpress/one-app-bundler": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@americanexpress/one-app-bundler/-/one-app-bundler-6.12.0.tgz", - "integrity": "sha512-3Lhowyvtva97NRZ0HetfXmPDUSWKGAHl+fnfvoGJgMqHrZKBG8Mh9VBUGBs6zU0dekb11iBspNH+zhqP7Fty0Q==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/@americanexpress/one-app-bundler/-/one-app-bundler-6.14.1.tgz", + "integrity": "sha512-1cDQQ6k3UZjyuvvJZOXZYz8S8v/Qp0JmROQF+V93/8jMLznetu9Kor2UjfchXLJRGhj879lfcmrLecP0MEfzdQ==", "requires": { "@americanexpress/eslint-plugin-one-app": "^6.12.0", - "@americanexpress/one-app-locale-bundler": "^6.5.0", + "@americanexpress/one-app-locale-bundler": "^6.5.1", "@americanexpress/purgecss-loader": "^2.0.0", - "@hapi/joi": "^17.1.1", "ajv": "^6.7.0", "babel-loader": "^8.0.6", "babel-preset-amex": "^3.2.0", @@ -59,12 +58,12 @@ "enhanced-resolve": "^4.1.0", "eslint-loader": "^2.1.1", "expose-loader": "^0.7.5", - "fibers": "^4.0.1", "file-loader": "^6.0.0", "folder-hash": "^3.3.0", "glob": "^7.1.3", "holocron-module-register-webpack-plugin": "^1.0.0-0", "html-webpack-plugin": "^3.2.0", + "joi": "^17.1.1", "loader-utils": "^1.2.3", "lodash": "^4.17.20", "mkdirp": "^0.5.1", @@ -95,6 +94,15 @@ "supports-color": "^5.3.0" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -179,17 +187,6 @@ "find-up": "^4.1.0", "read-pkg": "^5.2.0", "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - } } }, "rimraf": { @@ -201,9 +198,9 @@ } }, "y18n": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.7.tgz", - "integrity": "sha512-oOhslryvNcA1lB9WYr+M6TMyLkLg81Dgmyb48ZDU0lvR+5bmNDTMz7iobM1QXooaLhbbrcHrlNaABhI6Vo6StQ==" + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yargs": { "version": "16.2.0", @@ -503,9 +500,9 @@ } }, "@americanexpress/one-app-locale-bundler": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@americanexpress/one-app-locale-bundler/-/one-app-locale-bundler-6.5.0.tgz", - "integrity": "sha512-Z3HIjIuvFoOgce1/fA83SuqFR7JB1MKI2lmaix+7gLNuRdGNdD0P726J2RxfxiiMVX0ENwc3Abe/T3FyE1hQ/w==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@americanexpress/one-app-locale-bundler/-/one-app-locale-bundler-6.5.1.tgz", + "integrity": "sha512-U8Qomj5Qz8CnS7gUCvt4dd3i8vZpDt/mShmCMGsfND3Qgti4quOnyfXIONgbh7SZQIX8dJCQh3i7m/J7Nb7OsQ==", "requires": { "chokidar": "^3.0.0", "glob": "^7.1.2", @@ -3584,6 +3581,11 @@ } } }, + "@gar/promisify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", + "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + }, "@hapi/address": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-4.1.0.tgz", @@ -3602,18 +3604,6 @@ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.0.4.tgz", "integrity": "sha512-EwaJS7RjoXUZ2cXXKZZxZqieGtc7RbvQhUy8FwDoMQtxWVi14tFjeFCYPZAM1mBCpOpiBpyaZbb9NeHc7eGKgw==" }, - "@hapi/joi": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-17.1.1.tgz", - "integrity": "sha512-p4DKeZAoeZW4g3u7ZeRo+vCDuSDgSvtsB/NpfjXEHTUjSeINAi/RrVOWiVQ1isaoLzMvFEhe8n5065mQq1AdQg==", - "requires": { - "@hapi/address": "^4.0.1", - "@hapi/formula": "^2.0.0", - "@hapi/hoek": "^9.0.0", - "@hapi/pinpoint": "^2.0.0", - "@hapi/topo": "^5.0.0" - } - }, "@hapi/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.0.tgz", @@ -4058,6 +4048,38 @@ "dev": true, "optional": true }, + "@npmcli/fs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", + "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, "@npmcli/move-file": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", @@ -4491,9 +4513,9 @@ } }, "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/keyv": { "version": "3.1.1", @@ -5651,9 +5673,9 @@ } }, "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", @@ -5662,15 +5684,24 @@ }, "dependencies": { "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -5719,17 +5750,6 @@ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "requires": { "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - } } }, "semver": { @@ -6477,9 +6497,9 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "requires": { "figgy-pudding": "^3.5.1" } @@ -6784,12 +6804,9 @@ } }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, "ci-info": { "version": "1.6.0", @@ -6834,9 +6851,9 @@ } }, "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", "requires": { "source-map": "~0.6.0" }, @@ -7847,10 +7864,21 @@ "dev": true, "requires": { "hosted-git-info": "^3.0.6", + "resolve": "^1.17.0", "semver": "^7.3.2", "validate-npm-package-license": "^3.0.1" }, "dependencies": { + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, "semver": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", @@ -9535,11 +9563,6 @@ "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", "dev": true }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -9617,6 +9640,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, "requires": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -9625,7 +9649,8 @@ "domelementtype": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true } } }, @@ -9646,7 +9671,8 @@ "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, "domexception": { "version": "2.0.1", @@ -9669,6 +9695,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, "requires": { "domelementtype": "1" } @@ -9677,6 +9704,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, "requires": { "dom-serializer": "0", "domelementtype": "1" @@ -11377,14 +11405,6 @@ "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.3.0.tgz", "integrity": "sha512-ZtijOTFN7TzCujt1fnNhfWPFPSHeZkesff9AXZj+UEjYBynWNUIYpC87Ve4wHzyexQsImicLu7WsC2LHq7/xrQ==" }, - "fibers": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fibers/-/fibers-4.0.3.tgz", - "integrity": "sha512-MW5VrDtTOLpKK7lzw4qD7Z9tXaAhdOmOED5RHzg3+HjUk+ibkjVW0Py2ERtdqgTXaerLkVkBy2AEmJiT6RMyzg==", - "requires": { - "detect-libc": "^1.0.3" - } - }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -11442,9 +11462,9 @@ } }, "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -11452,11 +11472,11 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -12908,6 +12928,7 @@ "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, "requires": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", @@ -12920,12 +12941,14 @@ "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13302,11 +13325,6 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -16540,9 +16558,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "optional": true }, "nanomatch": { @@ -16823,6 +16841,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, "requires": { "boolbase": "~1.0.0" } @@ -17537,9 +17556,9 @@ } }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -17758,13 +17777,11 @@ } }, "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, @@ -18608,40 +18625,89 @@ "optional": true }, "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" }, "dependencies": { "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "requires": { "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" } }, "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "requires": { + "domelementtype": "^2.2.0" + } }, "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "boolbase": "^1.0.0" } } } @@ -19023,11 +19089,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.32.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", - "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==", + "version": "1.43.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.4.tgz", + "integrity": "sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg==", "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0" } }, "sass-loader": { @@ -19051,9 +19117,9 @@ } }, "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -20100,9 +20166,9 @@ } }, "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -20410,10 +20476,11 @@ } }, "cacache": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", - "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "requires": { + "@npmcli/fs": "^1.0.0", "@npmcli/move-file": "^1.0.1", "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -20444,19 +20511,23 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } }, "locate-path": { "version": "5.0.0", @@ -20524,25 +20595,14 @@ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "requires": { "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - } } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -20566,9 +20626,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -20582,21 +20642,14 @@ "minipass": "^3.1.1" } }, - "supports-color": { - "version": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, "terser": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", - "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "dependencies": { "source-map": { @@ -20829,7 +20882,8 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true }, "tty-browserify": { "version": "0.0.0", @@ -21048,11 +21102,6 @@ "set-value": "^2.0.1" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -21357,9 +21406,9 @@ } }, "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -21367,24 +21416,24 @@ } }, "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" }, "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "requires": { - "mime-db": "1.47.0" + "mime-db": "1.51.0" } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -22043,9 +22092,9 @@ "integrity": "sha512-CV3UkOo1dCz06fkOG+zmNyuqLm9kWm6j5dReNiRGs48wAV+9DpeTAtyBMnBEckbNBTtvhSujI4yFcC0nRhzA1Q==" }, "webpack-dynamic-public-path": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/webpack-dynamic-public-path/-/webpack-dynamic-public-path-1.0.6.tgz", - "integrity": "sha512-EnJThkswMeq450dCrLNoDn3ZxToDIxagVME6JPrEGQ980X/JBTMuHS36RexqRH4v6tz0Ee5w5OjkGY3z/o6UfQ==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/webpack-dynamic-public-path/-/webpack-dynamic-public-path-1.0.8.tgz", + "integrity": "sha512-AF6onorpvmiC+I/dQ19SOi+oN66oEy9h4deam7gPs1Qa1mOQ9i7IRsOahaukohKAciys7NfX+YFboRn4rmpuKw==" }, "webpack-merge": { "version": "4.2.2", diff --git a/package.json b/package.json index adf3e92e..7efb2ea3 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@americanexpress/env-config-utils": "^2.0.2", "@americanexpress/fetch-enhancers": "^1.1.1", "@americanexpress/lumberjack": "^1.1.4", - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "@americanexpress/one-app-ducks": "^4.3.3", "@americanexpress/one-app-router": "^1.1.0", "@americanexpress/vitruvius": "^2.0.2", diff --git a/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json b/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json index e3c4920b..b638ecdb 100644 --- a/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json +++ b/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json @@ -19,7 +19,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-eslint": "^7.2.3", "babel-preset-amex": "^3.5.0", "eslint": "^6.8.0", diff --git a/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json b/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json index b971cbaa..8bcfa754 100644 --- a/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json +++ b/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json @@ -19,7 +19,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" }, diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json index 2bfeb826..7808dcb9 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json @@ -23,7 +23,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json index 3a19322e..86488438 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json @@ -22,7 +22,7 @@ "redux": "^3.0.6" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json index f6eba185..4cca1795 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json @@ -24,7 +24,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" }, diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json index f4b99080..064829b0 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json @@ -24,7 +24,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2", "webpack": "^4.46.0" diff --git a/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json b/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json index 73c40651..142b89b5 100644 --- a/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json +++ b/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json @@ -14,7 +14,7 @@ "react": "^16.14.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/franks-burgers/0.0.0/package.json b/prod-sample/sample-modules/franks-burgers/0.0.0/package.json index 29c4d739..8c4e5ce3 100644 --- a/prod-sample/sample-modules/franks-burgers/0.0.0/package.json +++ b/prod-sample/sample-modules/franks-burgers/0.0.0/package.json @@ -12,7 +12,7 @@ "react": "^16.14.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.1", "rimraf": "^3.0.1" } diff --git a/prod-sample/sample-modules/healthy-frank/0.0.0/package.json b/prod-sample/sample-modules/healthy-frank/0.0.0/package.json index e6f5e7d8..76d4fa39 100644 --- a/prod-sample/sample-modules/healthy-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/healthy-frank/0.0.0/package.json @@ -17,7 +17,7 @@ "react-redux": "^7.2.4" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/late-frank/0.0.0/package.json b/prod-sample/sample-modules/late-frank/0.0.0/package.json index f717b6aa..39e84ab7 100644 --- a/prod-sample/sample-modules/late-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/late-frank/0.0.0/package.json @@ -14,7 +14,7 @@ "react": "^16.14.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.1", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/late-frank/0.0.1/package.json b/prod-sample/sample-modules/late-frank/0.0.1/package.json index 2f5c9da2..713b99ed 100644 --- a/prod-sample/sample-modules/late-frank/0.0.1/package.json +++ b/prod-sample/sample-modules/late-frank/0.0.1/package.json @@ -14,7 +14,7 @@ "react-intl": "^3.12.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" }, diff --git a/prod-sample/sample-modules/late-frank/0.0.2/package.json b/prod-sample/sample-modules/late-frank/0.0.2/package.json index b6da2752..7e77c82b 100644 --- a/prod-sample/sample-modules/late-frank/0.0.2/package.json +++ b/prod-sample/sample-modules/late-frank/0.0.2/package.json @@ -13,7 +13,7 @@ "react": "^16.14.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" }, diff --git a/prod-sample/sample-modules/needy-frank/0.0.0/package.json b/prod-sample/sample-modules/needy-frank/0.0.0/package.json index bed49d79..27238826 100644 --- a/prod-sample/sample-modules/needy-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/needy-frank/0.0.0/package.json @@ -23,7 +23,7 @@ "redux-thunk": "^2.3.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" }, diff --git a/prod-sample/sample-modules/needy-frank/0.0.1/package.json b/prod-sample/sample-modules/needy-frank/0.0.1/package.json index 2d829b02..cf282455 100644 --- a/prod-sample/sample-modules/needy-frank/0.0.1/package.json +++ b/prod-sample/sample-modules/needy-frank/0.0.1/package.json @@ -23,7 +23,7 @@ "redux-thunk": "^2.3.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" }, diff --git a/prod-sample/sample-modules/picky-frank/0.0.0/package.json b/prod-sample/sample-modules/picky-frank/0.0.0/package.json index eef059c8..86d0211a 100644 --- a/prod-sample/sample-modules/picky-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/picky-frank/0.0.0/package.json @@ -14,7 +14,7 @@ "react": "^16.14.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/picky-frank/0.0.1/package.json b/prod-sample/sample-modules/picky-frank/0.0.1/package.json index c879bafc..0a0ed7ba 100644 --- a/prod-sample/sample-modules/picky-frank/0.0.1/package.json +++ b/prod-sample/sample-modules/picky-frank/0.0.1/package.json @@ -14,7 +14,7 @@ "react": "^16.14.0" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/preview-frank/0.0.0/package.json b/prod-sample/sample-modules/preview-frank/0.0.0/package.json index cefcd9bc..0b1eb593 100644 --- a/prod-sample/sample-modules/preview-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/preview-frank/0.0.0/package.json @@ -17,7 +17,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/ssr-frank/0.0.0/package.json b/prod-sample/sample-modules/ssr-frank/0.0.0/package.json index d1689f34..6f6ecc07 100644 --- a/prod-sample/sample-modules/ssr-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/ssr-frank/0.0.0/package.json @@ -15,7 +15,7 @@ "react-helmet": "^5.2.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.1", "rimraf": "^2.5.2" } diff --git a/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json b/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json index fe8b7bb8..247544ba 100644 --- a/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json +++ b/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json @@ -16,7 +16,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.1", "rimraf": "^2.6.2" } diff --git a/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json b/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json index 92afa3e3..a80f8e2e 100644 --- a/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json +++ b/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json @@ -16,7 +16,7 @@ "redux": "^4.1.1" }, "devDependencies": { - "@americanexpress/one-app-bundler": "^6.12.0", + "@americanexpress/one-app-bundler": "^6.14.1", "babel-preset-amex": "^3.5.0", "rimraf": "^2.6.2" } diff --git a/scripts/build-one-app-docker-setup.js b/scripts/build-one-app-docker-setup.js index 9d6912a5..e488850a 100644 --- a/scripts/build-one-app-docker-setup.js +++ b/scripts/build-one-app-docker-setup.js @@ -102,7 +102,14 @@ const doWork = async () => { ); } - const extraCertsExists = await fs.exists(path.join(sampleProdDir, 'extra-certs.pem')); + let extraCertsExists = true; + + try { + await fs.access(path.join(sampleProdDir, 'extra-certs.pem')); + } catch (err) { + extraCertsExists = false; + } + if (extraCertsExists) { await fs.unlink(path.join(sampleProdDir, 'extra-certs.pem')); console.log('✅ Removed old extra-certs.pem'); diff --git a/src/server/utils/heapdump.js b/src/server/utils/heapdump.js index 0d7b0256..0f576b5a 100644 --- a/src/server/utils/heapdump.js +++ b/src/server/utils/heapdump.js @@ -15,10 +15,12 @@ */ import fs from 'fs'; import v8 from 'v8'; -import { pipeline } from 'stream'; +import { finished } from 'stream'; import { promisify } from 'util'; -const pipelinePromise = promisify(pipeline); +// Use `promisify(finished)` instead of importing from `stream/promises` for Node 12 compatibility +// TODO: switch to import from `stream/promises` in v6.0.0 release when Node 12 support is dropped +const finishedPromise = promisify(finished); // --report-on-signal added which also listens on SIGUSR2 by default // https://nodejs.org/api/report.html @@ -32,11 +34,12 @@ if (process.execArgv.includes('--report-on-signal')) { process.on('SIGUSR2', async () => { const targetFilename = `/tmp/heapdump-${process.pid}-${Date.now()}.heapsnapshot`; console.warn(`about to write a heapdump to ${targetFilename}`); + const heapStream = v8.getHeapSnapshot(); + const fileStream = fs.createWriteStream(targetFilename); + try { - await pipelinePromise( - v8.getHeapSnapshot(), - fs.createWriteStream(targetFilename) - ); + heapStream.pipe(fileStream); + await finishedPromise(fileStream); } catch (err) { console.error('unable to write heapdump', err); return;