diff --git a/.prettierignore b/.prettierignore index e86c8c1f7..9af62d424 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,13 +1,21 @@ +# dependencies & GHA .github -.next .yarn .swc -coverage node_modules -public yarn.lock -storybook-static -out .yarnrc.yml + +# test output +coverage + +# static outputs +public +.next +out typedocs +storybook-static packages/*/dist + +# prettier doesn't play well with .hbs format +generator-templates/ diff --git a/.yarn/cache/@ljharb-through-npm-2.3.11-da1f942873-1050272602.zip b/.yarn/cache/@ljharb-through-npm-2.3.11-da1f942873-1050272602.zip new file mode 100644 index 000000000..39682a283 Binary files /dev/null and b/.yarn/cache/@ljharb-through-npm-2.3.11-da1f942873-1050272602.zip differ diff --git a/.yarn/cache/@types-fined-npm-1.1.5-73eaa96733-7a9e58904a.zip b/.yarn/cache/@types-fined-npm-1.1.5-73eaa96733-7a9e58904a.zip new file mode 100644 index 000000000..bccbaffa9 Binary files /dev/null and b/.yarn/cache/@types-fined-npm-1.1.5-73eaa96733-7a9e58904a.zip differ diff --git a/.yarn/cache/@types-inquirer-npm-9.0.7-49aba11c47-c14c7a5279.zip b/.yarn/cache/@types-inquirer-npm-9.0.7-49aba11c47-c14c7a5279.zip new file mode 100644 index 000000000..7581ff9de Binary files /dev/null and b/.yarn/cache/@types-inquirer-npm-9.0.7-49aba11c47-c14c7a5279.zip differ diff --git a/.yarn/cache/@types-liftoff-npm-4.0.3-04dad9d9c6-f29ca5e1ab.zip b/.yarn/cache/@types-liftoff-npm-4.0.3-04dad9d9c6-f29ca5e1ab.zip new file mode 100644 index 000000000..77998892a Binary files /dev/null and b/.yarn/cache/@types-liftoff-npm-4.0.3-04dad9d9c6-f29ca5e1ab.zip differ diff --git a/.yarn/cache/@types-through-npm-0.0.33-000c353976-fd0b73f873.zip b/.yarn/cache/@types-through-npm-0.0.33-000c353976-fd0b73f873.zip new file mode 100644 index 000000000..b768cd73a Binary files /dev/null and b/.yarn/cache/@types-through-npm-0.0.33-000c353976-fd0b73f873.zip differ diff --git a/.yarn/cache/aggregate-error-npm-4.0.1-12d0501fb7-bb3ffdfd13.zip b/.yarn/cache/aggregate-error-npm-4.0.1-12d0501fb7-bb3ffdfd13.zip new file mode 100644 index 000000000..153f1290e Binary files /dev/null and b/.yarn/cache/aggregate-error-npm-4.0.1-12d0501fb7-bb3ffdfd13.zip differ diff --git a/.yarn/cache/array-each-npm-1.0.1-c676f7d9e8-eb2393c120.zip b/.yarn/cache/array-each-npm-1.0.1-c676f7d9e8-eb2393c120.zip new file mode 100644 index 000000000..5f6d92a51 Binary files /dev/null and b/.yarn/cache/array-each-npm-1.0.1-c676f7d9e8-eb2393c120.zip differ diff --git a/.yarn/cache/array-slice-npm-1.1.0-6c5995b3ce-3c8ecc7eef.zip b/.yarn/cache/array-slice-npm-1.1.0-6c5995b3ce-3c8ecc7eef.zip new file mode 100644 index 000000000..0d1d93066 Binary files /dev/null and b/.yarn/cache/array-slice-npm-1.1.0-6c5995b3ce-3c8ecc7eef.zip differ diff --git a/.yarn/cache/bl-npm-5.1.0-872d13e4d1-a7a438ee0b.zip b/.yarn/cache/bl-npm-5.1.0-872d13e4d1-a7a438ee0b.zip new file mode 100644 index 000000000..0cd57420f Binary files /dev/null and b/.yarn/cache/bl-npm-5.1.0-872d13e4d1-a7a438ee0b.zip differ diff --git a/.yarn/cache/capital-case-npm-1.0.4-90f8a4641d-41fa8fa87f.zip b/.yarn/cache/capital-case-npm-1.0.4-90f8a4641d-41fa8fa87f.zip new file mode 100644 index 000000000..5ca2b1391 Binary files /dev/null and b/.yarn/cache/capital-case-npm-1.0.4-90f8a4641d-41fa8fa87f.zip differ diff --git a/.yarn/cache/change-case-npm-4.1.2-9c42f72b39-e4bc4a093a.zip b/.yarn/cache/change-case-npm-4.1.2-9c42f72b39-e4bc4a093a.zip new file mode 100644 index 000000000..78283fd2d Binary files /dev/null and b/.yarn/cache/change-case-npm-4.1.2-9c42f72b39-e4bc4a093a.zip differ diff --git a/.yarn/cache/clean-stack-npm-4.2.0-bb0dff47b2-373f656a31.zip b/.yarn/cache/clean-stack-npm-4.2.0-bb0dff47b2-373f656a31.zip new file mode 100644 index 000000000..96a293c33 Binary files /dev/null and b/.yarn/cache/clean-stack-npm-4.2.0-bb0dff47b2-373f656a31.zip differ diff --git a/.yarn/cache/cli-spinners-npm-2.9.2-be9c08efee-1bd588289b.zip b/.yarn/cache/cli-spinners-npm-2.9.2-be9c08efee-1bd588289b.zip new file mode 100644 index 000000000..84deb09e2 Binary files /dev/null and b/.yarn/cache/cli-spinners-npm-2.9.2-be9c08efee-1bd588289b.zip differ diff --git a/.yarn/cache/cli-width-npm-4.1.0-c08b53be83-0a79cff2db.zip b/.yarn/cache/cli-width-npm-4.1.0-c08b53be83-0a79cff2db.zip new file mode 100644 index 000000000..374ffc466 Binary files /dev/null and b/.yarn/cache/cli-width-npm-4.1.0-c08b53be83-0a79cff2db.zip differ diff --git a/.yarn/cache/constant-case-npm-3.0.4-118b472e28-6c3346d51a.zip b/.yarn/cache/constant-case-npm-3.0.4-118b472e28-6c3346d51a.zip new file mode 100644 index 000000000..502e3352b Binary files /dev/null and b/.yarn/cache/constant-case-npm-3.0.4-118b472e28-6c3346d51a.zip differ diff --git a/.yarn/cache/del-npm-7.1.0-6e8ec2cdcd-93527e78e9.zip b/.yarn/cache/del-npm-7.1.0-6e8ec2cdcd-93527e78e9.zip new file mode 100644 index 000000000..2ca6627e4 Binary files /dev/null and b/.yarn/cache/del-npm-7.1.0-6e8ec2cdcd-93527e78e9.zip differ diff --git a/.yarn/cache/detect-file-npm-1.0.0-a22ca7c5b6-1861e41461.zip b/.yarn/cache/detect-file-npm-1.0.0-a22ca7c5b6-1861e41461.zip new file mode 100644 index 000000000..0faffbd9f Binary files /dev/null and b/.yarn/cache/detect-file-npm-1.0.0-a22ca7c5b6-1861e41461.zip differ diff --git a/.yarn/cache/escape-string-regexp-npm-5.0.0-a663e825ce-20daabe197.zip b/.yarn/cache/escape-string-regexp-npm-5.0.0-a663e825ce-20daabe197.zip new file mode 100644 index 000000000..604bc07d9 Binary files /dev/null and b/.yarn/cache/escape-string-regexp-npm-5.0.0-a663e825ce-20daabe197.zip differ diff --git a/.yarn/cache/expand-tilde-npm-2.0.2-a4020a62f5-2efe6ed407.zip b/.yarn/cache/expand-tilde-npm-2.0.2-a4020a62f5-2efe6ed407.zip new file mode 100644 index 000000000..fc0ee70eb Binary files /dev/null and b/.yarn/cache/expand-tilde-npm-2.0.2-a4020a62f5-2efe6ed407.zip differ diff --git a/.yarn/cache/figures-npm-5.0.0-cd5f512f9c-e6e8b6d1df.zip b/.yarn/cache/figures-npm-5.0.0-cd5f512f9c-e6e8b6d1df.zip new file mode 100644 index 000000000..dc136ee68 Binary files /dev/null and b/.yarn/cache/figures-npm-5.0.0-cd5f512f9c-e6e8b6d1df.zip differ diff --git a/.yarn/cache/findup-sync-npm-5.0.0-3de27edc83-576716c77a.zip b/.yarn/cache/findup-sync-npm-5.0.0-3de27edc83-576716c77a.zip new file mode 100644 index 000000000..ce93f7927 Binary files /dev/null and b/.yarn/cache/findup-sync-npm-5.0.0-3de27edc83-576716c77a.zip differ diff --git a/.yarn/cache/fined-npm-2.0.0-d5afb1a3df-3c5125a5b4.zip b/.yarn/cache/fined-npm-2.0.0-d5afb1a3df-3c5125a5b4.zip new file mode 100644 index 000000000..c8200c278 Binary files /dev/null and b/.yarn/cache/fined-npm-2.0.0-d5afb1a3df-3c5125a5b4.zip differ diff --git a/.yarn/cache/flagged-respawn-npm-2.0.0-e726c1899b-6c2b3fefbe.zip b/.yarn/cache/flagged-respawn-npm-2.0.0-e726c1899b-6c2b3fefbe.zip new file mode 100644 index 000000000..219a67ffb Binary files /dev/null and b/.yarn/cache/flagged-respawn-npm-2.0.0-e726c1899b-6c2b3fefbe.zip differ diff --git a/.yarn/cache/for-in-npm-1.0.2-37e3d7aae5-09f4ae93ce.zip b/.yarn/cache/for-in-npm-1.0.2-37e3d7aae5-09f4ae93ce.zip new file mode 100644 index 000000000..51aeea2f1 Binary files /dev/null and b/.yarn/cache/for-in-npm-1.0.2-37e3d7aae5-09f4ae93ce.zip differ diff --git a/.yarn/cache/for-own-npm-1.0.0-d7cbccdc1b-233238f6e9.zip b/.yarn/cache/for-own-npm-1.0.0-d7cbccdc1b-233238f6e9.zip new file mode 100644 index 000000000..88fa49723 Binary files /dev/null and b/.yarn/cache/for-own-npm-1.0.0-d7cbccdc1b-233238f6e9.zip differ diff --git a/.yarn/cache/global-modules-npm-1.0.0-70c522e57a-10be68796c.zip b/.yarn/cache/global-modules-npm-1.0.0-70c522e57a-10be68796c.zip new file mode 100644 index 000000000..af94b3e10 Binary files /dev/null and b/.yarn/cache/global-modules-npm-1.0.0-70c522e57a-10be68796c.zip differ diff --git a/.yarn/cache/global-prefix-npm-1.0.2-a96996834b-061b43470f.zip b/.yarn/cache/global-prefix-npm-1.0.2-a96996834b-061b43470f.zip new file mode 100644 index 000000000..9ad747f1e Binary files /dev/null and b/.yarn/cache/global-prefix-npm-1.0.2-a96996834b-061b43470f.zip differ diff --git a/.yarn/cache/handlebars-npm-4.7.8-25244c2c82-00e68bb5c1.zip b/.yarn/cache/handlebars-npm-4.7.8-25244c2c82-00e68bb5c1.zip new file mode 100644 index 000000000..b9f0b1e64 Binary files /dev/null and b/.yarn/cache/handlebars-npm-4.7.8-25244c2c82-00e68bb5c1.zip differ diff --git a/.yarn/cache/header-case-npm-2.0.4-7d19e19e6d-571c83eeb2.zip b/.yarn/cache/header-case-npm-2.0.4-7d19e19e6d-571c83eeb2.zip new file mode 100644 index 000000000..59ec3c64d Binary files /dev/null and b/.yarn/cache/header-case-npm-2.0.4-7d19e19e6d-571c83eeb2.zip differ diff --git a/.yarn/cache/homedir-polyfill-npm-1.0.3-da1a29ce00-18dd4db870.zip b/.yarn/cache/homedir-polyfill-npm-1.0.3-da1a29ce00-18dd4db870.zip new file mode 100644 index 000000000..fca8dc7f4 Binary files /dev/null and b/.yarn/cache/homedir-polyfill-npm-1.0.3-da1a29ce00-18dd4db870.zip differ diff --git a/.yarn/cache/indent-string-npm-5.0.0-35eaa3b052-e466c27b63.zip b/.yarn/cache/indent-string-npm-5.0.0-35eaa3b052-e466c27b63.zip new file mode 100644 index 000000000..0510f8b66 Binary files /dev/null and b/.yarn/cache/indent-string-npm-5.0.0-35eaa3b052-e466c27b63.zip differ diff --git a/.yarn/cache/inquirer-npm-9.2.12-359ef627a9-8c37283236.zip b/.yarn/cache/inquirer-npm-9.2.12-359ef627a9-8c37283236.zip new file mode 100644 index 000000000..567bf491e Binary files /dev/null and b/.yarn/cache/inquirer-npm-9.2.12-359ef627a9-8c37283236.zip differ diff --git a/.yarn/cache/interpret-npm-3.1.1-715bac2bd7-35cebcf48c.zip b/.yarn/cache/interpret-npm-3.1.1-715bac2bd7-35cebcf48c.zip new file mode 100644 index 000000000..32d7c4061 Binary files /dev/null and b/.yarn/cache/interpret-npm-3.1.1-715bac2bd7-35cebcf48c.zip differ diff --git a/.yarn/cache/is-absolute-npm-1.0.0-2525cf00c8-9d16b2605e.zip b/.yarn/cache/is-absolute-npm-1.0.0-2525cf00c8-9d16b2605e.zip new file mode 100644 index 000000000..3d0320414 Binary files /dev/null and b/.yarn/cache/is-absolute-npm-1.0.0-2525cf00c8-9d16b2605e.zip differ diff --git a/.yarn/cache/is-interactive-npm-2.0.0-dcec8b26d7-e8d52ad490.zip b/.yarn/cache/is-interactive-npm-2.0.0-dcec8b26d7-e8d52ad490.zip new file mode 100644 index 000000000..bb7823a26 Binary files /dev/null and b/.yarn/cache/is-interactive-npm-2.0.0-dcec8b26d7-e8d52ad490.zip differ diff --git a/.yarn/cache/is-path-cwd-npm-3.0.0-3ac9dacea0-bc34d13b6a.zip b/.yarn/cache/is-path-cwd-npm-3.0.0-3ac9dacea0-bc34d13b6a.zip new file mode 100644 index 000000000..e98a10746 Binary files /dev/null and b/.yarn/cache/is-path-cwd-npm-3.0.0-3ac9dacea0-bc34d13b6a.zip differ diff --git a/.yarn/cache/is-path-inside-npm-4.0.0-2af2bde69d-8810fa11c5.zip b/.yarn/cache/is-path-inside-npm-4.0.0-2af2bde69d-8810fa11c5.zip new file mode 100644 index 000000000..8c5383f03 Binary files /dev/null and b/.yarn/cache/is-path-inside-npm-4.0.0-2af2bde69d-8810fa11c5.zip differ diff --git a/.yarn/cache/is-relative-npm-1.0.0-af71733ca6-3271a0df10.zip b/.yarn/cache/is-relative-npm-1.0.0-af71733ca6-3271a0df10.zip new file mode 100644 index 000000000..5d9c5ecdf Binary files /dev/null and b/.yarn/cache/is-relative-npm-1.0.0-af71733ca6-3271a0df10.zip differ diff --git a/.yarn/cache/is-unc-path-npm-1.0.0-9cee24d85f-e8abfde203.zip b/.yarn/cache/is-unc-path-npm-1.0.0-9cee24d85f-e8abfde203.zip new file mode 100644 index 000000000..357fae2d9 Binary files /dev/null and b/.yarn/cache/is-unc-path-npm-1.0.0-9cee24d85f-e8abfde203.zip differ diff --git a/.yarn/cache/is-unicode-supported-npm-1.3.0-9371ea1eda-20a1fc161a.zip b/.yarn/cache/is-unicode-supported-npm-1.3.0-9371ea1eda-20a1fc161a.zip new file mode 100644 index 000000000..f8d4a8ca6 Binary files /dev/null and b/.yarn/cache/is-unicode-supported-npm-1.3.0-9371ea1eda-20a1fc161a.zip differ diff --git a/.yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-438b7e5265.zip b/.yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-438b7e5265.zip new file mode 100644 index 000000000..927b3c5ce Binary files /dev/null and b/.yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-438b7e5265.zip differ diff --git a/.yarn/cache/isbinaryfile-npm-5.0.0-e98524e7a5-25cc27388d.zip b/.yarn/cache/isbinaryfile-npm-5.0.0-e98524e7a5-25cc27388d.zip new file mode 100644 index 000000000..212be4fa8 Binary files /dev/null and b/.yarn/cache/isbinaryfile-npm-5.0.0-e98524e7a5-25cc27388d.zip differ diff --git a/.yarn/cache/liftoff-npm-4.0.0-5cd252c30a-da0af55624.zip b/.yarn/cache/liftoff-npm-4.0.0-5cd252c30a-da0af55624.zip new file mode 100644 index 000000000..d1ea947ce Binary files /dev/null and b/.yarn/cache/liftoff-npm-4.0.0-5cd252c30a-da0af55624.zip differ diff --git a/.yarn/cache/lodash.get-npm-4.4.2-7bda64ed87-e403047ddb.zip b/.yarn/cache/lodash.get-npm-4.4.2-7bda64ed87-e403047ddb.zip new file mode 100644 index 000000000..63cd7ccfc Binary files /dev/null and b/.yarn/cache/lodash.get-npm-4.4.2-7bda64ed87-e403047ddb.zip differ diff --git a/.yarn/cache/log-symbols-npm-5.1.0-75864cfeb4-7291b6e7f1.zip b/.yarn/cache/log-symbols-npm-5.1.0-75864cfeb4-7291b6e7f1.zip new file mode 100644 index 000000000..6409903dc Binary files /dev/null and b/.yarn/cache/log-symbols-npm-5.1.0-75864cfeb4-7291b6e7f1.zip differ diff --git a/.yarn/cache/make-iterator-npm-1.0.1-3f3e0a179c-d38afc388f.zip b/.yarn/cache/make-iterator-npm-1.0.1-3f3e0a179c-d38afc388f.zip new file mode 100644 index 000000000..df7511f8f Binary files /dev/null and b/.yarn/cache/make-iterator-npm-1.0.1-3f3e0a179c-d38afc388f.zip differ diff --git a/.yarn/cache/map-cache-npm-0.2.2-1620199b05-3067cea542.zip b/.yarn/cache/map-cache-npm-0.2.2-1620199b05-3067cea542.zip new file mode 100644 index 000000000..6499e97c1 Binary files /dev/null and b/.yarn/cache/map-cache-npm-0.2.2-1620199b05-3067cea542.zip differ diff --git a/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-972deb188e.zip b/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-972deb188e.zip new file mode 100644 index 000000000..cb4896caf Binary files /dev/null and b/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-972deb188e.zip differ diff --git a/.yarn/cache/mute-stream-npm-1.0.0-b6e846d471-36fc968b0e.zip b/.yarn/cache/mute-stream-npm-1.0.0-b6e846d471-36fc968b0e.zip new file mode 100644 index 000000000..3d01d4b4a Binary files /dev/null and b/.yarn/cache/mute-stream-npm-1.0.0-b6e846d471-36fc968b0e.zip differ diff --git a/.yarn/cache/node-plop-npm-0.32.0-5d419c8abe-e96877ddaa.zip b/.yarn/cache/node-plop-npm-0.32.0-5d419c8abe-e96877ddaa.zip new file mode 100644 index 000000000..9809c0fc8 Binary files /dev/null and b/.yarn/cache/node-plop-npm-0.32.0-5d419c8abe-e96877ddaa.zip differ diff --git a/.yarn/cache/object.defaults-npm-1.1.0-cbadc8c2f0-25468e0613.zip b/.yarn/cache/object.defaults-npm-1.1.0-cbadc8c2f0-25468e0613.zip new file mode 100644 index 000000000..586d61f54 Binary files /dev/null and b/.yarn/cache/object.defaults-npm-1.1.0-cbadc8c2f0-25468e0613.zip differ diff --git a/.yarn/cache/object.map-npm-1.0.1-7e842789dd-3c9cf1a417.zip b/.yarn/cache/object.map-npm-1.0.1-7e842789dd-3c9cf1a417.zip new file mode 100644 index 000000000..6516f915d Binary files /dev/null and b/.yarn/cache/object.map-npm-1.0.1-7e842789dd-3c9cf1a417.zip differ diff --git a/.yarn/cache/object.pick-npm-1.3.0-dad8eae8fb-77fb6eed57.zip b/.yarn/cache/object.pick-npm-1.3.0-dad8eae8fb-77fb6eed57.zip new file mode 100644 index 000000000..01babeea4 Binary files /dev/null and b/.yarn/cache/object.pick-npm-1.3.0-dad8eae8fb-77fb6eed57.zip differ diff --git a/.yarn/cache/ora-npm-7.0.1-3fd939d926-0842b8b9a9.zip b/.yarn/cache/ora-npm-7.0.1-3fd939d926-0842b8b9a9.zip new file mode 100644 index 000000000..8457c7c24 Binary files /dev/null and b/.yarn/cache/ora-npm-7.0.1-3fd939d926-0842b8b9a9.zip differ diff --git a/.yarn/cache/p-map-npm-5.5.0-9758eb14ee-065cb6fca6.zip b/.yarn/cache/p-map-npm-5.5.0-9758eb14ee-065cb6fca6.zip new file mode 100644 index 000000000..4dc65465c Binary files /dev/null and b/.yarn/cache/p-map-npm-5.5.0-9758eb14ee-065cb6fca6.zip differ diff --git a/.yarn/cache/parse-filepath-npm-1.0.2-7e399b862a-6794c3f38d.zip b/.yarn/cache/parse-filepath-npm-1.0.2-7e399b862a-6794c3f38d.zip new file mode 100644 index 000000000..3fc245aa9 Binary files /dev/null and b/.yarn/cache/parse-filepath-npm-1.0.2-7e399b862a-6794c3f38d.zip differ diff --git a/.yarn/cache/parse-passwd-npm-1.0.0-ace6effa1d-4e55e0231d.zip b/.yarn/cache/parse-passwd-npm-1.0.0-ace6effa1d-4e55e0231d.zip new file mode 100644 index 000000000..8181edb9b Binary files /dev/null and b/.yarn/cache/parse-passwd-npm-1.0.0-ace6effa1d-4e55e0231d.zip differ diff --git a/.yarn/cache/path-case-npm-3.0.4-5a1981bc0c-61de052622.zip b/.yarn/cache/path-case-npm-3.0.4-5a1981bc0c-61de052622.zip new file mode 100644 index 000000000..e69be6031 Binary files /dev/null and b/.yarn/cache/path-case-npm-3.0.4-5a1981bc0c-61de052622.zip differ diff --git a/.yarn/cache/path-root-npm-0.1.1-624088cb93-ff88aebfc1.zip b/.yarn/cache/path-root-npm-0.1.1-624088cb93-ff88aebfc1.zip new file mode 100644 index 000000000..b0ceab06c Binary files /dev/null and b/.yarn/cache/path-root-npm-0.1.1-624088cb93-ff88aebfc1.zip differ diff --git a/.yarn/cache/path-root-regex-npm-0.1.2-14181162e0-dcd75d1f8e.zip b/.yarn/cache/path-root-regex-npm-0.1.2-14181162e0-dcd75d1f8e.zip new file mode 100644 index 000000000..068aec306 Binary files /dev/null and b/.yarn/cache/path-root-regex-npm-0.1.2-14181162e0-dcd75d1f8e.zip differ diff --git a/.yarn/cache/plop-npm-4.0.0-c85359d85c-7259e363f4.zip b/.yarn/cache/plop-npm-4.0.0-c85359d85c-7259e363f4.zip new file mode 100644 index 000000000..d1443404a Binary files /dev/null and b/.yarn/cache/plop-npm-4.0.0-c85359d85c-7259e363f4.zip differ diff --git a/.yarn/cache/rechoir-npm-0.8.0-fb660b3bc8-ad3caed8af.zip b/.yarn/cache/rechoir-npm-0.8.0-fb660b3bc8-ad3caed8af.zip new file mode 100644 index 000000000..3663e603f Binary files /dev/null and b/.yarn/cache/rechoir-npm-0.8.0-fb660b3bc8-ad3caed8af.zip differ diff --git a/.yarn/cache/resolve-dir-npm-1.0.1-0a95903c18-ef736b8ed6.zip b/.yarn/cache/resolve-dir-npm-1.0.1-0a95903c18-ef736b8ed6.zip new file mode 100644 index 000000000..448e0e0b4 Binary files /dev/null and b/.yarn/cache/resolve-dir-npm-1.0.1-0a95903c18-ef736b8ed6.zip differ diff --git a/.yarn/cache/resolve-npm-1.22.8-098f379dfe-f8a26958aa.zip b/.yarn/cache/resolve-npm-1.22.8-098f379dfe-f8a26958aa.zip new file mode 100644 index 000000000..87b2b2197 Binary files /dev/null and b/.yarn/cache/resolve-npm-1.22.8-098f379dfe-f8a26958aa.zip differ diff --git a/.yarn/cache/resolve-patch-6603eace77-5479b7d431.zip b/.yarn/cache/resolve-patch-6603eace77-5479b7d431.zip new file mode 100644 index 000000000..84c63abe5 Binary files /dev/null and b/.yarn/cache/resolve-patch-6603eace77-5479b7d431.zip differ diff --git a/.yarn/cache/run-async-npm-3.0.0-bfba9a6e47-280c03d5a8.zip b/.yarn/cache/run-async-npm-3.0.0-bfba9a6e47-280c03d5a8.zip new file mode 100644 index 000000000..1a8936cff Binary files /dev/null and b/.yarn/cache/run-async-npm-3.0.0-bfba9a6e47-280c03d5a8.zip differ diff --git a/.yarn/cache/sentence-case-npm-3.0.4-ed6888d0bc-3cfe6c0143.zip b/.yarn/cache/sentence-case-npm-3.0.4-ed6888d0bc-3cfe6c0143.zip new file mode 100644 index 000000000..48ea000f8 Binary files /dev/null and b/.yarn/cache/sentence-case-npm-3.0.4-ed6888d0bc-3cfe6c0143.zip differ diff --git a/.yarn/cache/snake-case-npm-3.0.4-67f447c30d-0a7a79900b.zip b/.yarn/cache/snake-case-npm-3.0.4-67f447c30d-0a7a79900b.zip new file mode 100644 index 000000000..b24064154 Binary files /dev/null and b/.yarn/cache/snake-case-npm-3.0.4-67f447c30d-0a7a79900b.zip differ diff --git a/.yarn/cache/stdin-discarder-npm-0.1.0-8402cb893f-85131f70ae.zip b/.yarn/cache/stdin-discarder-npm-0.1.0-8402cb893f-85131f70ae.zip new file mode 100644 index 000000000..1522cbf35 Binary files /dev/null and b/.yarn/cache/stdin-discarder-npm-0.1.0-8402cb893f-85131f70ae.zip differ diff --git a/.yarn/cache/string-width-npm-6.1.0-fc6478ccec-8aefb456a2.zip b/.yarn/cache/string-width-npm-6.1.0-fc6478ccec-8aefb456a2.zip new file mode 100644 index 000000000..42cecc81b Binary files /dev/null and b/.yarn/cache/string-width-npm-6.1.0-fc6478ccec-8aefb456a2.zip differ diff --git a/.yarn/cache/title-case-npm-3.0.3-101a1194a3-e8b7ea006b.zip b/.yarn/cache/title-case-npm-3.0.3-101a1194a3-e8b7ea006b.zip new file mode 100644 index 000000000..3d733222f Binary files /dev/null and b/.yarn/cache/title-case-npm-3.0.3-101a1194a3-e8b7ea006b.zip differ diff --git a/.yarn/cache/unc-path-regex-npm-0.1.2-53c3343ef3-a05fa2006b.zip b/.yarn/cache/unc-path-regex-npm-0.1.2-53c3343ef3-a05fa2006b.zip new file mode 100644 index 000000000..b3abbac7e Binary files /dev/null and b/.yarn/cache/unc-path-regex-npm-0.1.2-53c3343ef3-a05fa2006b.zip differ diff --git a/.yarn/cache/upper-case-first-npm-2.0.2-8e0c5a851a-4487db4701.zip b/.yarn/cache/upper-case-first-npm-2.0.2-8e0c5a851a-4487db4701.zip new file mode 100644 index 000000000..d45be363d Binary files /dev/null and b/.yarn/cache/upper-case-first-npm-2.0.2-8e0c5a851a-4487db4701.zip differ diff --git a/.yarn/cache/upper-case-npm-2.0.2-6cf3bda96c-508723a2b0.zip b/.yarn/cache/upper-case-npm-2.0.2-6cf3bda96c-508723a2b0.zip new file mode 100644 index 000000000..2cc387594 Binary files /dev/null and b/.yarn/cache/upper-case-npm-2.0.2-6cf3bda96c-508723a2b0.zip differ diff --git a/.yarn/cache/v8flags-npm-4.0.1-efee267421-69863ede75.zip b/.yarn/cache/v8flags-npm-4.0.1-efee267421-69863ede75.zip new file mode 100644 index 000000000..091a311b6 Binary files /dev/null and b/.yarn/cache/v8flags-npm-4.0.1-efee267421-69863ede75.zip differ diff --git a/.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip b/.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip new file mode 100644 index 000000000..08d0d36d2 Binary files /dev/null and b/.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip differ diff --git a/.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip b/.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip new file mode 100644 index 000000000..aa06055f0 Binary files /dev/null and b/.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip differ diff --git a/READMEs/generators.md b/READMEs/generators.md new file mode 100644 index 000000000..bc07cb33a --- /dev/null +++ b/READMEs/generators.md @@ -0,0 +1,24 @@ +# Next-build generator usage + +Developers contributing to this project can use [plop](https://plopjs.com/) to generate new files in a consistent manner. + +There can be many moving parts that need to be aligned when adding a new data query or content type to next-build. Running `yarn plop` will start a cli tool that handles most of boilerplate, freeing you up to focus on the task at hand. + +Run `yarn plop` to view a list of generators available to this project. + +See `plopfile.js` for specifics of each generator. + +Templates for existing generators can be found inside of `generator-templates`. + +## What is Plop? + +> Plop is what I like to call a "micro-generator framework." Now, I call it that because it is a small tool that gives you a simple way to generate code or any other type of flat text files in a consistent way. You see, we all create structures and patterns in our code (routes, controllers, components, helpers, etc). These patterns change and improve over time so when you need to create a NEW insert-name-of-pattern-here, it's not always easy to locate the files in your codebase that represent the current "best practice." That's where plop saves you. With plop, you have your "best practice" method of creating any given pattern in CODE. Code that can easily be run from the terminal by typing plop. Not only does this save you from hunting around in your codebase for the right files to copy, but it also turns "the right way" into "the easiest way" to make new files. + +> If you boil plop down to its core, it is basically glue code between inquirer prompts and handlebar templates. + +Helpful documentation: + +- [Plop docs](https://plopjs.com/documentation/) +- [Inquirer options](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/inquirer/README.md#question) +- [Handlebars](https://github.com/handlebars-lang/handlebars.js?tab=readme-ov-file#usage) +- [Example plopfile](https://github.com/plopjs/plop/blob/main/packages/plop/tests/examples/javascript/plopfile.js) diff --git a/generator-templates/component/index.hbs b/generator-templates/component/index.hbs new file mode 100644 index 000000000..64426082f --- /dev/null +++ b/generator-templates/component/index.hbs @@ -0,0 +1,11 @@ +type {{pascalCase name}}Props = { + title: string +} + +export function {{pascalCase name}}({ title }: {{pascalCase name}}Props) { + return ( +
+

{title}

+
+ ) +} diff --git a/generator-templates/component/playwright.hbs b/generator-templates/component/playwright.hbs new file mode 100644 index 000000000..99c8f86b0 --- /dev/null +++ b/generator-templates/component/playwright.hbs @@ -0,0 +1,21 @@ +const { test, expect } = require('../utils/next-test') + +test.describe('{{titleCase name}}', () => { + test('{{titleCase name}} page renders', async ({ + page, + }) => { + await page.goto('/update-this-link') + await expect(page).toHaveURL('/update-this-link') + }) + + test('Should render without a11y errors', async ({ + page, + makeAxeBuilder, + }) => { + await page.goto('/update-this-link') + + const accessibilityScanResults = await makeAxeBuilder().analyze() + + expect(accessibilityScanResults.violations).toEqual([]) + }) +}) diff --git a/generator-templates/component/story.hbs b/generator-templates/component/story.hbs new file mode 100644 index 000000000..5a3e8a3f5 --- /dev/null +++ b/generator-templates/component/story.hbs @@ -0,0 +1,17 @@ +import { Meta, StoryObj } from '@storybook/react' + +import { {{pascalCase name}} } from './index' + +const meta: Meta = { + title: 'Uncategorized/{{pascalCase name}}', + component: {{pascalCase name}}, +} +export default meta + +type Story = StoryObj + +export const Example: Story = { + args: { + title: 'Hello World!' + }, +} diff --git a/generator-templates/component/test.hbs b/generator-templates/component/test.hbs new file mode 100644 index 000000000..94c606157 --- /dev/null +++ b/generator-templates/component/test.hbs @@ -0,0 +1,11 @@ +import { render, screen } from '@testing-library/react' +import { {{pascalCase name}} } from './index' + + +describe('{{pascalCase name}} with valid data', () => { + test('renders {{pascalCase name}} component', () => { + render(<{{pascalCase name}} title={'Hello world'} />) + + expect(screen.queryByText(/Hello world/)).toBeInTheDocument() + }) +}) diff --git a/generator-templates/query/mock.hbs b/generator-templates/query/mock.hbs new file mode 100644 index 000000000..13b14caa4 --- /dev/null +++ b/generator-templates/query/mock.hbs @@ -0,0 +1,4 @@ +{ + "note": "Replace this data! The file should contain an example response for the desired query before formatting", + "example": "See src/mocks/newsStory.mock.json for an example response from va.gov-cms's JSON:API" +} diff --git a/generator-templates/query/query.hbs b/generator-templates/query/query.hbs new file mode 100644 index 000000000..9fe4dcd1c --- /dev/null +++ b/generator-templates/query/query.hbs @@ -0,0 +1,65 @@ +import { QueryData, QueryFormatter, QueryParams } from 'next-drupal-query' +import { drupalClient } from '@/lib/drupal/drupalClient' +import { queries } from '.' +import { Node{{pascalCase name}} } from '@/types/drupal/node' +import { {{pascalCase name}} } from '@/types/formatted/{{pascalCase name}}' +import { ExpandedStaticPropsContext } from '@/lib/drupal/staticProps' + +// Define the query params for fetching node--{{snakeCase name}}. +export const params: QueryParams = () => { + return queries + .getParams() + // uncomment to add referenced entity data to the response + // .addInclude([ + // 'field_media', + // 'field_media.image', + // 'field_administration', + // ]) +} + +// Define the option types for the data loader. +export type {{pascalCase name}}DataOpts = { + id: string + context?: ExpandedStaticPropsContext +} + +// Implement the data loader. +export const data: QueryData<{{pascalCase name}}DataOpts, Node{{pascalCase name}}> = async ( + opts +): Promise => { + const entity = opts?.context?.preview + ? // need to use getResourceFromContext for unpublished revisions + await drupalClient.getResourceFromContext( + 'node--{{snakeCase name}}', + opts.context, + { + params: params().getQueryObject(), + } + ) + : // otherwise just lookup by uuid + await drupalClient.getResource( + 'node--{{snakeCase name}}', + opts.id, + { + params: params().getQueryObject(), + } + ) + + return entity +} + +export const formatter: QueryFormatter = ( + entity: Node{{pascalCase name}} +) => { + return { + id: entity.id, + entityId: entity.drupal_internal__nid, + entityPath: entity.path.alias, + type: entity.type, + published: entity.status, + moderationState: entity.moderation_state, + title: entity.title, + metatags: entity.metatag, + breadcrumbs: entity.breadcrumbs + } +} diff --git a/generator-templates/query/test.hbs b/generator-templates/query/test.hbs new file mode 100644 index 000000000..783d3893a --- /dev/null +++ b/generator-templates/query/test.hbs @@ -0,0 +1,25 @@ +import { {{pascalCase name}} } from '@/types/drupal/node' +import { queries } from '@/data/queries' +import mockData from '@/mocks/{{pascalCase name}}.mock.json' + +const {{pascalCase name}}Mock: {{pascalCase name}} = mockData + +describe('{{pascalCase name}} formatData', () => { + let windowSpy + + beforeEach(() => { + windowSpy = jest.spyOn(window, 'window', 'get') + }) + + afterEach(() => { + windowSpy.mockRestore() + }) + + test('outputs formatted data', () => { + windowSpy.mockImplementation(() => undefined) + + expect( + queries.formatData('node--{{snakeCase name}}', {{pascalCase name}}Mock) + ).toMatchSnapshot() + }) +}) diff --git a/generator-templates/type/formatted.hbs b/generator-templates/type/formatted.hbs new file mode 100644 index 000000000..1f8156681 --- /dev/null +++ b/generator-templates/type/formatted.hbs @@ -0,0 +1,3 @@ +export type {{pascalCase name}} = { + title: string +} diff --git a/package.json b/package.json index 339f79360..0d05e77e7 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "redis:stop": "docker stop next-redis && docker rm next-redis", "format": "prettier --write .", "lint": "next lint", + "plop": "plop", "postinstall": "husky install", "typedoc": "typedoc", "typedoc:serve": "http-server typedocs -p 8002", @@ -66,6 +67,7 @@ "next-drupal": "^1.6.0", "next-drupal-query": "^0.4.0", "next-sitemap": "^4.2.3", + "plop": "^4.0.0", "proxy-fetcher": "0.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/plopfile.js b/plopfile.js new file mode 100644 index 000000000..ef07a66ae --- /dev/null +++ b/plopfile.js @@ -0,0 +1,131 @@ +// Run `yarn plop` to use the generators defined in this file. +// see READMEs/generators.md for more information. +module.exports = function (plop) { + // Create a new component with a test stub and Storybook entry. + plop.setGenerator('Component', { + description: 'New React component', + prompts: [ + { + type: 'input', + name: 'name', + message: 'Component Name', + }, + ], + actions: [ + { + type: 'add', + path: 'src/templates/components/{{camelCase name}}/index.tsx', + templateFile: 'generator-templates/component/index.hbs', + }, + { + type: 'add', + path: 'src/templates/components/{{camelCase name}}/index.test.tsx', + templateFile: 'generator-templates/component/test.hbs', + }, + { + type: 'add', + path: 'src/templates/components/{{camelCase name}}/{{camelCase name}}.stories.ts', + templateFile: 'generator-templates/component/story.hbs', + }, + ], + }) + + // Create a new data query. This defaults to Drupal boilerplate. + // TODO: option for non-drupal data sources. + plop.setGenerator('Query', { + description: 'New Data query', + prompts: [ + { + type: 'input', + name: 'name', + message: 'Query name please', + }, + ], + actions: [ + { + type: 'add', + path: 'src/data/queries/{{camelCase name}}.ts', + templateFile: 'generator-templates/query/query.hbs', + }, + { + type: 'add', + path: 'src/data/queries/tests/{{camelCase name}}.test.tsx', + templateFile: 'generator-templates/query/test.hbs', + }, + { + type: 'add', + path: 'src/mocks/{{camelCase name}}.mock.json', + templateFile: 'generator-templates/query/mock.hbs', + }, + { + type: 'add', + path: 'src/types/formatted/{{camelCase name}}.ts', + templateFile: 'generator-templates/type/formatted.hbs', + }, + // Strings can be added to print a comment in the terminal. + 'You will need to manually import & add your query to src/data/queries/index.ts', + 'Be sure to also run `yarn test:u` to update test snapshots for your new query!', + ], + }) + + // Generate all files needed to render a new content type from Drupal. + // It also generates an additional test file for E2E testing the page via Playwright. + plop.setGenerator('Content Type', { + description: 'Generate boilerplate for new FE Page based on Content Type', + prompts: [ + { + type: 'input', + name: 'name', + message: 'Page name please', + }, + ], + actions: [ + // Create query files for new Page type. + { + type: 'add', + path: 'src/data/queries/{{camelCase name}}.ts', + templateFile: 'generator-templates/query/query.hbs', + }, + { + type: 'add', + path: 'src/data/queries/tests/{{camelCase name}}.test.tsx', + templateFile: 'generator-templates/query/test.hbs', + }, + { + type: 'add', + path: 'src/mocks/{{camelCase name}}.mock.json', + templateFile: 'generator-templates/query/mock.hbs', + }, + { + type: 'add', + path: 'src/types/formatted/{{camelCase name}}.ts', + templateFile: 'generator-templates/type/formatted.hbs', + }, + 'You will need to manually import & add your query to src/data/queries/index.ts', + 'Be sure to also run `yarn test:u` to update test snapshots for your new query!', + // Create react component + test files for new Page type. + { + type: 'add', + path: 'src/templates/layouts/{{camelCase name}}/index.tsx', + templateFile: 'generator-templates/component/index.hbs', + }, + { + type: 'add', + path: 'src/templates/layouts/{{camelCase name}}/index.test.tsx', + templateFile: 'generator-templates/component/test.hbs', + }, + { + type: 'add', + path: 'src/templates/layouts/{{camelCase name}}/{{camelCase name}}.stories.ts', + templateFile: 'generator-templates/component/story.hbs', + }, + { + type: 'add', + path: 'playwright/tests/{{camelCase name}}.spec.js', + templateFile: 'generator-templates/component/playwright.hbs', + }, + ], + }) + + // Add additional generators here +} diff --git a/src/data/queries/alert.ts b/src/data/queries/alert.ts index f2059f2c6..a58e2c1fc 100644 --- a/src/data/queries/alert.ts +++ b/src/data/queries/alert.ts @@ -1,7 +1,7 @@ // Define the query params for fetching block--alert. -import { BlockAlert } from '@/types/dataTypes/drupal/block' +import { BlockAlert } from '@/types/drupal/block' import { QueryFormatter } from 'next-drupal-query' -import { Alert } from '@/types/dataTypes/formatted/alert' +import { Alert } from '@/types/formatted/alert' export const formatter: QueryFormatter = ( entity: BlockAlert diff --git a/src/data/queries/audienceTopics.ts b/src/data/queries/audienceTopics.ts index be9fbf455..43cae580c 100644 --- a/src/data/queries/audienceTopics.ts +++ b/src/data/queries/audienceTopics.ts @@ -1,7 +1,7 @@ // Define the query params for fetching node--news_story. -import { ParagraphAudienceTopics } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphAudienceTopics } from '@/types/drupal/paragraph' import { QueryFormatter } from 'next-drupal-query' -import { AudienceTopic } from '@/types/dataTypes/formatted/audienceTopics' +import { AudienceTopic } from '@/types/formatted/audienceTopics' const getTagsList = (fieldTags) => { if (!fieldTags) return null diff --git a/src/data/queries/banners.ts b/src/data/queries/banners.ts index 7a1a9a6ca..9861dab6a 100644 --- a/src/data/queries/banners.ts +++ b/src/data/queries/banners.ts @@ -1,10 +1,6 @@ import { QueryFormatter } from 'next-drupal-query' -import { NodeBanner } from '@/types/dataTypes/drupal/node' -import { - Banner, - FacilityBanner, - PromoBanner, -} from '@/types/dataTypes/formatted/banners' +import { NodeBanner } from '@/types/drupal/node' +import { Banner, FacilityBanner, PromoBanner } from '@/types/formatted/banners' export const BannerDisplayType = { PROMO_BANNER: 'promoBanner', diff --git a/src/data/queries/benefitsHub.ts b/src/data/queries/benefitsHub.ts index c35211e41..a2654b9fc 100644 --- a/src/data/queries/benefitsHub.ts +++ b/src/data/queries/benefitsHub.ts @@ -1,6 +1,6 @@ import { QueryFormatter } from 'next-drupal-query' -import { NodeLandingPage } from '@/types/dataTypes/drupal/node' -import { BenefitsHub } from '@/types/dataTypes/formatted/benefitsHub' +import { NodeLandingPage } from '@/types/drupal/node' +import { BenefitsHub } from '@/types/formatted/benefitsHub' // Define the query params for fetching node--landing_page. // This is a "special" case in that these nodes are primarily (only?) used as entity references from other nodes diff --git a/src/data/queries/button.ts b/src/data/queries/button.ts index 976a2be90..cb037a460 100644 --- a/src/data/queries/button.ts +++ b/src/data/queries/button.ts @@ -1,7 +1,7 @@ // Define the query params for fetching paragraph--button. -import { ParagraphButton } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphButton } from '@/types/drupal/paragraph' import { QueryFormatter } from 'next-drupal-query' -import { Button } from '@/types/dataTypes/formatted/button' +import { Button } from '@/types/formatted/button' export const formatter: QueryFormatter = ( entity: ParagraphButton diff --git a/src/data/queries/emailContact.ts b/src/data/queries/emailContact.ts index e91294709..48cca2806 100644 --- a/src/data/queries/emailContact.ts +++ b/src/data/queries/emailContact.ts @@ -1,7 +1,7 @@ // Define the query params for fetching paragraph--email_contact. -import { ParagraphEmailContact } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphEmailContact } from '@/types/drupal/paragraph' import { QueryFormatter } from 'next-drupal-query' -import { EmailContact } from '@/types/dataTypes/formatted/emailContact' +import { EmailContact } from '@/types/formatted/emailContact' export const formatter: QueryFormatter = ( entity: ParagraphEmailContact diff --git a/src/data/queries/event.ts b/src/data/queries/event.ts index 00228133a..57207ba82 100644 --- a/src/data/queries/event.ts +++ b/src/data/queries/event.ts @@ -6,10 +6,10 @@ import { } from 'next-drupal-query' import { drupalClient } from '@/lib/drupal/drupalClient' import { queries } from '.' -import { NodeEvent } from '@/types/dataTypes/drupal/node' -import { Event } from '@/types/dataTypes/formatted/event' +import { NodeEvent } from '@/types/drupal/node' +import { Event } from '@/types/formatted/event' import { GetServerSidePropsContext } from 'next' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' export const params: QueryParams = () => { return queries diff --git a/src/data/queries/expandableText.ts b/src/data/queries/expandableText.ts index bbc1d5f3e..57d3b819a 100644 --- a/src/data/queries/expandableText.ts +++ b/src/data/queries/expandableText.ts @@ -1,5 +1,5 @@ // Define the query params for fetching node--news_story. -import { ParagraphExpandableText } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphExpandableText } from '@/types/drupal/paragraph' import { QueryData, QueryFormatter, @@ -8,7 +8,7 @@ import { } from 'next-drupal-query' import { queries } from '@/data/queries/index' import { drupalClient } from '@/lib/drupal/drupalClient' -import { ExpandableText } from '@/types/dataTypes/formatted/expandableText' +import { ExpandableText } from '@/types/formatted/expandableText' export const params: QueryParams = () => { return queries.getParams().addPageLimit(10) diff --git a/src/data/queries/headerFooter.ts b/src/data/queries/headerFooter.ts index f2ca61fcf..68332f1af 100644 --- a/src/data/queries/headerFooter.ts +++ b/src/data/queries/headerFooter.ts @@ -1,7 +1,7 @@ import { QueryData, QueryFormatter, QueryParams } from 'next-drupal-query' import { queries } from '.' -import { Menu, HeaderMegaMenu } from '@/types/dataTypes/drupal/menu' -import { HeaderFooterData } from '@/types/dataTypes/formatted/headerFooter' +import { Menu, HeaderMegaMenu } from '@/types/drupal/menu' +import { HeaderFooterData } from '@/types/formatted/headerFooter' import { buildHeaderFooterData } from '@/lib/utils/headerFooter' import { getMenu } from '@/lib/drupal/queryResources' diff --git a/src/data/queries/linkTeaser.ts b/src/data/queries/linkTeaser.ts index 3fe8229d4..49447759f 100644 --- a/src/data/queries/linkTeaser.ts +++ b/src/data/queries/linkTeaser.ts @@ -5,9 +5,9 @@ import { QueryParams, } from 'next-drupal-query' import { queries } from '.' -import { ParagraphLinkTeaser } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphLinkTeaser } from '@/types/drupal/paragraph' import { drupalClient } from '@/lib/drupal/drupalClient' -import { LinkTeaser } from '@/types/dataTypes/formatted/linkTeaser' +import { LinkTeaser } from '@/types/formatted/linkTeaser' // Define the query params for fetching node--news_story. export const params: QueryParams = () => { diff --git a/src/data/queries/mediaImage.ts b/src/data/queries/mediaImage.ts index 63cbaeef0..b294f6b67 100644 --- a/src/data/queries/mediaImage.ts +++ b/src/data/queries/mediaImage.ts @@ -5,9 +5,9 @@ import { QueryParams, } from 'next-drupal-query' import { queries } from '.' -import { DrupalMediaImage } from '@/types/dataTypes/drupal/media' +import { DrupalMediaImage } from '@/types/drupal/media' import { drupalClient } from '@/lib/drupal/drupalClient' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' type DrupalMediaImageData = { entity: DrupalMediaImage diff --git a/src/data/queries/newsStory.ts b/src/data/queries/newsStory.ts index eac01b7ed..45b813338 100644 --- a/src/data/queries/newsStory.ts +++ b/src/data/queries/newsStory.ts @@ -1,8 +1,8 @@ import { QueryData, QueryFormatter, QueryParams } from 'next-drupal-query' import { drupalClient } from '@/lib/drupal/drupalClient' import { queries } from '.' -import { NodeNewsStory } from '@/types/dataTypes/drupal/node' -import { NewsStory } from '@/types/dataTypes/formatted/newsStory' +import { NodeNewsStory } from '@/types/drupal/node' +import { NewsStory } from '@/types/formatted/newsStory' import { ExpandedStaticPropsContext } from '@/lib/drupal/staticProps' // Define the query params for fetching node--news_story. diff --git a/src/data/queries/newsStoryTeaser.ts b/src/data/queries/newsStoryTeaser.ts index ac87c4d92..6894b4c78 100644 --- a/src/data/queries/newsStoryTeaser.ts +++ b/src/data/queries/newsStoryTeaser.ts @@ -1,7 +1,7 @@ import { QueryFormatter, QueryParams } from 'next-drupal-query' import { queries } from '.' -import { NodeNewsStory } from '@/types/dataTypes/drupal/node' -import { NewsStoryTeaser } from '@/types/dataTypes/formatted/newsStory' +import { NodeNewsStory } from '@/types/drupal/node' +import { NewsStoryTeaser } from '@/types/formatted/newsStory' // Define the query params for fetching node--news_story. export const params: QueryParams = () => { diff --git a/src/data/queries/personProfile.ts b/src/data/queries/personProfile.ts index 9c795f203..f0dc739a1 100644 --- a/src/data/queries/personProfile.ts +++ b/src/data/queries/personProfile.ts @@ -5,9 +5,9 @@ import { QueryParams, } from 'next-drupal-query' import { queries } from '.' -import { NodePersonProfile } from '@/types/dataTypes/drupal/node' +import { NodePersonProfile } from '@/types/drupal/node' import { drupalClient } from '@/lib/drupal/drupalClient' -import { PersonProfile } from '@/types/dataTypes/formatted/personProfile' +import { PersonProfile } from '@/types/formatted/personProfile' // Define the query params for fetching node--news_story. export const params: QueryParams = () => { diff --git a/src/data/queries/promoBlock.ts b/src/data/queries/promoBlock.ts index 92f23b5af..f1dc36f73 100644 --- a/src/data/queries/promoBlock.ts +++ b/src/data/queries/promoBlock.ts @@ -6,8 +6,8 @@ import { } from 'next-drupal-query' import { queries } from '.' import { drupalClient } from '@/lib/drupal/drupalClient' -import { BlockPromo } from '@/types/dataTypes/drupal/block' -import { MegaMenuPromoColumn } from '@/types/dataTypes/formatted/headerFooter' +import { BlockPromo } from '@/types/drupal/block' +import { MegaMenuPromoColumn } from '@/types/formatted/headerFooter' // Define the query params for fetching block_content--promo. export const params: QueryParams = () => { diff --git a/src/data/queries/questionAnswer.ts b/src/data/queries/questionAnswer.ts index f7e7f8573..ad1fceb55 100644 --- a/src/data/queries/questionAnswer.ts +++ b/src/data/queries/questionAnswer.ts @@ -6,8 +6,8 @@ import { } from 'next-drupal-query' import { drupalClient } from '@/lib/drupal/drupalClient' import { queries } from '.' -import { NodeQA } from '@/types/dataTypes/drupal/node' -import { QuestionAnswer } from '@/types/dataTypes/formatted/questionAnswer' +import { NodeQA } from '@/types/drupal/node' +import { QuestionAnswer } from '@/types/formatted/questionAnswer' // Define the query params for fetching node--q_a. export const params: QueryParams = () => { diff --git a/src/data/queries/staticPathResources.ts b/src/data/queries/staticPathResources.ts index 9dbcf26b7..8bfb756a2 100644 --- a/src/data/queries/staticPathResources.ts +++ b/src/data/queries/staticPathResources.ts @@ -9,8 +9,8 @@ import { ADDITIONAL_RESOURCE_TYPES, ResourceType, } from '@/lib/constants/resourceTypes' -import { StaticPathResource } from '@/types/dataTypes/formatted/staticPathResource' -import { FieldAdministration } from '@/types/dataTypes/drupal/field_type' +import { StaticPathResource } from '@/types/formatted/staticPathResource' +import { FieldAdministration } from '@/types/drupal/field_type' import { PAGE_SIZES } from '@/lib/constants/pageSizes' import { queries } from '.' import { fetchAndConcatAllResourceCollectionPages } from './utils' diff --git a/src/data/queries/storyListing.ts b/src/data/queries/storyListing.ts index 2362d47c5..19208819d 100644 --- a/src/data/queries/storyListing.ts +++ b/src/data/queries/storyListing.ts @@ -1,9 +1,9 @@ import { QueryData, QueryFormatter, QueryParams } from 'next-drupal-query' import { drupalClient } from '@/lib/drupal/drupalClient' import { queries } from '.' -import { NodeStoryListing, NodeNewsStory } from '@/types/dataTypes/drupal/node' -import { Menu } from '@/types/dataTypes/drupal/menu' -import { StoryListing } from '@/types/dataTypes/formatted/storyListing' +import { NodeStoryListing, NodeNewsStory } from '@/types/drupal/node' +import { Menu } from '@/types/drupal/menu' +import { StoryListing } from '@/types/formatted/storyListing' import { DrupalJsonApiParams } from 'drupal-jsonapi-params' import { buildSideNavDataFromMenu } from '@/lib/drupal/facilitySideNav' import { ListingPageDataOpts } from '@/lib/drupal/listingPages' diff --git a/src/data/queries/tests/audienceTopic.test.tsx b/src/data/queries/tests/audienceTopic.test.tsx index d2a1bfad2..d1252b7d2 100644 --- a/src/data/queries/tests/audienceTopic.test.tsx +++ b/src/data/queries/tests/audienceTopic.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { ParagraphAudienceTopics } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphAudienceTopics } from '@/types/drupal/paragraph' import mockData from '@/mocks/audienceTopics.mock.json' // Adding this because next-drupal has some bad type definitions. diff --git a/src/data/queries/tests/banners.test.tsx b/src/data/queries/tests/banners.test.tsx index 20f6c8b3b..4c9f9b1ed 100644 --- a/src/data/queries/tests/banners.test.tsx +++ b/src/data/queries/tests/banners.test.tsx @@ -1,4 +1,4 @@ -import { NodeBanner } from '@/types/dataTypes/drupal/node' +import { NodeBanner } from '@/types/drupal/node' import { queries } from '@/data/queries/' import mockData from '@/mocks/banners.mock.json' diff --git a/src/data/queries/tests/benefitsHub.test.tsx b/src/data/queries/tests/benefitsHub.test.tsx index 6611fdfeb..6500a8122 100644 --- a/src/data/queries/tests/benefitsHub.test.tsx +++ b/src/data/queries/tests/benefitsHub.test.tsx @@ -1,4 +1,4 @@ -import { NodeLandingPage } from '@/types/dataTypes/drupal/node' +import { NodeLandingPage } from '@/types/drupal/node' import { queries } from '@/data/queries' import mockData from '@/mocks/benefitHubs.mock.json' diff --git a/src/data/queries/tests/button.test.tsx b/src/data/queries/tests/button.test.tsx index 4cdb14017..481228830 100644 --- a/src/data/queries/tests/button.test.tsx +++ b/src/data/queries/tests/button.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { ParagraphButton } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphButton } from '@/types/drupal/paragraph' import mockData from '@/mocks/button.mock.json' const buttonMock: ParagraphButton[] = mockData diff --git a/src/data/queries/tests/emailContact.test.tsx b/src/data/queries/tests/emailContact.test.tsx index dccaf49c0..2f6fc3263 100644 --- a/src/data/queries/tests/emailContact.test.tsx +++ b/src/data/queries/tests/emailContact.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { ParagraphEmailContact } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphEmailContact } from '@/types/drupal/paragraph' import mockData from '@/mocks/emailContact.mock.json' const emailMock: ParagraphEmailContact = mockData diff --git a/src/data/queries/tests/event.test.tsx b/src/data/queries/tests/event.test.tsx index 772cb799e..7a9124e4b 100644 --- a/src/data/queries/tests/event.test.tsx +++ b/src/data/queries/tests/event.test.tsx @@ -1,4 +1,4 @@ -import { NodeEvent } from '@/types/dataTypes/drupal/node' +import { NodeEvent } from '@/types/drupal/node' import { queries } from '@/data/queries' import mockData from '@/mocks/event.mock.json' diff --git a/src/data/queries/tests/expandableText.test.tsx b/src/data/queries/tests/expandableText.test.tsx index 1809a7737..4eb775a4e 100644 --- a/src/data/queries/tests/expandableText.test.tsx +++ b/src/data/queries/tests/expandableText.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { ParagraphExpandableText } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphExpandableText } from '@/types/drupal/paragraph' import mockData from '@/mocks/expandableText.mock.json' const expandableTextMock: ParagraphExpandableText[] = mockData diff --git a/src/data/queries/tests/linkTeaser.test.tsx b/src/data/queries/tests/linkTeaser.test.tsx index 2f1dae110..d75d585b6 100644 --- a/src/data/queries/tests/linkTeaser.test.tsx +++ b/src/data/queries/tests/linkTeaser.test.tsx @@ -1,6 +1,6 @@ import { queries } from '@/data/queries' import mockData from '@/mocks/linkTeaser.mock.json' -import { ParagraphLinkTeaser } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphLinkTeaser } from '@/types/drupal/paragraph' const linkTeaserMock: ParagraphLinkTeaser[] = mockData diff --git a/src/data/queries/tests/mediaImage.test.tsx b/src/data/queries/tests/mediaImage.test.tsx index cd1f37078..43d69d8fa 100644 --- a/src/data/queries/tests/mediaImage.test.tsx +++ b/src/data/queries/tests/mediaImage.test.tsx @@ -1,4 +1,4 @@ -import { DrupalMediaImage } from '@/types/dataTypes/drupal/media' +import { DrupalMediaImage } from '@/types/drupal/media' import { queries } from '@/data/queries/' import mockData from '@/mocks/mediaImage.mock.json' diff --git a/src/data/queries/tests/newsStory.test.tsx b/src/data/queries/tests/newsStory.test.tsx index 65c7cb6a3..267a20bfe 100644 --- a/src/data/queries/tests/newsStory.test.tsx +++ b/src/data/queries/tests/newsStory.test.tsx @@ -1,4 +1,4 @@ -import { NodeNewsStory } from '@/types/dataTypes/drupal/node' +import { NodeNewsStory } from '@/types/drupal/node' import { queries } from '@/data/queries' import mockData from '@/mocks/newsStory.mock.json' diff --git a/src/data/queries/tests/personProfile.test.tsx b/src/data/queries/tests/personProfile.test.tsx index 2c596ed58..449acfab7 100644 --- a/src/data/queries/tests/personProfile.test.tsx +++ b/src/data/queries/tests/personProfile.test.tsx @@ -1,4 +1,4 @@ -import { NodePersonProfile } from '@/types/dataTypes/drupal/node' +import { NodePersonProfile } from '@/types/drupal/node' import { queries } from '@/data/queries/' import mockData from '@/mocks/personProfile.mock.json' diff --git a/src/data/queries/tests/questionAnswer.test.tsx b/src/data/queries/tests/questionAnswer.test.tsx index 43d73034f..524c56643 100644 --- a/src/data/queries/tests/questionAnswer.test.tsx +++ b/src/data/queries/tests/questionAnswer.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { NodeQA } from '@/types/dataTypes/drupal/node' +import { NodeQA } from '@/types/drupal/node' import mockData from '@/mocks/questionAnswer.mock.json' // Adding this because next-drupal has some bad type definitions. diff --git a/src/data/queries/tests/richTextCharLimit1000.test.tsx b/src/data/queries/tests/richTextCharLimit1000.test.tsx index b590e2246..99c833fef 100644 --- a/src/data/queries/tests/richTextCharLimit1000.test.tsx +++ b/src/data/queries/tests/richTextCharLimit1000.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { ParagraphRichTextCharLimit1000 } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphRichTextCharLimit1000 } from '@/types/drupal/paragraph' import mockData from '@/mocks/richTextCharLimit1000.mock.json' const richTextMock: ParagraphRichTextCharLimit1000[] = mockData diff --git a/src/data/queries/tests/wysiwyg.test.tsx b/src/data/queries/tests/wysiwyg.test.tsx index e360b9dd1..ea0513842 100644 --- a/src/data/queries/tests/wysiwyg.test.tsx +++ b/src/data/queries/tests/wysiwyg.test.tsx @@ -1,5 +1,5 @@ import { queries } from '@/data/queries' -import { ParagraphWysiwyg } from '@/types/dataTypes/drupal/paragraph' +import { ParagraphWysiwyg } from '@/types/drupal/paragraph' import mockData from '@/mocks/wysiwyg.mock.json' const wysiwygMock: ParagraphWysiwyg[] = mockData diff --git a/src/data/queries/wysiwyg.ts b/src/data/queries/wysiwyg.ts index ff4686577..415d41f75 100644 --- a/src/data/queries/wysiwyg.ts +++ b/src/data/queries/wysiwyg.ts @@ -1,9 +1,9 @@ import { ParagraphWysiwyg, ParagraphRichTextCharLimit1000, -} from '@/types/dataTypes/drupal/paragraph' +} from '@/types/drupal/paragraph' import { QueryFormatter } from 'next-drupal-query' -import { Wysiwyg } from '@/types/dataTypes/formatted/wysiwyg' +import { Wysiwyg } from '@/types/formatted/wysiwyg' import { drupalToVaPath, phoneLinks } from '@/lib/utils/helpers' // Define the formatter for returning paragraph--wysiwyg & paragraph--rich_text_char_limit_1000 data. diff --git a/src/lib/drupal/facilitySideNav.ts b/src/lib/drupal/facilitySideNav.ts index 27a4777df..9ad757da1 100644 --- a/src/lib/drupal/facilitySideNav.ts +++ b/src/lib/drupal/facilitySideNav.ts @@ -1,9 +1,9 @@ -import { Menu, MenuItem } from '@/types/dataTypes/drupal/menu' +import { Menu, MenuItem } from '@/types/drupal/menu' import { SideNavData, SideNavItem, SideNavMenu, -} from '@/types/dataTypes/formatted/sideNav' +} from '@/types/formatted/sideNav' // Recursively fit menu items into sidenav-requested shape const normalizeMenuItem = (item: MenuItem): SideNavItem => { diff --git a/src/lib/drupal/getGlobalElements.ts b/src/lib/drupal/getGlobalElements.ts index e16e790c0..a8f1ed341 100644 --- a/src/lib/drupal/getGlobalElements.ts +++ b/src/lib/drupal/getGlobalElements.ts @@ -1,7 +1,7 @@ import { formatter } from '@/data/queries/banners' import { drupalClient } from '@/lib/drupal/drupalClient' import { LayoutProps } from '@/templates/globals/wrapper' -import { NodeBanner } from '@/types/dataTypes/drupal/node' +import { NodeBanner } from '@/types/drupal/node' import { queries } from '@/data/queries' const nonSlugRoute = `${process.env.NEXT_PUBLIC_DRUPAL_BASE_URL}/jsonapi/banner-alerts?item-path=/` diff --git a/src/lib/drupal/listingPages.ts b/src/lib/drupal/listingPages.ts index cbd01db37..bd8663947 100644 --- a/src/lib/drupal/listingPages.ts +++ b/src/lib/drupal/listingPages.ts @@ -1,7 +1,7 @@ import { drupalClient } from '@/lib/drupal/drupalClient' import { QUERIES_MAP, queries } from '@/data/queries' import { RESOURCE_TYPES, ResourceType } from '@/lib/constants/resourceTypes' -import { StaticPathResource } from '@/types/dataTypes/formatted/staticPathResource' +import { StaticPathResource } from '@/types/formatted/staticPathResource' import { GetStaticPropsContext } from 'next' import { LovellStaticPropsContextProps } from '@/lib/drupal/lovell/types' import { isLovellChildVariantResource } from '@/lib/drupal/lovell/utils' diff --git a/src/lib/drupal/lovell/staticPaths.ts b/src/lib/drupal/lovell/staticPaths.ts index 3fcf2092d..93000935a 100644 --- a/src/lib/drupal/lovell/staticPaths.ts +++ b/src/lib/drupal/lovell/staticPaths.ts @@ -1,7 +1,7 @@ import { LovellVariant } from './types' import { LOVELL } from './constants' import { getLovellVariantOfUrl, isLovellFederalResource } from './utils' -import { StaticPathResource } from '@/types/dataTypes/formatted/staticPathResource' +import { StaticPathResource } from '@/types/formatted/staticPathResource' /** * Returns a static-path resource adjusted for `variant` diff --git a/src/lib/drupal/lovell/utils.ts b/src/lib/drupal/lovell/utils.ts index 012d73d9e..fd8c68d94 100644 --- a/src/lib/drupal/lovell/utils.ts +++ b/src/lib/drupal/lovell/utils.ts @@ -9,12 +9,12 @@ import { LOVELL_RESOURCE_TYPES, LOVELL_BIFURCATED_RESOURCE_TYPES, } from './constants' -import { StaticPathResource } from '@/types/dataTypes/formatted/staticPathResource' +import { StaticPathResource } from '@/types/formatted/staticPathResource' import { FormattedResource } from '@/data/queries' import { ResourceType } from '@/lib/constants/resourceTypes' import { slugToPath } from '@/lib/utils/slug' -import { SideNavItem, SideNavMenu } from '@/types/dataTypes/formatted/sideNav' -import { BreadcrumbItem } from '@/types/dataTypes/drupal/field_type' +import { SideNavItem, SideNavMenu } from '@/types/formatted/sideNav' +import { BreadcrumbItem } from '@/types/drupal/field_type' export function isLovellResourceType(resourceType: ResourceType): boolean { return (LOVELL_RESOURCE_TYPES as readonly string[]).includes(resourceType) diff --git a/src/lib/drupal/staticPaths.ts b/src/lib/drupal/staticPaths.ts index 4268e0163..ad64e5eb7 100644 --- a/src/lib/drupal/staticPaths.ts +++ b/src/lib/drupal/staticPaths.ts @@ -6,7 +6,7 @@ import { } from '@/lib/drupal/listingPages' import { RESOURCE_TYPES, ResourceType } from '@/lib/constants/resourceTypes' import { queries } from '@/data/queries' -import { StaticPathResource } from '@/types/dataTypes/formatted/staticPathResource' +import { StaticPathResource } from '@/types/formatted/staticPathResource' import { bifurcateLovellFederalPathResources, removeLovellFederalPathResources, diff --git a/src/lib/utils/breadcrumbs.test.ts b/src/lib/utils/breadcrumbs.test.ts index af836d092..0157dd470 100644 --- a/src/lib/utils/breadcrumbs.test.ts +++ b/src/lib/utils/breadcrumbs.test.ts @@ -4,7 +4,7 @@ import { transformBreadcrumbs, filterInvalidCrumbs, } from './breadcrumbs' -import { BreadcrumbItem } from '@/types/dataTypes/drupal/field_type' +import { BreadcrumbItem } from '@/types/drupal/field_type' describe('breadcrumbUtils', () => { describe('deriveLastBreadcrumbFromPath', () => { diff --git a/src/lib/utils/breadcrumbs.ts b/src/lib/utils/breadcrumbs.ts index d79ec58d9..1afac72f3 100644 --- a/src/lib/utils/breadcrumbs.ts +++ b/src/lib/utils/breadcrumbs.ts @@ -1,7 +1,4 @@ -import { - BreadcrumbItem, - BreadCrumbLink, -} from '@/types/dataTypes/drupal/field_type' +import { BreadcrumbItem, BreadCrumbLink } from '@/types/drupal/field_type' export function deriveLastBreadcrumbFromPath( breadcrumbs: BreadcrumbItem[], diff --git a/src/lib/utils/header.test.ts b/src/lib/utils/header.test.ts index 20fb283e5..6721c961d 100644 --- a/src/lib/utils/header.test.ts +++ b/src/lib/utils/header.test.ts @@ -1,4 +1,4 @@ -import { MegaMenuSection } from '@/types/dataTypes/formatted/headerFooter' +import { MegaMenuSection } from '@/types/formatted/headerFooter' import { formatHeaderData } from './header' describe('header megamenu', () => { diff --git a/src/lib/utils/header.ts b/src/lib/utils/header.ts index be3a841e2..e7dcbefba 100644 --- a/src/lib/utils/header.ts +++ b/src/lib/utils/header.ts @@ -6,7 +6,7 @@ import { MegaMenuLink, MegaMenuLinkObject, MegaMenuSection, -} from '@/types/dataTypes/formatted/headerFooter' +} from '@/types/formatted/headerFooter' /** * Most of this file is to massage the data for the menu links diff --git a/src/lib/utils/headerFooter.test.ts b/src/lib/utils/headerFooter.test.ts index 9419b91b7..73de5c0a5 100644 --- a/src/lib/utils/headerFooter.test.ts +++ b/src/lib/utils/headerFooter.test.ts @@ -1,5 +1,5 @@ import { buildHeaderFooterData } from './headerFooter' -import { FooterLink } from '@/types/dataTypes/formatted/headerFooter' +import { FooterLink } from '@/types/formatted/headerFooter' describe('headerFooter', () => { test('should combine footer menus into one array', () => { diff --git a/src/lib/utils/headerFooter.ts b/src/lib/utils/headerFooter.ts index 8fd66e86f..4ee8a645a 100644 --- a/src/lib/utils/headerFooter.ts +++ b/src/lib/utils/headerFooter.ts @@ -1,10 +1,7 @@ import { convertLinkToAbsolute, formatHeaderData } from '@/lib/utils/header' import { FOOTER_LINKS } from '../constants/footer-links' import { RawHeaderFooterData } from '@/data/queries/headerFooter' -import { - FooterLink, - HeaderFooterData, -} from '@/types/dataTypes/formatted/headerFooter' +import { FooterLink, HeaderFooterData } from '@/types/formatted/headerFooter' // Helper functions to format footer menu items const formatLink = (link, linkIndex, columnId, hostUrl): FooterLink => { diff --git a/src/pages/[[...slug]].tsx b/src/pages/[[...slug]].tsx index 89d743034..15b5c95d0 100644 --- a/src/pages/[[...slug]].tsx +++ b/src/pages/[[...slug]].tsx @@ -21,9 +21,9 @@ import Breadcrumbs from '@/templates/common/breadcrumbs' import { StaticPropsResource } from '@/lib/drupal/staticProps' import { FormattedResource } from '@/data/queries' import { LayoutProps } from '@/templates/globals/wrapper' -import { NewsStory as FormattedNewsStory } from '@/types/dataTypes/formatted/newsStory' -import { StoryListing as FormattedStoryListing } from '@/types/dataTypes/formatted/storyListing' -import { Event as FormattedEvent } from '@/types/dataTypes/formatted/event' +import { NewsStory as FormattedNewsStory } from '@/types/formatted/newsStory' +import { StoryListing as FormattedStoryListing } from '@/types/formatted/storyListing' +import { Event as FormattedEvent } from '@/types/formatted/event' import { Meta } from '@/templates/globals/meta' import { PreviewCrumb } from '@/templates/common/preview' diff --git a/src/templates/common/benefitsHubLinks/index.test.tsx b/src/templates/common/benefitsHubLinks/index.test.tsx index 6b0582b6f..b9af4bddd 100644 --- a/src/templates/common/benefitsHubLinks/index.test.tsx +++ b/src/templates/common/benefitsHubLinks/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { BenefitsHubLinks } from './index' -import { BenefitsHubLinks as FormattedBenefitsHubLinks } from '@/types/dataTypes/formatted/benefitsHub' +import { BenefitsHubLinks as FormattedBenefitsHubLinks } from '@/types/formatted/benefitsHub' let benefitHubProps: FormattedBenefitsHubLinks = { title: 'Deciding how much life insurance to get', diff --git a/src/templates/common/benefitsHubLinks/index.tsx b/src/templates/common/benefitsHubLinks/index.tsx index 0d501aa86..511d5ff37 100644 --- a/src/templates/common/benefitsHubLinks/index.tsx +++ b/src/templates/common/benefitsHubLinks/index.tsx @@ -3,7 +3,7 @@ import { isEmpty } from 'lodash' import { BenefitsHubLinks as FormattedBenefitHubLinks, BenefitsHub, -} from '@/types/dataTypes/formatted/benefitsHub' +} from '@/types/formatted/benefitsHub' // Partial outputting a list of benefits related to a given page. // Typically, used on a resource page. diff --git a/src/templates/common/breadcrumbs/index.tsx b/src/templates/common/breadcrumbs/index.tsx index a66f997dd..2a67f9672 100644 --- a/src/templates/common/breadcrumbs/index.tsx +++ b/src/templates/common/breadcrumbs/index.tsx @@ -4,10 +4,7 @@ import { deriveLcBreadcrumbs, filterInvalidCrumbs, } from '@/lib/utils/breadcrumbs' -import { - BreadcrumbItem, - BreadCrumbLink, -} from '@/types/dataTypes/drupal/field_type' +import { BreadcrumbItem, BreadCrumbLink } from '@/types/drupal/field_type' interface BreadcrumbProps { breadcrumbs?: BreadcrumbItem[] diff --git a/src/templates/common/button/index.test.tsx b/src/templates/common/button/index.test.tsx index 4071aec70..29a487d7b 100644 --- a/src/templates/common/button/index.test.tsx +++ b/src/templates/common/button/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { Button } from './index' -import { Button as FormattedButton } from '@/types/dataTypes/formatted/button' +import { Button as FormattedButton } from '@/types/formatted/button' const buttonProps: FormattedButton = { id: 'f421578b-0add-405c-ac0c-1b1d146a360f', diff --git a/src/templates/common/button/index.tsx b/src/templates/common/button/index.tsx index e21459f92..7333aab8e 100644 --- a/src/templates/common/button/index.tsx +++ b/src/templates/common/button/index.tsx @@ -1,5 +1,5 @@ import Link from 'next/link' -import { Button as FormattedButton } from '@/types/dataTypes/formatted/button' +import { Button as FormattedButton } from '@/types/formatted/button' export function Button({ id, label, url }: FormattedButton) { return ( diff --git a/src/templates/common/mediaImage/index.test.tsx b/src/templates/common/mediaImage/index.test.tsx index 86a31e6e5..664cef7cb 100644 --- a/src/templates/common/mediaImage/index.test.tsx +++ b/src/templates/common/mediaImage/index.test.tsx @@ -1,5 +1,5 @@ import { render, screen, waitFor } from '@testing-library/react' -import { MediaImage as FormattedMediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage as FormattedMediaImage } from '@/types/formatted/media' import { MediaImage } from '@/templates/common/mediaImage' const mediaImage: FormattedMediaImage = { diff --git a/src/templates/common/mediaImage/index.tsx b/src/templates/common/mediaImage/index.tsx index db7399a06..94b1b9df4 100644 --- a/src/templates/common/mediaImage/index.tsx +++ b/src/templates/common/mediaImage/index.tsx @@ -1,5 +1,5 @@ import Image from '../image' -import { MediaImage as FormattedMediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage as FormattedMediaImage } from '@/types/formatted/media' // TODO: Do we need this component? It appears to be an unnecessary wrapper. // I think we can probably combine this into Image. We do need a way to use different image styles, though. This currently is not doing that. diff --git a/src/templates/components/alert/index.test.tsx b/src/templates/components/alert/index.test.tsx index 0cf0ab21e..6759b735f 100644 --- a/src/templates/components/alert/index.test.tsx +++ b/src/templates/components/alert/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { AlertBlock } from './index' -import { Alert } from '@/types/dataTypes/formatted/alert' +import { Alert } from '@/types/formatted/alert' const blockContent: Alert = { id: '6ecdbf96-2a9e-4beb-9d95-d41fced1473b', diff --git a/src/templates/components/alert/index.tsx b/src/templates/components/alert/index.tsx index 5c200c0c8..931de6acd 100644 --- a/src/templates/components/alert/index.tsx +++ b/src/templates/components/alert/index.tsx @@ -2,7 +2,7 @@ import { VaAlert, VaAlertExpandable, } from '@department-of-veterans-affairs/component-library/dist/react-bindings' -import { Alert } from '@/types/dataTypes/formatted/alert' +import { Alert } from '@/types/formatted/alert' export function AlertBlock({ alertType, id, title, content }: Alert) { return ( diff --git a/src/templates/components/audienceTopics/index.test.tsx b/src/templates/components/audienceTopics/index.test.tsx index d57a2c4c6..85376ffec 100644 --- a/src/templates/components/audienceTopics/index.test.tsx +++ b/src/templates/components/audienceTopics/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { AudienceTopics } from './index' -import { AudienceTopics as FormattedAudienceTopics } from '@/types/dataTypes/formatted/audienceTopics' +import { AudienceTopics as FormattedAudienceTopics } from '@/types/formatted/audienceTopics' describe('AudienceTopics with valid data', () => { const audienceTopicProps: FormattedAudienceTopics = { diff --git a/src/templates/components/audienceTopics/index.tsx b/src/templates/components/audienceTopics/index.tsx index 92b3b901e..1f41efa2a 100644 --- a/src/templates/components/audienceTopics/index.tsx +++ b/src/templates/components/audienceTopics/index.tsx @@ -1,6 +1,6 @@ import Link from 'next/link' import { isEmpty } from 'lodash' -import { AudienceTopics as FormattedAudienceTopics } from '@/types/dataTypes/formatted/audienceTopics' +import { AudienceTopics as FormattedAudienceTopics } from '@/types/formatted/audienceTopics' export function AudienceTopics({ tags }: FormattedAudienceTopics) { if (isEmpty(tags)) return null diff --git a/src/templates/components/emailContact/index.test.tsx b/src/templates/components/emailContact/index.test.tsx index 66c897aee..f2da883db 100644 --- a/src/templates/components/emailContact/index.test.tsx +++ b/src/templates/components/emailContact/index.test.tsx @@ -3,7 +3,7 @@ import { fireEvent, getByRole } from '@testing-library/dom' jest.mock('@/lib/analytics/recordEvent') import * as recordEvent from '@/lib/analytics/recordEvent' import { EmailContact } from '@/templates/components/emailContact' -import { EmailContact as FormattedEmailContact } from '@/types/dataTypes/formatted/emailContact' +import { EmailContact as FormattedEmailContact } from '@/types/formatted/emailContact' const emailContact: FormattedEmailContact = { id: 'f421578b-0add-405c-ac0c-1b1d146a360f', diff --git a/src/templates/components/emailContact/index.tsx b/src/templates/components/emailContact/index.tsx index 827b9aebc..5d3322119 100644 --- a/src/templates/components/emailContact/index.tsx +++ b/src/templates/components/emailContact/index.tsx @@ -1,7 +1,7 @@ import Link from 'next/link' import { recordEvent } from '@/lib/analytics/recordEvent' import { isEmpty, isNull } from 'lodash' -import { EmailContact as FormattedEmailContact } from '@/types/dataTypes/formatted/emailContact' +import { EmailContact as FormattedEmailContact } from '@/types/formatted/emailContact' function isRequestInValid(email) { return isNull(email.label) || isNull(email.address) diff --git a/src/templates/components/expandableText/index.tsx b/src/templates/components/expandableText/index.tsx index dba3f516f..34bdbe583 100644 --- a/src/templates/components/expandableText/index.tsx +++ b/src/templates/components/expandableText/index.tsx @@ -3,7 +3,7 @@ import { VaAccordionItem, } from '@department-of-veterans-affairs/component-library/dist/react-bindings' import { isEmpty } from 'lodash' -import { ExpandableText as FormattedExpandableText } from '@/types/dataTypes/formatted/expandableText' +import { ExpandableText as FormattedExpandableText } from '@/types/formatted/expandableText' export function ExpandableText({ id, header, text }: FormattedExpandableText) { if (isEmpty(header)) return diff --git a/src/templates/components/linkTeaser/index.test.tsx b/src/templates/components/linkTeaser/index.test.tsx index b1f60269d..5179bd830 100644 --- a/src/templates/components/linkTeaser/index.test.tsx +++ b/src/templates/components/linkTeaser/index.test.tsx @@ -3,7 +3,7 @@ import { fireEvent } from '@testing-library/dom' jest.mock('@/lib/analytics/recordEvent') import * as recordEvent from '@/lib/analytics/recordEvent' import { LinkTeaser } from './index' -import { LinkTeaser as FormattedLinkTeaser } from '@/types/dataTypes/formatted/linkTeaser' +import { LinkTeaser as FormattedLinkTeaser } from '@/types/formatted/linkTeaser' describe(' component renders without field_spokes', () => { const LinkTeaserCollectionProps: FormattedLinkTeaser = { diff --git a/src/templates/components/linkTeaser/index.tsx b/src/templates/components/linkTeaser/index.tsx index e5df0f84c..b2e512068 100644 --- a/src/templates/components/linkTeaser/index.tsx +++ b/src/templates/components/linkTeaser/index.tsx @@ -1,7 +1,7 @@ import Image from '@/templates/common/image' import { get } from 'lodash' import { recordEvent } from '@/lib/analytics/recordEvent' -import { LinkTeaser as FormattedLinkTeaser } from '@/types/dataTypes/formatted/linkTeaser' +import { LinkTeaser as FormattedLinkTeaser } from '@/types/formatted/linkTeaser' export const LinkTeaser = ({ id, diff --git a/src/templates/components/newsStoryTeaser/index.test.tsx b/src/templates/components/newsStoryTeaser/index.test.tsx index 5d9fb8826..bfede1b5e 100644 --- a/src/templates/components/newsStoryTeaser/index.test.tsx +++ b/src/templates/components/newsStoryTeaser/index.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' import { NewsStoryTeaser } from '@/templates/components/newsStoryTeaser' // Language: typescript // Path: src/components/media/index.test.tsx diff --git a/src/templates/components/newsStoryTeaser/index.tsx b/src/templates/components/newsStoryTeaser/index.tsx index a286407df..f2cfaf615 100644 --- a/src/templates/components/newsStoryTeaser/index.tsx +++ b/src/templates/components/newsStoryTeaser/index.tsx @@ -1,6 +1,6 @@ import { MediaImage } from '@/templates/common/mediaImage' import { truncateWordsOrChar } from '@/lib/utils/helpers' -import { NewsStoryTeaser as FormattedNewsStoryTeaser } from '@/types/dataTypes/formatted/newsStory' +import { NewsStoryTeaser as FormattedNewsStoryTeaser } from '@/types/formatted/newsStory' /** Teaser news story. */ export const NewsStoryTeaser = ({ diff --git a/src/templates/components/newsStoryTeaser/newsStoryTeaser.stories.ts b/src/templates/components/newsStoryTeaser/newsStoryTeaser.stories.ts index 436ecc1c2..62819790d 100644 --- a/src/templates/components/newsStoryTeaser/newsStoryTeaser.stories.ts +++ b/src/templates/components/newsStoryTeaser/newsStoryTeaser.stories.ts @@ -1,7 +1,7 @@ import { Meta, StoryObj } from '@storybook/react' import { NewsStoryTeaser } from '@/templates/components/newsStoryTeaser' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' const mediaImage: MediaImage = { id: '3d6716b3-fb66-4e63-9b21-bb9c024129d3', diff --git a/src/templates/components/personProfile/index.test.tsx b/src/templates/components/personProfile/index.test.tsx index c84a658c1..5c1bacadf 100644 --- a/src/templates/components/personProfile/index.test.tsx +++ b/src/templates/components/personProfile/index.test.tsx @@ -1,7 +1,7 @@ import { render, screen } from 'test-utils' import { PersonProfile } from '@/templates/components/personProfile/index' -import { PersonProfile as FormattedPersonProfile } from '@/types/dataTypes/formatted/personProfile' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { PersonProfile as FormattedPersonProfile } from '@/types/formatted/personProfile' +import { MediaImage } from '@/types/formatted/media' const mediaImage: MediaImage = { id: '3', diff --git a/src/templates/components/personProfile/index.tsx b/src/templates/components/personProfile/index.tsx index 278b7a9e4..614a0bf96 100644 --- a/src/templates/components/personProfile/index.tsx +++ b/src/templates/components/personProfile/index.tsx @@ -1,5 +1,5 @@ import { MediaImage } from '@/templates/common/mediaImage' -import { PersonProfile as FormattedPersonProfile } from '@/types/dataTypes/formatted/personProfile' +import { PersonProfile as FormattedPersonProfile } from '@/types/formatted/personProfile' export type PersonProfileTeaserProps = { title: string diff --git a/src/templates/components/personProfile/personProfile.stories.ts b/src/templates/components/personProfile/personProfile.stories.ts index 5e952e44c..c4e96b741 100644 --- a/src/templates/components/personProfile/personProfile.stories.ts +++ b/src/templates/components/personProfile/personProfile.stories.ts @@ -1,7 +1,7 @@ import { Meta, StoryObj } from '@storybook/react' -import { PersonProfile as FormattedPersonProfile } from '@/types/dataTypes/formatted/personProfile' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { PersonProfile as FormattedPersonProfile } from '@/types/formatted/personProfile' +import { MediaImage } from '@/types/formatted/media' import { PersonProfile } from '@/templates/components/personProfile' const mediaImage: MediaImage = { diff --git a/src/templates/components/storyListingLink/index.tsx b/src/templates/components/storyListingLink/index.tsx index 0182ef382..cac0e79c2 100644 --- a/src/templates/components/storyListingLink/index.tsx +++ b/src/templates/components/storyListingLink/index.tsx @@ -1,5 +1,5 @@ import { recordEvent } from '@/lib/analytics/recordEvent' -import { StoryListingLink as FormattedStoryListingLink } from '@/types/dataTypes/formatted/storyListing' +import { StoryListingLink as FormattedStoryListingLink } from '@/types/formatted/storyListing' export const StoryListingLink = ({ path }: FormattedStoryListingLink) => { return ( diff --git a/src/templates/components/wysiwyg/index.test.tsx b/src/templates/components/wysiwyg/index.test.tsx index 1cafe41a5..293e118c4 100644 --- a/src/templates/components/wysiwyg/index.test.tsx +++ b/src/templates/components/wysiwyg/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { Wysiwyg } from './index' -import { Wysiwyg as FormattedWysiwyg } from '@/types/dataTypes/formatted/wysiwyg' +import { Wysiwyg as FormattedWysiwyg } from '@/types/formatted/wysiwyg' import { drupalToVaPath, phoneLinks } from '@/lib/utils/helpers' const wysiwygProps: FormattedWysiwyg = { diff --git a/src/templates/components/wysiwyg/index.tsx b/src/templates/components/wysiwyg/index.tsx index e59068f5b..24d0c3d54 100644 --- a/src/templates/components/wysiwyg/index.tsx +++ b/src/templates/components/wysiwyg/index.tsx @@ -1,6 +1,6 @@ import { isValidData } from '@/lib/utils/helpers' -import { Html } from '@/types/dataTypes/formatted/html' -import { Wysiwyg as FormattedWysiwyg } from '@/types/dataTypes/formatted/wysiwyg' +import { Html } from '@/types/formatted/html' +import { Wysiwyg as FormattedWysiwyg } from '@/types/formatted/wysiwyg' export function Wysiwyg({ id, html, className }: FormattedWysiwyg) { if (!isValidData(html)) return diff --git a/src/templates/globals/banners/banner/index.tsx b/src/templates/globals/banners/banner/index.tsx index 22506e3e0..9b5907d33 100644 --- a/src/templates/globals/banners/banner/index.tsx +++ b/src/templates/globals/banners/banner/index.tsx @@ -1,5 +1,5 @@ import { VaBanner } from '@department-of-veterans-affairs/component-library/dist/react-bindings' -import { Banner as FormattedBanner } from '@/types/dataTypes/formatted/banners' +import { Banner as FormattedBanner } from '@/types/formatted/banners' export const Banner = ({ id, diff --git a/src/templates/globals/banners/facilityBanner/index.test.tsx b/src/templates/globals/banners/facilityBanner/index.test.tsx index db246480f..fe61f8c2a 100644 --- a/src/templates/globals/banners/facilityBanner/index.test.tsx +++ b/src/templates/globals/banners/facilityBanner/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from 'test-utils' import { FacilityBanner } from '@/templates/globals/banners/facilityBanner' -import { FacilityBanner as FormattedFacilityBanner } from '@/types/dataTypes/formatted/banners' +import { FacilityBanner as FormattedFacilityBanner } from '@/types/formatted/banners' const bannerData: FormattedFacilityBanner = { id: 'ccd9d30f-78f9-4358-80d7-191f99b18d43', diff --git a/src/templates/globals/banners/facilityBanner/index.tsx b/src/templates/globals/banners/facilityBanner/index.tsx index 6664a028e..ff2a9d2d1 100644 --- a/src/templates/globals/banners/facilityBanner/index.tsx +++ b/src/templates/globals/banners/facilityBanner/index.tsx @@ -2,8 +2,7 @@ import { useRef, useEffect, useState } from 'react' import { recordEvent } from '@/lib/analytics/recordEvent' import { regionBaseURL } from '@/lib/utils/helpers' import { VaBanner } from '@department-of-veterans-affairs/component-library/dist/react-bindings' -import { NodeMetaInfo } from '@/types/dataTypes/drupal/node' -import { FacilityBanner as FormattedFacilityBanner } from '@/types/dataTypes/formatted/banners' +import { FacilityBanner as FormattedFacilityBanner } from '@/types/formatted/banners' export const FacilityBanner = ({ id, @@ -119,7 +118,3 @@ export const FacilityBanner = ({ ) } - -/** Export information necessary to identify the component and query it. - * See {@link NodeMetaInfo} - */ diff --git a/src/templates/globals/banners/promoBanner/index.tsx b/src/templates/globals/banners/promoBanner/index.tsx index ec14df9cb..5a4764793 100644 --- a/src/templates/globals/banners/promoBanner/index.tsx +++ b/src/templates/globals/banners/promoBanner/index.tsx @@ -1,5 +1,5 @@ import { VaPromoBanner } from '@department-of-veterans-affairs/component-library/dist/react-bindings' -import { PromoBanner as FormattedPromoBanner } from '@/types/dataTypes/formatted/banners' +import { PromoBanner as FormattedPromoBanner } from '@/types/formatted/banners' export const PromoBanner = ({ id, diff --git a/src/templates/globals/meta/index.tsx b/src/templates/globals/meta/index.tsx index e79345a2d..ffbee7cf2 100644 --- a/src/templates/globals/meta/index.tsx +++ b/src/templates/globals/meta/index.tsx @@ -1,5 +1,5 @@ import Head from 'next/head' -import { MetaTag } from '@/types/dataTypes/formatted/metatags' +import { MetaTag } from '@/types/formatted/metatags' import { parseDate, getDateParts } from '@/lib/utils/date' import { StaticPropsResource } from '@/lib/drupal/staticProps' import { FormattedResource } from '@/data/queries' diff --git a/src/templates/globals/wrapper/index.tsx b/src/templates/globals/wrapper/index.tsx index 262e315c8..e28a26ffc 100644 --- a/src/templates/globals/wrapper/index.tsx +++ b/src/templates/globals/wrapper/index.tsx @@ -4,13 +4,13 @@ import { Banner } from '@/templates/globals/banners/banner' import { PromoBanner } from '@/templates/globals/banners/promoBanner' import { FacilityBanner } from '@/templates/globals/banners/facilityBanner' import { isEmpty } from 'lodash' -import { HeaderFooterData } from '@/types/dataTypes/formatted/headerFooter' +import { HeaderFooterData } from '@/types/formatted/headerFooter' import { Banner as FormattedBanner, FacilityBanner as FormattedFacilityBanner, PromoBanner as FormattedPromoBanner, -} from '@/types/dataTypes/formatted/banners' -import { NodeBanner } from '@/types/dataTypes/drupal/node' +} from '@/types/formatted/banners' +import { NodeBanner } from '@/types/drupal/node' import { BannerDisplayType, BannerTypeMapping } from '@/data/queries/banners' import { Header } from '../header' import { Footer } from '../footer/index' diff --git a/src/templates/layouts/event/index.tsx b/src/templates/layouts/event/index.tsx index c93ee5d36..16a8bd65d 100644 --- a/src/templates/layouts/event/index.tsx +++ b/src/templates/layouts/event/index.tsx @@ -9,7 +9,7 @@ import { ContentFooter } from '@/templates/common/contentFooter' import { MediaImage } from '@/templates/common/mediaImage' import { GoogleMapsDirections } from '@/templates/common/googleMapsDirections' import { recordEvent } from '@/lib/analytics/recordEvent' -import { Event as FormattedEvent } from '@/types/dataTypes/formatted/event' +import { Event as FormattedEvent } from '@/types/formatted/event' import { SocialLinksEvents } from '@/templates/common/socialLinksEvents' export const Event = ({ diff --git a/src/templates/layouts/newsStory/index.test.tsx b/src/templates/layouts/newsStory/index.test.tsx index 17fbe7af5..ff55936ff 100644 --- a/src/templates/layouts/newsStory/index.test.tsx +++ b/src/templates/layouts/newsStory/index.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '@testing-library/react' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' import { NewsStory } from './index' const mediaImage: MediaImage = { diff --git a/src/templates/layouts/newsStory/index.tsx b/src/templates/layouts/newsStory/index.tsx index da28e17c1..4d550ec24 100644 --- a/src/templates/layouts/newsStory/index.tsx +++ b/src/templates/layouts/newsStory/index.tsx @@ -3,7 +3,7 @@ import { StaffNewsProfile } from '@/templates/components/personProfile' import { formatDate } from '@/lib/utils/helpers' import { SocialLinks } from '@/templates/common/socialLinks' import { StoryListingLink } from '@/templates/components/storyListingLink' -import { NewsStory as FormattedNewsStory } from '@/types/dataTypes/formatted/newsStory' +import { NewsStory as FormattedNewsStory } from '@/types/formatted/newsStory' import { LovellStaticPropsResource } from '@/lib/drupal/lovell/types' import { ContentFooter } from '@/templates/common/contentFooter' import { LovellSwitcher } from '@/templates/components/lovellSwitcher' diff --git a/src/templates/layouts/newsStory/newsStory.stories.ts b/src/templates/layouts/newsStory/newsStory.stories.ts index 21163bcde..686aa5d88 100644 --- a/src/templates/layouts/newsStory/newsStory.stories.ts +++ b/src/templates/layouts/newsStory/newsStory.stories.ts @@ -1,5 +1,5 @@ import { Meta, StoryObj } from '@storybook/react' -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' import { NewsStory } from './index' const mediaImage: MediaImage = { diff --git a/src/templates/layouts/questionAnswer/index.test.tsx b/src/templates/layouts/questionAnswer/index.test.tsx index 873aee8d7..19ea77f88 100644 --- a/src/templates/layouts/questionAnswer/index.test.tsx +++ b/src/templates/layouts/questionAnswer/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { QuestionAnswer } from './index' -import { QuestionAnswer as FormattedQuestionAnswer } from '@/types/dataTypes/formatted/questionAnswer' +import { QuestionAnswer as FormattedQuestionAnswer } from '@/types/formatted/questionAnswer' describe(' component renders with data', () => { const QuestionAnswerData: FormattedQuestionAnswer = { diff --git a/src/templates/layouts/questionAnswer/index.tsx b/src/templates/layouts/questionAnswer/index.tsx index 2b3beca48..4d9f8f555 100644 --- a/src/templates/layouts/questionAnswer/index.tsx +++ b/src/templates/layouts/questionAnswer/index.tsx @@ -13,7 +13,7 @@ */ import map from 'lodash/map' import { Button } from '@/templates/common/button' -import { QuestionAnswer as FormattedQuestionAnswer } from '@/types/dataTypes/formatted/questionAnswer' +import { QuestionAnswer as FormattedQuestionAnswer } from '@/types/formatted/questionAnswer' import { AudienceTopics } from '@/templates/components/audienceTopics' import { LinkTeaser } from '@/templates/components/linkTeaser' diff --git a/src/templates/layouts/staffProfile/dataService.tsx b/src/templates/layouts/staffProfile/dataService.tsx index c8ea88a6b..a711ca12c 100644 --- a/src/templates/layouts/staffProfile/dataService.tsx +++ b/src/templates/layouts/staffProfile/dataService.tsx @@ -1,6 +1,6 @@ // TODO: refactor this file to the @data/queries directory -import { ParagraphStaffProfile } from '@/types/dataTypes/drupal/paragraph' -import { StaffProfile } from '@/types/dataTypes/formatted/staffProfile' +import { ParagraphStaffProfile } from '@/types/drupal/paragraph' +import { StaffProfile } from '@/types/formatted/staffProfile' import { DrupalJsonApiParams } from 'drupal-jsonapi-params' import { queries } from '@/data/queries' diff --git a/src/templates/layouts/staffProfile/index.tsx b/src/templates/layouts/staffProfile/index.tsx index ad4d6f624..2bd0a8975 100644 --- a/src/templates/layouts/staffProfile/index.tsx +++ b/src/templates/layouts/staffProfile/index.tsx @@ -1,5 +1,5 @@ import { MediaImage } from '@/templates/common/mediaImage' -import { StaffProfile as FormattedStaffProfile } from '@/types/dataTypes/formatted/staffProfile' +import { StaffProfile as FormattedStaffProfile } from '@/types/formatted/staffProfile' export function StaffProfile({ id, diff --git a/src/templates/layouts/storyListing/index.test.tsx b/src/templates/layouts/storyListing/index.test.tsx index 5dd4f93f9..76c99d16c 100644 --- a/src/templates/layouts/storyListing/index.test.tsx +++ b/src/templates/layouts/storyListing/index.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react' import { StoryListing } from '@/templates/layouts/storyListing' -import { StoryListing as FormattedStoryListing } from '@/types/dataTypes/formatted/storyListing' +import { StoryListing as FormattedStoryListing } from '@/types/formatted/storyListing' let storyListingProps: FormattedStoryListing = { id: 'f421578b-0add-405c-ac0c-1b1d146a360f', diff --git a/src/templates/layouts/storyListing/index.tsx b/src/templates/layouts/storyListing/index.tsx index 42eb2679d..378ea18ea 100644 --- a/src/templates/layouts/storyListing/index.tsx +++ b/src/templates/layouts/storyListing/index.tsx @@ -10,9 +10,9 @@ */ import { VaPagination } from '@department-of-veterans-affairs/component-library/dist/react-bindings' -import { SideNavMenu } from '@/types/dataTypes/formatted/sideNav' -import { StoryListing as FormattedStoryListing } from '@/types/dataTypes/formatted/storyListing' -import { NewsStoryTeaser as FormattedNewsStoryTeaser } from '@/types/dataTypes/formatted/newsStory' +import { SideNavMenu } from '@/types/formatted/sideNav' +import { StoryListing as FormattedStoryListing } from '@/types/formatted/storyListing' +import { NewsStoryTeaser as FormattedNewsStoryTeaser } from '@/types/formatted/newsStory' import { NewsStoryTeaser } from '@/templates/components/newsStoryTeaser' import { ContentFooter } from '@/templates/common/contentFooter' import { useEffect } from 'react' diff --git a/src/types/dataTypes/drupal/README.md b/src/types/drupal/README.md similarity index 100% rename from src/types/dataTypes/drupal/README.md rename to src/types/drupal/README.md diff --git a/src/types/dataTypes/drupal/block.ts b/src/types/drupal/block.ts similarity index 100% rename from src/types/dataTypes/drupal/block.ts rename to src/types/drupal/block.ts diff --git a/src/types/dataTypes/drupal/field_type.d.ts b/src/types/drupal/field_type.d.ts similarity index 100% rename from src/types/dataTypes/drupal/field_type.d.ts rename to src/types/drupal/field_type.d.ts diff --git a/src/types/dataTypes/drupal/media.ts b/src/types/drupal/media.ts similarity index 100% rename from src/types/dataTypes/drupal/media.ts rename to src/types/drupal/media.ts diff --git a/src/types/dataTypes/drupal/menu.ts b/src/types/drupal/menu.ts similarity index 100% rename from src/types/dataTypes/drupal/menu.ts rename to src/types/drupal/menu.ts diff --git a/src/types/dataTypes/drupal/metatag.ts b/src/types/drupal/metatag.ts similarity index 100% rename from src/types/dataTypes/drupal/metatag.ts rename to src/types/drupal/metatag.ts diff --git a/src/types/dataTypes/drupal/node.ts b/src/types/drupal/node.ts similarity index 84% rename from src/types/dataTypes/drupal/node.ts rename to src/types/drupal/node.ts index 8c4f5da24..37d3791a5 100644 --- a/src/types/dataTypes/drupal/node.ts +++ b/src/types/drupal/node.ts @@ -411,57 +411,3 @@ export interface NodeSupportService extends DrupalNode { field_phone_number: string field_office: NodeOffice } - -/** General NodeProps to pass nodes into node components. */ -export interface NodeProps { - node: NodeTypes - additionalNode?: NodeTypes - collection?: boolean - additionalParams?: DrupalJsonApiParams - viewMode?: string -} - -/** Each Node component must export a NodeMetaInfo object `Meta`. This information helps next-build associate Drupal resource types with information for rendering them. - * - * Example, from {@link NewsStory}: - * ``` - const params = new DrupalJsonApiParams().addInclude([ - 'field_media', - 'field_media.image', - 'field_author', - ]) - - export const Meta: NodeMetaInfo = { - resource: 'node--news_story', - component: NewsStory, - params: params, - collection: true, // optional - If true, the component will be rendered as a collection of nodes. - additionalNode: 'node--news_story', // optional - If the component is rendered as a collection, this is the name of the resource to query for additional nodes. -} - * ``` - */ -export interface NodeMetaInfo { - /** Identifier for a Drupal data object. These are of the form `entity_type--entity_bundle`, for example `node--news_story` or `paragraph--email_contact`. */ - resource: string - /** The component responsible for rendering or delegating rendering this data object. */ - component: ({ node, viewMode, ...props }: NodeProps) => JSX.Element - /** A DrupalJsonApiParams object containing information necessary for the API query for this data object. */ - params: DrupalJsonApiParams - /** Identifier for an additional Drupal data object. These are of the form `entity_type--entity_bundle`, for example `node--news_story`. */ - additionalNode?: string - /** Additional DrupalJsonApiParams object containing information necessary for the API query for this data object. */ - additionalParams?: DrupalJsonApiParams - /** If true, the component will render a collection of nodes. */ - collection?: boolean -} - -/** This interface enforces that the Node meta information is indexable by type. */ -export interface NodeMetaOut { - [resource: string]: { - component: ({ node }: NodeProps) => JSX.Element - params: DrupalJsonApiParams - additionalNode?: string - additionalParams?: DrupalJsonApiParams - collection?: boolean - } -} diff --git a/src/types/dataTypes/drupal/paragraph.ts b/src/types/drupal/paragraph.ts similarity index 100% rename from src/types/dataTypes/drupal/paragraph.ts rename to src/types/drupal/paragraph.ts diff --git a/src/types/dataTypes/drupal/taxonomy_term.d.ts b/src/types/drupal/taxonomy_term.d.ts similarity index 100% rename from src/types/dataTypes/drupal/taxonomy_term.d.ts rename to src/types/drupal/taxonomy_term.d.ts diff --git a/src/types/dataTypes/formatted/administration.ts b/src/types/formatted/administration.ts similarity index 100% rename from src/types/dataTypes/formatted/administration.ts rename to src/types/formatted/administration.ts diff --git a/src/types/dataTypes/formatted/alert.ts b/src/types/formatted/alert.ts similarity index 100% rename from src/types/dataTypes/formatted/alert.ts rename to src/types/formatted/alert.ts diff --git a/src/types/dataTypes/formatted/audienceTopics.ts b/src/types/formatted/audienceTopics.ts similarity index 100% rename from src/types/dataTypes/formatted/audienceTopics.ts rename to src/types/formatted/audienceTopics.ts diff --git a/src/types/dataTypes/formatted/banners.ts b/src/types/formatted/banners.ts similarity index 100% rename from src/types/dataTypes/formatted/banners.ts rename to src/types/formatted/banners.ts diff --git a/src/types/dataTypes/formatted/benefitsHub.ts b/src/types/formatted/benefitsHub.ts similarity index 100% rename from src/types/dataTypes/formatted/benefitsHub.ts rename to src/types/formatted/benefitsHub.ts diff --git a/src/types/dataTypes/formatted/button.ts b/src/types/formatted/button.ts similarity index 100% rename from src/types/dataTypes/formatted/button.ts rename to src/types/formatted/button.ts diff --git a/src/types/dataTypes/formatted/emailContact.ts b/src/types/formatted/emailContact.ts similarity index 100% rename from src/types/dataTypes/formatted/emailContact.ts rename to src/types/formatted/emailContact.ts diff --git a/src/types/dataTypes/formatted/event.ts b/src/types/formatted/event.ts similarity index 100% rename from src/types/dataTypes/formatted/event.ts rename to src/types/formatted/event.ts diff --git a/src/types/dataTypes/formatted/expandableText.ts b/src/types/formatted/expandableText.ts similarity index 100% rename from src/types/dataTypes/formatted/expandableText.ts rename to src/types/formatted/expandableText.ts diff --git a/src/types/dataTypes/formatted/headerFooter.ts b/src/types/formatted/headerFooter.ts similarity index 100% rename from src/types/dataTypes/formatted/headerFooter.ts rename to src/types/formatted/headerFooter.ts diff --git a/src/types/dataTypes/formatted/html.ts b/src/types/formatted/html.ts similarity index 100% rename from src/types/dataTypes/formatted/html.ts rename to src/types/formatted/html.ts diff --git a/src/types/dataTypes/formatted/linkTeaser.ts b/src/types/formatted/linkTeaser.ts similarity index 100% rename from src/types/dataTypes/formatted/linkTeaser.ts rename to src/types/formatted/linkTeaser.ts diff --git a/src/types/dataTypes/formatted/media.ts b/src/types/formatted/media.ts similarity index 100% rename from src/types/dataTypes/formatted/media.ts rename to src/types/formatted/media.ts diff --git a/src/types/dataTypes/formatted/metatags.ts b/src/types/formatted/metatags.ts similarity index 100% rename from src/types/dataTypes/formatted/metatags.ts rename to src/types/formatted/metatags.ts diff --git a/src/types/dataTypes/formatted/newsStory.ts b/src/types/formatted/newsStory.ts similarity index 85% rename from src/types/dataTypes/formatted/newsStory.ts rename to src/types/formatted/newsStory.ts index 1ff9e22ee..4b9891fc9 100644 --- a/src/types/dataTypes/formatted/newsStory.ts +++ b/src/types/formatted/newsStory.ts @@ -1,8 +1,8 @@ import { ComponentType } from 'react' import { PersonProfileTeaserProps } from '@/templates/components/personProfile' import { SocialLinksProps } from '@/templates/common/socialLinks' -import { Administration } from '@/types/dataTypes/formatted/administration' -import { BreadcrumbItem } from '@/types/dataTypes/drupal/field_type' +import { Administration } from '@/types/formatted/administration' +import { BreadcrumbItem } from '@/types/drupal/field_type' import { PublishedEntity } from './publishedEntity' import { MetaTag } from './metatags' import { MediaImage } from './media' diff --git a/src/types/dataTypes/formatted/personProfile.ts b/src/types/formatted/personProfile.ts similarity index 87% rename from src/types/dataTypes/formatted/personProfile.ts rename to src/types/formatted/personProfile.ts index 742f1c541..593d011be 100644 --- a/src/types/dataTypes/formatted/personProfile.ts +++ b/src/types/formatted/personProfile.ts @@ -1,8 +1,5 @@ import { MediaImage } from './media' -import { - NodeOffice, - NodeHealthCareRegionPage, -} from '@/types/dataTypes/drupal/node' +import { NodeOffice, NodeHealthCareRegionPage } from '@/types/drupal/node' export type PersonProfile = { id: string diff --git a/src/types/dataTypes/formatted/publishedEntity.ts b/src/types/formatted/publishedEntity.ts similarity index 100% rename from src/types/dataTypes/formatted/publishedEntity.ts rename to src/types/formatted/publishedEntity.ts diff --git a/src/types/dataTypes/formatted/questionAnswer.ts b/src/types/formatted/questionAnswer.ts similarity index 100% rename from src/types/dataTypes/formatted/questionAnswer.ts rename to src/types/formatted/questionAnswer.ts diff --git a/src/types/dataTypes/formatted/sideNav.ts b/src/types/formatted/sideNav.ts similarity index 100% rename from src/types/dataTypes/formatted/sideNav.ts rename to src/types/formatted/sideNav.ts diff --git a/src/types/dataTypes/formatted/staffProfile.ts b/src/types/formatted/staffProfile.ts similarity index 74% rename from src/types/dataTypes/formatted/staffProfile.ts rename to src/types/formatted/staffProfile.ts index efca870b5..a73befc5a 100644 --- a/src/types/dataTypes/formatted/staffProfile.ts +++ b/src/types/formatted/staffProfile.ts @@ -1,4 +1,4 @@ -import { MediaImage } from '@/types/dataTypes/formatted/media' +import { MediaImage } from '@/types/formatted/media' export type StaffProfile = { id: string diff --git a/src/types/dataTypes/formatted/staticPathResource.ts b/src/types/formatted/staticPathResource.ts similarity index 100% rename from src/types/dataTypes/formatted/staticPathResource.ts rename to src/types/formatted/staticPathResource.ts diff --git a/src/types/dataTypes/formatted/storyListing.ts b/src/types/formatted/storyListing.ts similarity index 67% rename from src/types/dataTypes/formatted/storyListing.ts rename to src/types/formatted/storyListing.ts index 34589777d..ca2fc6f34 100644 --- a/src/types/dataTypes/formatted/storyListing.ts +++ b/src/types/formatted/storyListing.ts @@ -1,7 +1,7 @@ import { PublishedEntity } from './publishedEntity' -import { NewsStoryTeaser } from '@/types/dataTypes/formatted/newsStory' -import { SideNavMenu } from '@/types/dataTypes/formatted/sideNav' -import { BreadcrumbItem } from '@/types/dataTypes/drupal/field_type' +import { NewsStoryTeaser } from '@/types/formatted/newsStory' +import { SideNavMenu } from '@/types/formatted/sideNav' +import { BreadcrumbItem } from '@/types/drupal/field_type' import { MetaTag } from './metatags' export type StoryListingLink = { diff --git a/src/types/dataTypes/formatted/wysiwyg.ts b/src/types/formatted/wysiwyg.ts similarity index 100% rename from src/types/dataTypes/formatted/wysiwyg.ts rename to src/types/formatted/wysiwyg.ts diff --git a/yarn.lock b/yarn.lock index 00954843b..4ead862e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2889,6 +2889,15 @@ __metadata: languageName: node linkType: hard +"@ljharb/through@npm:^2.3.11": + version: 2.3.11 + resolution: "@ljharb/through@npm:2.3.11" + dependencies: + call-bind: ^1.0.2 + checksum: 10502726028b8a4e0b270a2213e546821c04ed8d7fe411009a8e47497e4ae99c57eeb9ff3d13620ebdefd7c856b16fc873f27c433cad60465dc132fb4b997233 + languageName: node + linkType: hard + "@mdx-js/react@npm:^2.1.5": version: 2.3.0 resolution: "@mdx-js/react@npm:2.3.0" @@ -5369,6 +5378,13 @@ __metadata: languageName: node linkType: hard +"@types/fined@npm:*": + version: 1.1.5 + resolution: "@types/fined@npm:1.1.5" + checksum: 7a9e58904ac95205a989046dbfb3f5c91f5f07664d8d3e4b2d4e25777e5478252d8cea9637c3dc215526a0d2fb3ab3681047183d3447af00ce934466f6569f56 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.6 resolution: "@types/graceful-fs@npm:4.1.6" @@ -5392,6 +5408,16 @@ __metadata: languageName: node linkType: hard +"@types/inquirer@npm:^9.0.3": + version: 9.0.7 + resolution: "@types/inquirer@npm:9.0.7" + dependencies: + "@types/through": "*" + rxjs: ^7.2.0 + checksum: c14c7a52797606a08ca7450d9263c01518b30e0b7610d0817fb530bc4fae7b3ffdcc9d50bb9f7befc2b220bb54195507cc423de3c8f320bbe9f7e5e8881a0226 + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.4 resolution: "@types/istanbul-lib-coverage@npm:2.0.4" @@ -5466,6 +5492,16 @@ __metadata: languageName: node linkType: hard +"@types/liftoff@npm:^4.0.1": + version: 4.0.3 + resolution: "@types/liftoff@npm:4.0.3" + dependencies: + "@types/fined": "*" + "@types/node": "*" + checksum: f29ca5e1ab34d75e0643972e3398c33fdfbed3748279fe6e5578335cf9447ffd7cbd07023128e8b7700e658d99ff89a9a0905439414b8c8056f816497d3f9083 + languageName: node + linkType: hard + "@types/lodash@npm:^4.14.167": version: 4.14.196 resolution: "@types/lodash@npm:4.14.196" @@ -5698,6 +5734,15 @@ __metadata: languageName: node linkType: hard +"@types/through@npm:*": + version: 0.0.33 + resolution: "@types/through@npm:0.0.33" + dependencies: + "@types/node": "*" + checksum: fd0b73f873a64ed5366d1d757c42e5dbbb2201002667c8958eda7ca02fff09d73de91360572db465ee00240c32d50c6039ea736d8eca374300f9664f93e8da39 + languageName: node + linkType: hard + "@types/tough-cookie@npm:*": version: 4.0.2 resolution: "@types/tough-cookie@npm:4.0.2" @@ -6350,6 +6395,16 @@ __metadata: languageName: node linkType: hard +"aggregate-error@npm:^4.0.0": + version: 4.0.1 + resolution: "aggregate-error@npm:4.0.1" + dependencies: + clean-stack: ^4.0.0 + indent-string: ^5.0.0 + checksum: bb3ffdfd13447800fff237c2cba752c59868ee669104bb995dfbbe0b8320e967d679e683dabb640feb32e4882d60258165cde0baafc4cd467cc7d275a13ad6b5 + languageName: node + linkType: hard + "ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -6408,7 +6463,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -6582,6 +6637,13 @@ __metadata: languageName: node linkType: hard +"array-each@npm:^1.0.1": + version: 1.0.1 + resolution: "array-each@npm:1.0.1" + checksum: eb2393c1200003993d97dab2b280aa01e6ca339b383198e5d250cc8cd31f8012a0c22b66f275401a80e89e21bfab420e0f4c77c295637dea525fe0e152ba2300 + languageName: node + linkType: hard + "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -6615,6 +6677,13 @@ __metadata: languageName: node linkType: hard +"array-slice@npm:^1.0.0": + version: 1.1.0 + resolution: "array-slice@npm:1.1.0" + checksum: 3c8ecc7eefe104c97e2207e1d5644be160924c89e08b1807f3cad77f4a8fb10150fc275ebfab90dc02064d178b010cad31b69c9386769d172da270be5e233c51 + languageName: node + linkType: hard + "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -7079,6 +7148,17 @@ __metadata: languageName: node linkType: hard +"bl@npm:^5.0.0": + version: 5.1.0 + resolution: "bl@npm:5.1.0" + dependencies: + buffer: ^6.0.3 + inherits: ^2.0.4 + readable-stream: ^3.4.0 + checksum: a7a438ee0bc540e80b8eb68cc1ad759a9c87df06874a99411d701d01cc0b36f30cd20050512ac3e77090138890960e07bfee724f3ee6619bb39a569f5cc3b1bc + languageName: node + linkType: hard + "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -7452,6 +7532,17 @@ __metadata: languageName: node linkType: hard +"capital-case@npm:^1.0.4": + version: 1.0.4 + resolution: "capital-case@npm:1.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + upper-case-first: ^2.0.2 + checksum: 41fa8fa87f6d24d0835a2b4a9341a3eaecb64ac29cd7c5391f35d6175a0fa98ab044e7f2602e1ec3afc886231462ed71b5b80c590b8b41af903ec2c15e5c5931 + languageName: node + linkType: hard + "case-sensitive-paths-webpack-plugin@npm:^2.4.0": version: 2.4.0 resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" @@ -7476,7 +7567,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:5.3.0, chalk@npm:^5.2.0": +"chalk@npm:5.3.0, chalk@npm:^5.0.0, chalk@npm:^5.2.0, chalk@npm:^5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 623922e077b7d1e9dedaea6f8b9e9352921f8ae3afe739132e0e00c275971bdd331268183b2628cf4ab1727c45ea1f28d7e24ac23ce1db1eb653c414ca8a5a80 @@ -7504,6 +7595,26 @@ __metadata: languageName: node linkType: hard +"change-case@npm:^4.1.2": + version: 4.1.2 + resolution: "change-case@npm:4.1.2" + dependencies: + camel-case: ^4.1.2 + capital-case: ^1.0.4 + constant-case: ^3.0.4 + dot-case: ^3.0.4 + header-case: ^2.0.4 + no-case: ^3.0.4 + param-case: ^3.0.4 + pascal-case: ^3.1.2 + path-case: ^3.0.4 + sentence-case: ^3.0.4 + snake-case: ^3.0.4 + tslib: ^2.0.3 + checksum: e4bc4a093a1f7cce8b33896665cf9e456e3bc3cc0def2ad7691b1994cfca99b3188d0a513b16855b01a6bd20692fcde12a7d4d87a5615c4c515bbbf0e651f116 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -7619,6 +7730,15 @@ __metadata: languageName: node linkType: hard +"clean-stack@npm:^4.0.0": + version: 4.2.0 + resolution: "clean-stack@npm:4.2.0" + dependencies: + escape-string-regexp: 5.0.0 + checksum: 373f656a31face5c615c0839213b9b542a0a48057abfb1df66900eab4dc2a5c6097628e4a0b5aa559cdfc4e66f8a14ea47be9681773165a44470ef5fb8ccc172 + languageName: node + linkType: hard + "cli-cursor@npm:^3.1.0": version: 3.1.0 resolution: "cli-cursor@npm:3.1.0" @@ -7644,6 +7764,13 @@ __metadata: languageName: node linkType: hard +"cli-spinners@npm:^2.9.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 1bd588289b28432e4676cb5d40505cfe3e53f2e4e10fbe05c8a710a154d6fe0ce7836844b00d6858f740f2ffe67cdc36e0fce9c7b6a8430e80e6388d5aa4956c + languageName: node + linkType: hard + "cli-table3@npm:^0.6.1": version: 0.6.3 resolution: "cli-table3@npm:0.6.3" @@ -7674,6 +7801,13 @@ __metadata: languageName: node linkType: hard +"cli-width@npm:^4.1.0": + version: 4.1.0 + resolution: "cli-width@npm:4.1.0" + checksum: 0a79cff2dbf89ef530bcd54c713703ba94461457b11e5634bd024c78796ed21401e32349c004995954e06f442d82609287e7aabf6a5f02c919a1cf3b9b6854ff + languageName: node + linkType: hard + "client-only@npm:0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" @@ -7921,6 +8055,17 @@ __metadata: languageName: node linkType: hard +"constant-case@npm:^3.0.4": + version: 3.0.4 + resolution: "constant-case@npm:3.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + upper-case: ^2.0.2 + checksum: 6c3346d51afc28d9fae922e966c68eb77a19d94858dba230dd92d7b918b37d36db50f0311e9ecf6847e43e934b1c01406a0936973376ab17ec2c471fbcfb2cf3 + languageName: node + linkType: hard + "constants-browserify@npm:^1.0.0": version: 1.0.0 resolution: "constants-browserify@npm:1.0.0" @@ -8466,6 +8611,22 @@ __metadata: languageName: node linkType: hard +"del@npm:^7.1.0": + version: 7.1.0 + resolution: "del@npm:7.1.0" + dependencies: + globby: ^13.1.2 + graceful-fs: ^4.2.10 + is-glob: ^4.0.3 + is-path-cwd: ^3.0.0 + is-path-inside: ^4.0.0 + p-map: ^5.5.0 + rimraf: ^3.0.2 + slash: ^4.0.0 + checksum: 93527e78e95125809ff20a112814b00648ed64af204be1a565862698060c9ec8f5c5fe1a4866725acfde9b0da6423f4b7a7642c1d38cd4b05cbeb643a7b089e3 + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -8511,6 +8672,13 @@ __metadata: languageName: node linkType: hard +"detect-file@npm:^1.0.0": + version: 1.0.0 + resolution: "detect-file@npm:1.0.0" + checksum: 1861e4146128622e847abe0e1ed80fef01e78532665858a792267adf89032b7a9c698436137707fcc6f02956c2a6a0052d6a0cef5be3d4b76b1ff0da88e2158a + languageName: node + linkType: hard + "detect-indent@npm:^6.1.0": version: 6.1.0 resolution: "detect-indent@npm:6.1.0" @@ -8819,7 +8987,7 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^10.3.0": +"emoji-regex@npm:^10.2.1, emoji-regex@npm:^10.3.0": version: 10.3.0 resolution: "emoji-regex@npm:10.3.0" checksum: 5da48edfeb9462fb1ae5495cff2d79129974c696853fb0ce952cbf560f29a2756825433bf51cfd5157ec7b9f93f46f31d712e896d63e3d8ac9c3832bdb45ab73 @@ -9253,6 +9421,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:5.0.0, escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e + languageName: node + linkType: hard + "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -9825,6 +10000,15 @@ __metadata: languageName: node linkType: hard +"expand-tilde@npm:^2.0.0, expand-tilde@npm:^2.0.2": + version: 2.0.2 + resolution: "expand-tilde@npm:2.0.2" + dependencies: + homedir-polyfill: ^1.0.1 + checksum: 2efe6ed407d229981b1b6ceb552438fbc9e5c7d6a6751ad6ced3e0aa5cf12f0b299da695e90d6c2ac79191b5c53c613e508f7149e4573abfbb540698ddb7301a + languageName: node + linkType: hard + "expect@npm:^29.0.0, expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" @@ -9884,14 +10068,14 @@ __metadata: languageName: node linkType: hard -"extend@npm:^3.0.0": +"extend@npm:^3.0.0, extend@npm:^3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" checksum: a50a8309ca65ea5d426382ff09f33586527882cf532931cb08ca786ea3146c0553310bda688710ff61d7668eba9f96b923fe1420cdf56a2c3eaf30fcab87b515 languageName: node linkType: hard -"external-editor@npm:^3.0.3": +"external-editor@npm:^3.0.3, external-editor@npm:^3.1.0": version: 3.1.0 resolution: "external-editor@npm:3.1.0" dependencies: @@ -10007,6 +10191,16 @@ __metadata: languageName: node linkType: hard +"figures@npm:^5.0.0": + version: 5.0.0 + resolution: "figures@npm:5.0.0" + dependencies: + escape-string-regexp: ^5.0.0 + is-unicode-supported: ^1.2.0 + checksum: e6e8b6d1df2f554d4effae4a5ceff5d796f9449f6d4e912d74dab7d5f25916ecda6c305b9084833157d56485a0c78b37164430ddc5675bcee1330e346710669e + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -10137,6 +10331,38 @@ __metadata: languageName: node linkType: hard +"findup-sync@npm:^5.0.0": + version: 5.0.0 + resolution: "findup-sync@npm:5.0.0" + dependencies: + detect-file: ^1.0.0 + is-glob: ^4.0.3 + micromatch: ^4.0.4 + resolve-dir: ^1.0.1 + checksum: 576716c77a0e8330b17ae9cba27d1fda8907c8cda7bf33a47f1999e16e089bfc6df4dd62933e0760f430736183c054348c34aa45dd882d49c8c098f55b89ee1d + languageName: node + linkType: hard + +"fined@npm:^2.0.0": + version: 2.0.0 + resolution: "fined@npm:2.0.0" + dependencies: + expand-tilde: ^2.0.2 + is-plain-object: ^5.0.0 + object.defaults: ^1.1.0 + object.pick: ^1.3.0 + parse-filepath: ^1.0.2 + checksum: 3c5125a5b4eabb9a9569a9bc55a629d4f463ea8926cca9ee0b54d0e0351715aaed7f245a5372defbb59a0aaccdfefae9dc1a9ac0c7b1167ba8537284db956852 + languageName: node + linkType: hard + +"flagged-respawn@npm:^2.0.0": + version: 2.0.0 + resolution: "flagged-respawn@npm:2.0.0" + checksum: 6c2b3fefbe6803953137c0d6033755b69b43dc6e0725b7f71bd90e69c912494a6e50d1c0188551c1c3b9214d7428a875f34f42a35518099c13995d8c471e475b + languageName: node + linkType: hard + "flat-cache@npm:^3.0.4": version: 3.0.4 resolution: "flat-cache@npm:3.0.4" @@ -10199,6 +10425,22 @@ __metadata: languageName: node linkType: hard +"for-in@npm:^1.0.1": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 09f4ae93ce785d253ac963d94c7f3432d89398bf25ac7a24ed034ca393bf74380bdeccc40e0f2d721a895e54211b07c8fad7132e8157827f6f7f059b70b4043d + languageName: node + linkType: hard + +"for-own@npm:^1.0.0": + version: 1.0.0 + resolution: "for-own@npm:1.0.0" + dependencies: + for-in: ^1.0.1 + checksum: 233238f6e9060f61295a7f7c7e3e9de11aaef57e82a108e7f350dc92ae84fe2189848077ac4b8db47fd8edd45337ed8d9f66bd0b1efa4a6a1b3f38aa21b7ab2e + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -10616,6 +10858,30 @@ __metadata: languageName: node linkType: hard +"global-modules@npm:^1.0.0": + version: 1.0.0 + resolution: "global-modules@npm:1.0.0" + dependencies: + global-prefix: ^1.0.1 + is-windows: ^1.0.1 + resolve-dir: ^1.0.0 + checksum: 10be68796c1e1abc1e2ba87ec4ea507f5629873b119ab0cd29c07284ef2b930f1402d10df01beccb7391dedd9cd479611dd6a24311c71be58937beaf18edf85e + languageName: node + linkType: hard + +"global-prefix@npm:^1.0.1": + version: 1.0.2 + resolution: "global-prefix@npm:1.0.2" + dependencies: + expand-tilde: ^2.0.2 + homedir-polyfill: ^1.0.1 + ini: ^1.3.4 + is-windows: ^1.0.1 + which: ^1.2.14 + checksum: 061b43470fe498271bcd514e7746e8a8535032b17ab9570517014ae27d700ff0dca749f76bbde13ba384d185be4310d8ba5712cb0e74f7d54d59390db63dd9a0 + languageName: node + linkType: hard + "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -10655,7 +10921,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.1.3": +"globby@npm:^13.1.2, globby@npm:^13.1.3, globby@npm:^13.2.2": version: 13.2.2 resolution: "globby@npm:13.2.2" dependencies: @@ -10677,7 +10943,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 @@ -10732,6 +10998,24 @@ __metadata: languageName: node linkType: hard +"handlebars@npm:^4.7.8": + version: 4.7.8 + resolution: "handlebars@npm:4.7.8" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.2 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 00e68bb5c183fd7b8b63322e6234b5ac8fbb960d712cb3f25587d559c2951d9642df83c04a1172c918c41bcfc81bfbd7a7718bbce93b893e0135fc99edea93ff + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -10840,6 +11124,16 @@ __metadata: languageName: node linkType: hard +"header-case@npm:^2.0.4": + version: 2.0.4 + resolution: "header-case@npm:2.0.4" + dependencies: + capital-case: ^1.0.4 + tslib: ^2.0.3 + checksum: 571c83eeb25e8130d172218712f807c0b96d62b020981400bccc1503a7cf14b09b8b10498a962d2739eccf231d950e3848ba7d420b58a6acd2f9283439546cd9 + languageName: node + linkType: hard + "headers-polyfill@npm:^4.0.1": version: 4.0.2 resolution: "headers-polyfill@npm:4.0.2" @@ -10858,6 +11152,15 @@ __metadata: languageName: node linkType: hard +"homedir-polyfill@npm:^1.0.1": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: ^1.0.0 + checksum: 18dd4db87052c6a2179d1813adea0c4bfcfa4f9996f0e226fefb29eb3d548e564350fa28ec46b0bf1fbc0a1d2d6922ceceb80093115ea45ff8842a4990139250 + languageName: node + linkType: hard + "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" @@ -11176,6 +11479,13 @@ __metadata: languageName: node linkType: hard +"indent-string@npm:^5.0.0": + version: 5.0.0 + resolution: "indent-string@npm:5.0.0" + checksum: e466c27b6373440e6d84fbc19e750219ce25865cb82d578e41a6053d727e5520dc5725217d6eb1cc76005a1bb1696a0f106d84ce7ebda3033b963a38583fb3b3 + languageName: node + linkType: hard + "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -11193,7 +11503,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:~1.3.0": +"ini@npm:^1.3.4, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -11223,6 +11533,29 @@ __metadata: languageName: node linkType: hard +"inquirer@npm:^9.2.10": + version: 9.2.12 + resolution: "inquirer@npm:9.2.12" + dependencies: + "@ljharb/through": ^2.3.11 + ansi-escapes: ^4.3.2 + chalk: ^5.3.0 + cli-cursor: ^3.1.0 + cli-width: ^4.1.0 + external-editor: ^3.1.0 + figures: ^5.0.0 + lodash: ^4.17.21 + mute-stream: 1.0.0 + ora: ^5.4.1 + run-async: ^3.0.0 + rxjs: ^7.8.1 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wrap-ansi: ^6.2.0 + checksum: 8c372832367f5adb4bb08a0c3ee3b8b16e83202c125d1a681ece2c0ef2f00a5d7d6589a501fd58a0249b4ad49a8013584ac58ae12a20d29b1c24a0ec450927a5 + languageName: node + linkType: hard + "internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": version: 1.0.5 resolution: "internal-slot@npm:1.0.5" @@ -11234,6 +11567,13 @@ __metadata: languageName: node linkType: hard +"interpret@npm:^3.1.1": + version: 3.1.1 + resolution: "interpret@npm:3.1.1" + checksum: 35cebcf48c7351130437596d9ab8c8fe131ce4038da4561e6d665f25640e0034702a031cf7e3a5cea60ac7ac548bf17465e0571ede126f3d3a6933152171ac82 + languageName: node + linkType: hard + "intersection-observer@npm:^0.12.0": version: 0.12.2 resolution: "intersection-observer@npm:0.12.2" @@ -11271,6 +11611,16 @@ __metadata: languageName: node linkType: hard +"is-absolute@npm:^1.0.0": + version: 1.0.0 + resolution: "is-absolute@npm:1.0.0" + dependencies: + is-relative: ^1.0.0 + is-windows: ^1.0.1 + checksum: 9d16b2605eda3f3ce755410f1d423e327ad3a898bcb86c9354cf63970ed3f91ba85e9828aa56f5d6a952b9fae43d0477770f78d37409ae8ecc31e59ebc279b27 + languageName: node + linkType: hard + "is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" @@ -11491,6 +11841,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -11559,6 +11916,13 @@ __metadata: languageName: node linkType: hard +"is-path-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "is-path-cwd@npm:3.0.0" + checksum: bc34d13b6a03dfca4a3ab6a8a5ba78ae4b24f4f1db4b2b031d2760c60d0913bd16a4b980dcb4e590adfc906649d5f5132684079a3972bd219da49deebb9adea8 + languageName: node + linkType: hard + "is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" @@ -11566,7 +11930,14 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:5.0.0": +"is-path-inside@npm:^4.0.0": + version: 4.0.0 + resolution: "is-path-inside@npm:4.0.0" + checksum: 8810fa11c58e6360b82c3e0d6cd7d9c7d0392d3ac9eb10f980b81f9839f40ac6d1d6d6f05d069db0d227759801228f0b072e1b6c343e4469b065ab5fe0b68fe5 + languageName: node + linkType: hard + +"is-plain-object@npm:5.0.0, is-plain-object@npm:^5.0.0": version: 5.0.0 resolution: "is-plain-object@npm:5.0.0" checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c @@ -11599,6 +11970,15 @@ __metadata: languageName: node linkType: hard +"is-relative@npm:^1.0.0": + version: 1.0.0 + resolution: "is-relative@npm:1.0.0" + dependencies: + is-unc-path: ^1.0.0 + checksum: 3271a0df109302ef5e14a29dcd5d23d9788e15ade91a40b942b035827ffbb59f7ce9ff82d036ea798541a52913cbf9d2d0b66456340887b51f3542d57b5a4c05 + languageName: node + linkType: hard + "is-set@npm:^2.0.1, is-set@npm:^2.0.2": version: 2.0.2 resolution: "is-set@npm:2.0.2" @@ -11656,6 +12036,15 @@ __metadata: languageName: node linkType: hard +"is-unc-path@npm:^1.0.0": + version: 1.0.0 + resolution: "is-unc-path@npm:1.0.0" + dependencies: + unc-path-regex: ^0.1.2 + checksum: e8abfde203f7409f5b03a5f1f8636e3a41e78b983702ef49d9343eb608cdfe691429398e8815157519b987b739bcfbc73ae7cf4c8582b0ab66add5171088eab6 + languageName: node + linkType: hard + "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -11663,6 +12052,13 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^1.1.0, is-unicode-supported@npm:^1.2.0, is-unicode-supported@npm:^1.3.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: 20a1fc161afafaf49243551a5ac33b6c4cf0bbcce369fcd8f2951fbdd000c30698ce320de3ee6830497310a8f41880f8066d440aa3eb0a853e2aa4836dd89abc + languageName: node + linkType: hard + "is-weakmap@npm:^2.0.1": version: 2.0.1 resolution: "is-weakmap@npm:2.0.1" @@ -11696,6 +12092,13 @@ __metadata: languageName: node linkType: hard +"is-windows@npm:^1.0.1": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + "is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -11719,6 +12122,13 @@ __metadata: languageName: node linkType: hard +"isbinaryfile@npm:^5.0.0": + version: 5.0.0 + resolution: "isbinaryfile@npm:5.0.0" + checksum: 25cc27388d51b8322c103f5894f9e72ec04e017734e57c4b70be2666501ec7e7f6cbb4a5fcfd15260a7cac979bd1ddb7f5231f5a3098c0695c4e7c049513dfaf + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -11726,7 +12136,7 @@ __metadata: languageName: node linkType: hard -"isobject@npm:^3.0.1": +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 @@ -12779,6 +13189,22 @@ __metadata: languageName: node linkType: hard +"liftoff@npm:^4.0.0": + version: 4.0.0 + resolution: "liftoff@npm:4.0.0" + dependencies: + extend: ^3.0.2 + findup-sync: ^5.0.0 + fined: ^2.0.0 + flagged-respawn: ^2.0.0 + is-plain-object: ^5.0.0 + object.map: ^1.0.1 + rechoir: ^0.8.0 + resolve: ^1.20.0 + checksum: da0af55624ea263d6392627c474aa25cf94293653dd37fbd2521660abd251f5aec59bcef1e49e091f5a9ca9ac0b47f3f87168052e065b20d832dd367a0b9c8cc + languageName: node + linkType: hard + "lilconfig@npm:3.0.0": version: 3.0.0 resolution: "lilconfig@npm:3.0.0" @@ -12896,6 +13322,13 @@ __metadata: languageName: node linkType: hard +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 + languageName: node + linkType: hard + "lodash.merge@npm:4.6.2, lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -12920,6 +13353,16 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^5.1.0": + version: 5.1.0 + resolution: "log-symbols@npm:5.1.0" + dependencies: + chalk: ^5.0.0 + is-unicode-supported: ^1.1.0 + checksum: 7291b6e7f1b3df6865bdaeb9b59605c832668ac2fa0965c63b1e7dd3700349aec09c1d7d40c368d5041ff58b7f89461a56e4009471921301af7b3609cbff9a29 + languageName: node + linkType: hard + "log-update@npm:^6.0.0": version: 6.0.0 resolution: "log-update@npm:6.0.0" @@ -13068,6 +13511,15 @@ __metadata: languageName: node linkType: hard +"make-iterator@npm:^1.0.0": + version: 1.0.1 + resolution: "make-iterator@npm:1.0.1" + dependencies: + kind-of: ^6.0.2 + checksum: d38afc388f4374b15c0622d4fa4d3e8c3154e3a6ba35b01e9a5179c127d7dd09a91fa571056aa9e041981b39f80bdbab035c05475e56ef675a18bdf550f0cb6a + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -13077,6 +13529,13 @@ __metadata: languageName: node linkType: hard +"map-cache@npm:^0.2.0": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3067cea54285c43848bb4539f978a15dedc63c03022abeec6ef05c8cb6829f920f13b94bcaf04142fc6a088318e564c4785704072910d120d55dbc2e0c421969 + languageName: node + linkType: hard + "map-or-similar@npm:^1.5.0": version: 1.5.0 resolution: "map-or-similar@npm:1.5.0" @@ -13432,6 +13891,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d + languageName: node + linkType: hard + "mq-polyfill@npm:^1.1.8": version: 1.1.8 resolution: "mq-polyfill@npm:1.1.8" @@ -13510,6 +13978,13 @@ __metadata: languageName: node linkType: hard +"mute-stream@npm:1.0.0": + version: 1.0.0 + resolution: "mute-stream@npm:1.0.0" + checksum: 36fc968b0e9c9c63029d4f9dc63911950a3bdf55c9a87f58d3a266289b67180201cade911e7699f8b2fa596b34c9db43dad37649e3f7fdd13c3bb9edb0017ee7 + languageName: node + linkType: hard + "nanoid@npm:^3.3.4, nanoid@npm:^3.3.6": version: 3.3.6 resolution: "nanoid@npm:3.3.6" @@ -13619,6 +14094,7 @@ __metadata: next-drupal-query: ^0.4.0 next-sitemap: ^4.2.3 nock: ^13.4.0 + plop: ^4.0.0 prettier: ^2.8.8 proxy-fetcher: 0.1.0 react: ^18.2.0 @@ -13964,6 +14440,27 @@ __metadata: languageName: node linkType: hard +"node-plop@npm:^0.32.0": + version: 0.32.0 + resolution: "node-plop@npm:0.32.0" + dependencies: + "@types/inquirer": ^9.0.3 + change-case: ^4.1.2 + del: ^7.1.0 + globby: ^13.2.2 + handlebars: ^4.7.8 + inquirer: ^9.2.10 + isbinaryfile: ^5.0.0 + lodash.get: ^4.4.2 + lower-case: ^2.0.2 + mkdirp: ^3.0.1 + resolve: ^1.22.4 + title-case: ^3.0.3 + upper-case: ^2.0.2 + checksum: e96877ddaa2e229e32178cf585ed8e4aacc67df9aa9ed8c119acc63f73ac2a77630911967315a364933ec105147b0b0785bac0d6e80957a96a159a08ddd9f0ab + languageName: node + linkType: hard + "node-polyfill-webpack-plugin@npm:^2.0.1": version: 2.0.1 resolution: "node-polyfill-webpack-plugin@npm:2.0.1" @@ -14132,6 +14629,18 @@ __metadata: languageName: node linkType: hard +"object.defaults@npm:^1.1.0": + version: 1.1.0 + resolution: "object.defaults@npm:1.1.0" + dependencies: + array-each: ^1.0.1 + array-slice: ^1.0.0 + for-own: ^1.0.0 + isobject: ^3.0.0 + checksum: 25468e06132af866bffedf9889b8180a31b9915776dbb660106866c5dd70cd0c0ad54f17e34de8ab99e6f548d579678de2e558390f56bd4ee61899fa6057f946 + languageName: node + linkType: hard + "object.entries@npm:^1.1.6": version: 1.1.6 resolution: "object.entries@npm:1.1.6" @@ -14198,6 +14707,25 @@ __metadata: languageName: node linkType: hard +"object.map@npm:^1.0.1": + version: 1.0.1 + resolution: "object.map@npm:1.0.1" + dependencies: + for-own: ^1.0.0 + make-iterator: ^1.0.0 + checksum: 3c9cf1a417f78915c7cf34054188193d4506b3d28f60ffd57aaf035fb34f19688fdf91a1af0ff9b81092270de7d3538ebe6783ae742663ea28a2b19d5eb6c6d9 + languageName: node + linkType: hard + +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 77fb6eed57c67adf75e9901187e37af39f052ef601cb4480386436561357eb9e459e820762f01fd02c5c1b42ece839ad393717a6d1850d848ee11fbabb3e580a + languageName: node + linkType: hard + "object.values@npm:^1.1.6": version: 1.1.6 resolution: "object.values@npm:1.1.6" @@ -14322,6 +14850,23 @@ __metadata: languageName: node linkType: hard +"ora@npm:^7.0.1": + version: 7.0.1 + resolution: "ora@npm:7.0.1" + dependencies: + chalk: ^5.3.0 + cli-cursor: ^4.0.0 + cli-spinners: ^2.9.0 + is-interactive: ^2.0.0 + is-unicode-supported: ^1.3.0 + log-symbols: ^5.1.0 + stdin-discarder: ^0.1.0 + string-width: ^6.1.0 + strip-ansi: ^7.1.0 + checksum: 0842b8b9a96a8586085cafdc25077c76fed8ade072c52c53e748cf40a214731d2215a4d6081d8fbd6203d2b897e834332bda53eb64afd1a5968da17daf020bff + languageName: node + linkType: hard + "os-browserify@npm:^0.3.0": version: 0.3.0 resolution: "os-browserify@npm:0.3.0" @@ -14415,6 +14960,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^5.5.0": + version: 5.5.0 + resolution: "p-map@npm:5.5.0" + dependencies: + aggregate-error: ^4.0.0 + checksum: 065cb6fca6b78afbd070dd9224ff160dc23eea96e57863c09a0c8ea7ce921043f76854be7ee0abc295cff1ac9adcf700e79a1fbe3b80b625081087be58e7effb + languageName: node + linkType: hard + "p-retry@npm:^6.1.0": version: 6.1.0 resolution: "p-retry@npm:6.1.0" @@ -14479,6 +15033,17 @@ __metadata: languageName: node linkType: hard +"parse-filepath@npm:^1.0.2": + version: 1.0.2 + resolution: "parse-filepath@npm:1.0.2" + dependencies: + is-absolute: ^1.0.0 + map-cache: ^0.2.0 + path-root: ^0.1.1 + checksum: 6794c3f38d3921f0f7cc63fb1fb0c4d04cd463356ad389c8ce6726d3c50793b9005971f4138975a6d7025526058d5e65e9bfe634d0765e84c4e2571152665a69 + languageName: node + linkType: hard + "parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -14491,6 +15056,13 @@ __metadata: languageName: node linkType: hard +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 4e55e0231d58f828a41d0f1da2bf2ff7bcef8f4cb6146e69d16ce499190de58b06199e6bd9b17fbf0d4d8aef9052099cdf8c4f13a6294b1a522e8e958073066e + languageName: node + linkType: hard + "parse5@npm:^7.0.0, parse5@npm:^7.1.1": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -14524,6 +15096,16 @@ __metadata: languageName: node linkType: hard +"path-case@npm:^3.0.4": + version: 3.0.4 + resolution: "path-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: 61de0526222629f65038a66f63330dd22d5b54014ded6636283e1d15364da38b3cf29e4433aa3f9d8b0dba407ae2b059c23b0104a34ee789944b1bc1c5c7e06d + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -14573,6 +15155,22 @@ __metadata: languageName: node linkType: hard +"path-root-regex@npm:^0.1.0": + version: 0.1.2 + resolution: "path-root-regex@npm:0.1.2" + checksum: dcd75d1f8e93faabe35a58e875b0f636839b3658ff2ad8c289463c40bc1a844debe0dab73c3398ef9dc8f6ec6c319720aff390cf4633763ddcf3cf4b1bbf7e8b + languageName: node + linkType: hard + +"path-root@npm:^0.1.1": + version: 0.1.1 + resolution: "path-root@npm:0.1.1" + dependencies: + path-root-regex: ^0.1.0 + checksum: ff88aebfc1c59ace510cc06703d67692a11530989920427625e52b66a303ca9b3d4059b0b7d0b2a73248d1ad29bcb342b8b786ec00592f3101d38a45fd3b2e08 + languageName: node + linkType: hard + "path-scurry@npm:^1.10.1": version: 1.10.1 resolution: "path-scurry@npm:1.10.1" @@ -14739,6 +15337,24 @@ __metadata: languageName: node linkType: hard +"plop@npm:^4.0.0": + version: 4.0.0 + resolution: "plop@npm:4.0.0" + dependencies: + "@types/liftoff": ^4.0.1 + chalk: ^5.3.0 + interpret: ^3.1.1 + liftoff: ^4.0.0 + minimist: ^1.2.8 + node-plop: ^0.32.0 + ora: ^7.0.1 + v8flags: ^4.0.1 + bin: + plop: bin/plop.js + checksum: 7259e363f43e53dea85f7b8bb50746855b4255260b27fa553a741aa110e1bab4de31cb2e4f301e56e611dddd8532e4ee24b5c9c86b9d29e86afc4c3f75ea940e + languageName: node + linkType: hard + "pnp-webpack-plugin@npm:^1.7.0": version: 1.7.0 resolution: "pnp-webpack-plugin@npm:1.7.0" @@ -15637,6 +16253,15 @@ __metadata: languageName: node linkType: hard +"rechoir@npm:^0.8.0": + version: 0.8.0 + resolution: "rechoir@npm:0.8.0" + dependencies: + resolve: ^1.20.0 + checksum: ad3caed8afdefbc33fbc30e6d22b86c35b3d51c2005546f4e79bcc03c074df804b3640ad18945e6bef9ed12caedc035655ec1082f64a5e94c849ff939dc0a788 + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -15849,6 +16474,16 @@ __metadata: languageName: node linkType: hard +"resolve-dir@npm:^1.0.0, resolve-dir@npm:^1.0.1": + version: 1.0.1 + resolution: "resolve-dir@npm:1.0.1" + dependencies: + expand-tilde: ^2.0.0 + global-modules: ^1.0.0 + checksum: ef736b8ed60d6645c3b573da17d329bfb50ec4e1d6c5ffd6df49e3497acef9226f9810ea6823b8ece1560e01dcb13f77a9f6180d4f242d00cc9a8f4de909c65c + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -15923,6 +16558,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.22.4": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c + languageName: node + linkType: hard + "resolve@npm:^2.0.0-next.4": version: 2.0.0-next.4 resolution: "resolve@npm:2.0.0-next.4" @@ -15962,6 +16610,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.22.4#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 + languageName: node + linkType: hard + "resolve@patch:resolve@^2.0.0-next.4#~builtin": version: 2.0.0-next.4 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=c3c19d" @@ -16082,6 +16743,13 @@ __metadata: languageName: node linkType: hard +"run-async@npm:^3.0.0": + version: 3.0.0 + resolution: "run-async@npm:3.0.0" + checksum: 280c03d5a88603f48103fc6fd69f07fb0c392a1e0d319c34ec96a2516030e07ba06f79231a563c78698b882649c2fc1fda601bc84705f57d50efcd1fa506cfc0 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -16091,7 +16759,7 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.5.5": +"rxjs@npm:^7.2.0, rxjs@npm:^7.5.5, rxjs@npm:^7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: @@ -16286,6 +16954,17 @@ __metadata: languageName: node linkType: hard +"sentence-case@npm:^3.0.4": + version: 3.0.4 + resolution: "sentence-case@npm:3.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + upper-case-first: ^2.0.2 + checksum: 3cfe6c0143e649132365695706702d7f729f484fa7b25f43435876efe7af2478243eefb052bacbcce10babf9319fd6b5b6bc59b94c80a1c819bcbb40651465d5 + languageName: node + linkType: hard + "serialize-javascript@npm:^6.0.1": version: 6.0.1 resolution: "serialize-javascript@npm:6.0.1" @@ -16521,6 +17200,16 @@ __metadata: languageName: node linkType: hard +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: 0a7a79900bbb36f8aaa922cf111702a3647ac6165736d5dc96d3ef367efc50465cac70c53cd172c382b022dac72ec91710608e5393de71f76d7142e6fd80e8a3 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -16674,6 +17363,15 @@ __metadata: languageName: node linkType: hard +"stdin-discarder@npm:^0.1.0": + version: 0.1.0 + resolution: "stdin-discarder@npm:0.1.0" + dependencies: + bl: ^5.0.0 + checksum: 85131f70ae2830144133b7a6211d56f9ac2603573f4af3d0b66e828af5e13fcdea351f9192f86bb7fed2c64604c8097bf36d50cb77d54e898ce4604c3b7b6b8f + languageName: node + linkType: hard + "stop-iteration-iterator@npm:^1.0.0": version: 1.0.0 resolution: "stop-iteration-iterator@npm:1.0.0" @@ -16804,6 +17502,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^6.1.0": + version: 6.1.0 + resolution: "string-width@npm:6.1.0" + dependencies: + eastasianwidth: ^0.2.0 + emoji-regex: ^10.2.1 + strip-ansi: ^7.0.1 + checksum: 8aefb456a230c8d7fe254049b1b2d62603da1a3b6c7fc9f3332f6779583cc1c72653f9b6e4cd0c1c92befee1565d4a0a7542d09ba4ceb6d96af02fbd8425bb03 + languageName: node + linkType: hard + "string-width@npm:^7.0.0": version: 7.0.0 resolution: "string-width@npm:7.0.0" @@ -17304,6 +18013,15 @@ __metadata: languageName: node linkType: hard +"title-case@npm:^3.0.3": + version: 3.0.3 + resolution: "title-case@npm:3.0.3" + dependencies: + tslib: ^2.0.3 + checksum: e8b7ea006b53cf3208d278455d9f1e22c409459d7f9878da324fa3b18cc0aef8560924c19c744e870394a5d9cddfdbe029ebae9875909ee7f4fc562e7cbfc53e + languageName: node + linkType: hard + "titleize@npm:^3.0.0": version: 3.0.0 resolution: "titleize@npm:3.0.0" @@ -17710,6 +18428,13 @@ __metadata: languageName: node linkType: hard +"unc-path-regex@npm:^0.1.2": + version: 0.1.2 + resolution: "unc-path-regex@npm:0.1.2" + checksum: a05fa2006bf4606051c10fc7968f08ce7b28fa646befafa282813aeb1ac1a56f65cb1b577ca7851af2726198d59475bb49b11776036257b843eaacee2860a4ec + languageName: node + linkType: hard + "undici-types@npm:~5.26.4": version: 5.26.5 resolution: "undici-types@npm:5.26.5" @@ -17880,6 +18605,24 @@ __metadata: languageName: node linkType: hard +"upper-case-first@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case-first@npm:2.0.2" + dependencies: + tslib: ^2.0.3 + checksum: 4487db4701effe3b54ced4b3e4aa4d9ab06c548f97244d04aafb642eedf96a76d5a03cf5f38f10f415531d5792d1ac6e1b50f2a76984dc6964ad530f12876409 + languageName: node + linkType: hard + +"upper-case@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case@npm:2.0.2" + dependencies: + tslib: ^2.0.3 + checksum: 508723a2b03ab90cf1d6b7e0397513980fab821cbe79c87341d0e96cedefadf0d85f9d71eac24ab23f526a041d585a575cfca120a9f920e44eb4f8a7cf89121c + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -18042,6 +18785,13 @@ __metadata: languageName: node linkType: hard +"v8flags@npm:^4.0.1": + version: 4.0.1 + resolution: "v8flags@npm:4.0.1" + checksum: 69863ede75ff79579654951c78724c084bc337d0ebe1d9bffc6924f3f2bd0b40a9eb4c568fc795201d5eb72311b77e5d75a7e1544faa12355412360dc37d76e2 + languageName: node + linkType: hard + "validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -18321,6 +19071,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^1.2.14": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -18359,6 +19120,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a + languageName: node + linkType: hard + "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0"