From 9e66d6be6c81adc15651537e1b34d48e4ac4432a Mon Sep 17 00:00:00 2001 From: Kevin Chu Date: Fri, 2 Jul 2021 10:22:31 -0700 Subject: [PATCH] feat(localization): merc-7830 support for region translations --- lib/regions.js | 44 +++- lib/regions.spec.js | 14 +- lib/validator/schema-translations.js | 10 +- package-lock.json | 334 +++++++-------------------- package.json | 2 +- 5 files changed, 137 insertions(+), 267 deletions(-) diff --git a/lib/regions.js b/lib/regions.js index b9445009..35b2eb85 100644 --- a/lib/regions.js +++ b/lib/regions.js @@ -73,22 +73,56 @@ function buildPageTemplate(templates, page) { return pageTemplate; } +/** + * Returns a boolean if there are two regions with the same name + * @param {Object} regions + * @param {Object} regionData + * @returns {boolean} + */ +function checkDuplicateRegionName(regions, regionData) { + let result = false; + const regionsArray = Array.from(regions); + for (let i = 0; i < regionsArray.length; i += 1) { + if (regionsArray[i].name === regionData.name) { + result = true; + break; + } + } + + return result; +} + /** * Parse a template content and return an array of unique region objects * @param {string} content * @returns {Array} */ function parseRegions(content) { - const regionRegex = /{{3}\s*region\s+.*?name=["|']([\w-]+)["|'].*?}{3}/g; + const regionRegex = /{{3}\s*region\s+.*?name=["|']([\w-]+)["|'].*?}{3}?/g; + const translationRegex = /{{3}.*?\stranslation=["|'](i18n.RegionName.([\w-])+)["|'].*?}{3}?/g; const regions = new Set(); - let match; + let regionMatch; + const translationMatch = translationRegex.exec(content); // eslint-disable-next-line - while ((match = regionRegex.exec(content))) { - regions.add(match[1]); + while ((regionMatch = regionRegex.exec(content))) { + const regionData = {}; + // eslint-disable-next-line prefer-destructuring + regionData.name = regionMatch[1]; + + // If there is a translation match and regionName match is valid, add data to region + if (translationMatch && regionMatch[1]) { + // eslint-disable-next-line prefer-destructuring + regionData.translation = translationMatch[1]; + } + + if (!checkDuplicateRegionName(regions, regionData)) { + regions.add(regionData); + } } + const regionArray = Array.from(regions); - return Array.from(regions).map((name) => ({ name })); + return regionArray.map(({ name, translation }) => ({ name, translation })); } /** diff --git a/lib/regions.spec.js b/lib/regions.spec.js index 727c865d..2eee105d 100644 --- a/lib/regions.spec.js +++ b/lib/regions.spec.js @@ -53,14 +53,20 @@ describe('Stencil Bundle', () => { describe('Regions', () => { describe('parseRegions', () => { const map = { - '{{{region name="_foobar"}}}': [{ name: '_foobar' }], - '{{{ region name="foo-bar"}}}': [{ name: 'foo-bar' }], - '{{{ region name="foobar__"}}}': [{ name: 'foobar__' }], + '{{{region translation="i18n.RegionName.TestingTranslation" name="_foobar"}}}': [ + { name: '_foobar', translation: 'i18n.RegionName.TestingTranslation' }, + ], + '{{{ region name="foo-bar" translation="i18n.RegionName.Testing-translations" }}}': [ + { name: 'foo-bar', translation: 'i18n.RegionName.Testing-translations' }, + ], + '{{{ region name="foobar__" translation="testing-without-i18n-prefix"}}}': [ + { name: 'foobar__' }, + ], '{{{ region name="foo_bar" }}}': [{ name: 'foo_bar' }], '{{{ region name="foo-_bar" }}}': [{ name: 'foo-_bar' }], '{{{ region name="foobar1" }}}': [{ name: 'foobar1' }], '{{{ region name=" " }}}': [], - '{{{ region name="invalid name" }}}': [], + '{{{ region name="invalid name" translation="i18n.RegionName.ValidTranslation"}}}': [], '{{ region name="two_brackets" }}': [], "{{{ region name='foobar' }}}": [{ name: 'foobar' }], '{{{region name="foobar" type="widget"}}}': [{ name: 'foobar' }], diff --git a/lib/validator/schema-translations.js b/lib/validator/schema-translations.js index 4fd180f2..5e3bb431 100644 --- a/lib/validator/schema-translations.js +++ b/lib/validator/schema-translations.js @@ -94,7 +94,15 @@ class ValidatorSchemaTranslations { * @returns {array} */ findUnusedKeys() { - return this.translationsKeys.filter((key) => !this.schemaKeys.includes(key)); + return this.translationsKeys.filter((key) => { + const translationRegex = /^i18n.RegionName.*?/g; + const translationMatch = translationRegex.exec(key); + if (translationMatch) { + return false; + } + + return !this.schemaKeys.includes(key); + }); } /** diff --git a/package-lock.json b/package-lock.json index 8004fe1d..4010382b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -683,32 +683,19 @@ } }, "@bigcommerce/stencil-paper": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@bigcommerce/stencil-paper/-/stencil-paper-3.0.0-rc.31.tgz", - "integrity": "sha512-rhFiLiYAX60AmvrTVU++5vACOge5L5CC4SlSAwpMWtLv1RBKDnpNQQRWz2jk4EQqumeF9qcuZngze2d1B5+7KA==", - "requires": { - "@bigcommerce/stencil-paper-handlebars": "4.4.1", - "accept-language-parser": "~1.4.1", - "lodash": "~3.10.1", - "messageformat": "~0.2.2" - }, - "dependencies": { - "accept-language-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/accept-language-parser/-/accept-language-parser-1.4.1.tgz", - "integrity": "sha1-OHdPqbgtHzj3MVr0QxZaIZDMgnY=" - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } + "version": "3.0.0-rc.48", + "resolved": "https://registry.npmjs.org/@bigcommerce/stencil-paper/-/stencil-paper-3.0.0-rc.48.tgz", + "integrity": "sha512-RIsm0sH9nRMInmEQ6eymaMG5gnXVonGp6IklvzL+fO1mThFDF6tUS9jQwoySYZ8HOTmbmXjzacUecDvNFrApBw==", + "requires": { + "@bigcommerce/stencil-paper-handlebars": "4.4.8", + "@messageformat/core": "^3.0.0", + "accept-language-parser": "~1.4.1" } }, "@bigcommerce/stencil-paper-handlebars": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@bigcommerce/stencil-paper-handlebars/-/stencil-paper-handlebars-4.4.1.tgz", - "integrity": "sha512-lpsF55ssBbMWzexIYozR7QORuon28DtnvI/FC11Qrs5YeJzM9uXEeX4JKCqVMZhqlyMF5DiAxbC4RRbdWb7jqg==", + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/@bigcommerce/stencil-paper-handlebars/-/stencil-paper-handlebars-4.4.8.tgz", + "integrity": "sha512-J9490NdSSNEjBr/7w/X6999ntpAED3fwWA8vvWJb9mdnYPI7YwCNPSj56+UMakj8M+9yvZcu5Yc7CuJU2q7/tQ==", "requires": { "@bigcommerce/handlebars-v4": "4.7.6", "handlebars": "3.0.8", @@ -2536,6 +2523,45 @@ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, + "@messageformat/core": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@messageformat/core/-/core-3.0.0.tgz", + "integrity": "sha512-mzMCyADGweNmnMwV/xjKxtXtkXJNVcK5ATOHx4Q0GVr2Z3++in1VfrB/y6jM43nleK27tFO0Y/9pds5vxWqDvQ==", + "requires": { + "@messageformat/date-skeleton": "^1.0.0", + "@messageformat/number-skeleton": "^1.0.0", + "@messageformat/parser": "^5.0.0", + "@messageformat/runtime": "^3.0.0", + "make-plural": "^6.2.1", + "safe-identifier": "^0.4.1" + } + }, + "@messageformat/date-skeleton": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@messageformat/date-skeleton/-/date-skeleton-1.0.0.tgz", + "integrity": "sha512-vvj5Sd3VyXUHGbYpiFsPsSQ8pkdUM9vrR/NUbyP6ga3UqJH4p9eCwzfwaCAZatZMYMTyiKG/8QbUyGKHeTZ5kw==" + }, + "@messageformat/number-skeleton": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@messageformat/number-skeleton/-/number-skeleton-1.0.0.tgz", + "integrity": "sha512-Pe1HX/VG0q7tclM/ri85I4FKYd7Uc3gluSZbRaK1+jcXdT9Biw2hLAKyMsiz2tM6zLiK1xX+K0NMDO4RIstQig==" + }, + "@messageformat/parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@messageformat/parser/-/parser-5.0.0.tgz", + "integrity": "sha512-WiDKhi8F0zQaFU8cXgqq69eYFarCnTVxKcvhAONufKf0oUxbqLMW6JX6rV4Hqh+BEQWGyKKKHY4g1XA6bCLylA==", + "requires": { + "moo": "^0.5.1" + } + }, + "@messageformat/runtime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@messageformat/runtime/-/runtime-3.0.0.tgz", + "integrity": "sha512-boV0oH8jnJM/qoynQKnIbnKK5M7JPpKM0y9QUB9nQMMt16qSlgi5FfUo8usgoq6wEYqxDmIqtUfBewcj2VP+yQ==", + "requires": { + "make-plural": "^6.2.1" + } + }, "@nodelib/fs.scandir": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", @@ -2958,6 +2984,11 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, + "accept-language-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/accept-language-parser/-/accept-language-parser-1.4.1.tgz", + "integrity": "sha1-OHdPqbgtHzj3MVr0QxZaIZDMgnY=" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -3055,46 +3086,6 @@ "repeat-string": "^1.5.2" } }, - "ambi": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ambi/-/ambi-2.5.0.tgz", - "integrity": "sha1-fI43K+SIkRV+fOoBy2+RQ9H3QiA=", - "requires": { - "editions": "^1.1.1", - "typechecker": "^4.3.0" - }, - "dependencies": { - "editions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", - "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "typechecker": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-4.11.0.tgz", - "integrity": "sha512-lz39Mc/d1UBcF/uQFL5P8L+oWdIn/stvkUgHf0tPRW4aEwGGErewNXo2Nb6We2WslWifn00rhcHbbRWRcTGhuw==", - "requires": { - "editions": "^2.2.0" - }, - "dependencies": { - "editions": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", - "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", - "requires": { - "errlop": "^2.0.0", - "semver": "^6.3.0" - } - } - } - } - } - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -5043,14 +5034,6 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "coffee-script": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz", - "integrity": "sha1-YplqhheAx15tUGnROCJyO3NAS/w=", - "requires": { - "mkdirp": "~0.3.5" - } - }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -6571,11 +6554,6 @@ } } }, - "csextends": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/csextends/-/csextends-1.2.0.tgz", - "integrity": "sha512-S/8k1bDTJIwuGgQYmsRoE+8P+ohV32WhQ0l4zqrc0XDdxOhjQQD7/wTZwCzoZX53jSX3V/qwjT+OkPTxWQcmjg==" - }, "css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", @@ -6956,14 +6934,6 @@ "object.defaults": "^1.1.0" } }, - "eachr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/eachr/-/eachr-2.0.4.tgz", - "integrity": "sha1-Rm98qhBwj2EFCeMsgHqv5X/BIr8=", - "requires": { - "typechecker": "^2.0.8" - } - }, "easy-extender": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", @@ -6989,22 +6959,6 @@ "safer-buffer": "^2.1.0" } }, - "editions": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", - "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", - "requires": { - "errlop": "^2.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -7153,11 +7107,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "errlop": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz", - "integrity": "sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==" - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -8134,21 +8083,6 @@ "is-extendable": "^0.1.0" } }, - "extendr": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/extendr/-/extendr-2.1.0.tgz", - "integrity": "sha1-MBqgu+pWX00tyPVw8qImEahSe1Y=", - "requires": { - "typechecker": "~2.0.1" - }, - "dependencies": { - "typechecker": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz", - "integrity": "sha1-6D2oS7ZMWEzLNFg4V2xAsDN9uC4=" - } - } - }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -8184,21 +8118,6 @@ } } }, - "extract-opts": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz", - "integrity": "sha1-H6KOunNSxttID4hc63GkaBC+bX0=", - "requires": { - "typechecker": "~2.0.1" - }, - "dependencies": { - "typechecker": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz", - "integrity": "sha1-6D2oS7ZMWEzLNFg4V2xAsDN9uC4=" - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -11230,9 +11149,9 @@ }, "dependencies": { "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "requires": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -11629,23 +11548,6 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "ignorefs": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/ignorefs/-/ignorefs-1.4.1.tgz", - "integrity": "sha512-1whgvOsPWFZRNA/5OFhIk56C9Y39+/CYaRVNvsZZkLymacOSqqdSU53xk8CP3G2u5gz2PX6RLxqKPcsIpDriog==", - "requires": { - "editions": "^2.2.0", - "ignorepatterns": "^1.4.0" - } - }, - "ignorepatterns": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ignorepatterns/-/ignorepatterns-1.4.0.tgz", - "integrity": "sha512-YPBIFRB25iZD0WiLxmToe80+QU+mZI+bUlEh3Ze/4gbhlXHdQFk0SwAFQtPOiBAoDv3FvhtSTDUCD9DKFsHTRA==", - "requires": { - "editions": "^2.2.0" - } - }, "image-size": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.9.1.tgz", @@ -15303,6 +15205,11 @@ "kind-of": "^3.1.0" } }, + "make-plural": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-6.2.2.tgz", + "integrity": "sha512-8iTuFioatnTTmb/YJjywkVIHLjcwkFD9Ms0JpxjEm9Mo8eQYkh1z+55dwv4yc1jQ8ftVBxWQbihvZL1DfzGGWA==" + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -15686,35 +15593,6 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, - "messageformat": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/messageformat/-/messageformat-0.2.2.tgz", - "integrity": "sha1-0dGz4wYK5JEwt2fk+ZbBUHH2qac=", - "requires": { - "async": "~0.2.10", - "coffee-script": "~1.7.0", - "glob": "~3.2.8", - "nopt": "~2.1.2", - "underscore": "~1.5.2", - "watchr": "~2.4.9" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", - "requires": { - "inherits": "2", - "minimatch": "0.3" - } - } - } - }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -15779,15 +15657,6 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, - "minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - } - }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", @@ -15841,11 +15710,6 @@ } } }, - "mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=" - }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -15853,9 +15717,14 @@ "dev": true }, "moment": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.0.tgz", - "integrity": "sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==" + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "moo": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", + "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" }, "ms": { "version": "2.0.0", @@ -18111,6 +17980,11 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "safe-identifier": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", + "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==" + }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -18120,14 +17994,6 @@ "ret": "~0.1.10" } }, - "safefs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/safefs/-/safefs-3.2.2.tgz", - "integrity": "sha1-gXDBRE1wOOCMrqBaN0+uL6NJ4Vw=", - "requires": { - "graceful-fs": "*" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -18533,16 +18399,6 @@ "xmlchars": "^2.2.0" } }, - "scandirectory": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/scandirectory/-/scandirectory-2.5.0.tgz", - "integrity": "sha1-bOA/VKCQtmjjy+2/IO354xBZPnI=", - "requires": { - "ignorefs": "^1.0.0", - "safefs": "^3.1.2", - "taskgroup": "^4.0.5" - } - }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", @@ -18716,9 +18572,9 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", "requires": { "to-object-path": "^0.3.0" } @@ -19628,15 +19484,6 @@ "resolved": "https://registry.npmjs.org/tarjan-graph/-/tarjan-graph-2.0.0.tgz", "integrity": "sha512-fDe57nO2Ukw2A/jHwVeiEgERGrGHukf3aHmR/YZ9BrveOtHVlFs289AnVeb1wD2aj9g01ZZ6f7VyMJ2QxI2NBQ==" }, - "taskgroup": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/taskgroup/-/taskgroup-4.3.1.tgz", - "integrity": "sha1-feGT/r12gnPEV3MElwJNUSwnkVo=", - "requires": { - "ambi": "^2.2.0", - "csextends": "^1.0.3" - } - }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -20067,11 +19914,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" }, - "typechecker": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.1.0.tgz", - "integrity": "sha1-0cIJOlT/ihn1jP+HfuqlTyJC04M=" - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -20139,11 +19981,6 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, - "underscore": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz", - "integrity": "sha1-EzXF5PXm0zu7SwBrqMhqAPVW3gg=" - }, "undertaker": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", @@ -20445,21 +20282,6 @@ "makeerror": "1.0.x" } }, - "watchr": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/watchr/-/watchr-2.4.13.tgz", - "integrity": "sha1-10hHu01vkPYf4sdPn2hmKqDgdgE=", - "requires": { - "eachr": "^2.0.2", - "extendr": "^2.1.0", - "extract-opts": "^2.2.0", - "ignorefs": "^1.0.0", - "safefs": "^3.1.2", - "scandirectory": "^2.5.0", - "taskgroup": "^4.2.0", - "typechecker": "^2.0.8" - } - }, "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", diff --git a/package.json b/package.json index 0ba11588..d83a665e 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "package-lock.json" ], "dependencies": { - "@bigcommerce/stencil-paper": "^3.0.0-rc.31", + "@bigcommerce/stencil-paper": "^3.0.0-rc.48", "@bigcommerce/stencil-styles": "1.2.1", "@hapi/boom": "^8.0.1", "@hapi/glue": "^6.2.0",