341 Commits

Author SHA1 Message Date
YourWishes dab3d14b7e non prog 2026-04-02 16:51:12 -05:00
YourWishes 58f55cba47 prog 2026-03-19 22:35:27 -05:00
YourWishes 7641641ccd test 2026-03-19 14:27:41 -05:00
YourWishes 507caba410 refactor 2026-03-19 14:09:28 -05:00
YourWishes 8be2a15401 Updated some things that were just wrong 2025-02-04 09:56:46 -06:00
YourWishes 079b0c75c2 Update Shopify 2023-10-30 11:35:31 -05:00
YourWishes ab66c5dac5 Update location. 2023-10-30 11:35:03 -05:00
YourWishes 4f17294dac Updated GIT URl 2023-10-30 11:11:15 -05:00
YourWishes cf737d415c Merge pull request #10 from YourWishes/dependabot/npm_and_yarn/express-4.17.3
Bump express from 4.17.1 to 4.17.3
2022-12-13 20:34:13 -08:00
dependabot[bot] aa53fa7bd2 Bump express from 4.17.1 to 4.17.3
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.17.3.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.17.3)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-14 01:41:42 +00:00
YourWishes ad86009756 Updated the site styling to be a bit easier ont he eyes. 2021-09-01 18:16:29 -07:00
YourWishes 51dfc3484c Corrected locale. 2021-05-17 06:03:33 -07:00
YourWishes c06128bb0e Updated status 2021-05-05 05:54:12 -07:00
YourWishes 74dd6794cc Removed the tweeter 2021-03-17 08:03:27 +11:00
YourWishes 5c1c5ec421 Add noopener to anchor on privacy page. 2021-03-16 23:44:10 +11:00
YourWishes ac05c5f598 Added Meta Description 2021-03-16 23:31:55 +11:00
YourWishes db73dfa11c Improved contrast of hyperlinks 2021-03-16 23:28:53 +11:00
YourWishes ccfb5c6c89 Improved some accessibility options. 2021-03-16 23:27:51 +11:00
YourWishes cb7df32394 Remove main.yml from root 2021-03-16 23:05:27 +11:00
YourWishes 4e192d84df Create main.yml 2021-03-16 23:05:02 +11:00
YourWishes 73f69bc9b6 Rebuilt site 2021-03-16 23:04:04 +11:00
YourWishes 507cada694 Merge pull request #9 from YourWishes/gatsby
Contact form not submitting data.
2020-02-10 08:52:46 +11:00
YourWishes da5a488c58 Contact form not submitting data. 2020-02-10 08:35:00 +11:00
YourWishes 78ef80e67f Merge pull request #8 from YourWishes/gatsby
Added 404 page
2020-02-09 19:37:34 +11:00
YourWishes 499ff16172 Added 404 page 2020-02-09 19:33:02 +11:00
YourWishes fdb1fd431b Merge pull request #7 from YourWishes/gatsby
Rebasing on Gatsby
2020-02-06 22:09:48 +11:00
YourWishes 9420b3fab9 Removing test junk 2020-02-06 22:07:05 +11:00
YourWishes 62ae9be61a Prod Ready 2020-02-06 22:04:53 +11:00
YourWishes c2d6cb09dc Prepparing for gatsby testing 2020-02-06 22:04:20 +11:00
YourWishes fe446cab6c Cleansed some cors stuff 2020-02-06 22:02:14 +11:00
YourWishes 28f91d2bf5 Axios can't cors. 2020-02-06 21:54:35 +11:00
YourWishes bb53d8ce64 Working on API gateway and cors 2020-02-06 21:32:52 +11:00
YourWishes f8ea793de9 Structuring monorepo better 2020-02-06 08:24:25 +11:00
YourWishes ee28ec6c8c Finished travis setup 2020-02-06 08:15:12 +11:00
YourWishes c647987fa0 No need to CD for every script 2020-02-06 08:12:03 +11:00
YourWishes d6b6daaf41 added missing NJS version 2020-02-06 08:08:22 +11:00
YourWishes 8efaa1863f Setting up test deploy 2020-02-06 08:05:51 +11:00
YourWishes c2141e9a31 (Unfinished) Testing build process 2020-02-06 08:05:29 +11:00
YourWishes 3557256d76 Gatsby sorta converted 2020-02-04 21:23:46 +11:00
YourWishes 39ba9cf3ad Cleaned and preparring for gatsby. 2020-01-26 18:34:39 +10:00
YourWishes 50822ebe66 Merge pull request #6 from YourWishes/dependabot/npm_and_yarn/handlebars-4.5.3
Bump handlebars from 4.1.2 to 4.5.3
2020-01-02 07:56:40 -08:00
dependabot[bot] c65baddf66 Bump handlebars from 4.1.2 to 4.5.3
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.5.3.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.2...v4.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-28 13:08:12 +00:00
YourWishes bb2da97857 Updated page transitions, upgraded dependencies. 2019-07-12 18:42:52 +10:00
YourWishes 3e5340b85c Social but I did it at 10PM 2019-06-09 22:02:15 +10:00
YourWishes 52eae544f0 Rebuilt navigation system. 2019-06-09 20:49:00 +10:00
Dom Masters b474049108 Upgraded dependencies. 2019-06-03 12:37:56 +10:00
YourWishes 8a19fbe78f Lil site rebuild 2019-05-30 21:28:50 +10:00
YourWishes 9a777f5e83 Removed un-needed dep 2018-12-10 07:41:10 +11:00
YourWishes bedf9e4583 Added Hyperlink support to Content. 2018-11-27 20:33:41 +11:00
YourWishes 36e98da739 Fixed Update Article API calls. 2018-11-27 19:57:53 +11:00
YourWishes b629d8c245 Added Update Article. 2018-11-27 19:57:21 +11:00
YourWishes 0bf91d2bed Added some markup to the Articles 2018-11-27 12:52:46 +11:00
YourWishes cf80504123 Preparing for first blog post. 2018-11-27 08:49:14 +11:00
YourWishes acdea924a2 Updated Webpack, built extremely basic blog insertion tool. 2018-11-27 08:23:23 +11:00
YourWishes fe7d1054f7 Implemented some caching on the webpack compiler. 2018-11-27 06:20:18 +11:00
YourWishes c541380ecf Trying to get this to work on heroku's limits. 2018-11-26 22:34:07 +11:00
YourWishes f467ba255d Trying to reduce memory usage. 2018-11-26 22:15:33 +11:00
YourWishes 33e3f245e7 Fixed a case issue. 2018-11-26 22:10:06 +11:00
YourWishes 2133e8b7f2 Delete yarn.lock 2018-11-26 22:05:20 +11:00
YourWishes 1fb9d41abb Cleaned a little bit of testing stuff. 2018-11-26 21:52:16 +11:00
YourWishes 66336a469f Setup server to handle article page (untested) 2018-11-26 21:48:03 +11:00
YourWishes 829a152a1e Changed homepage backgrounds, improved @sections 2018-11-26 19:24:41 +11:00
YourWishes 88cd1a9a53 Built error section, needs to be on a few pages. 2018-11-25 22:03:38 +11:00
YourWishes 83369773cd Finished building blog overview page. 2018-11-25 18:38:42 +11:00
YourWishes 8ab9f09287 Built basic blog backend. 2018-11-20 08:39:25 +11:00
YourWishes 75764f744d Basic blog template layout (incomplete) 2018-11-15 07:34:30 +11:00
YourWishes 0102df42aa Messing with the images on the homepage. 2018-11-08 07:06:25 +11:00
YourWishes 57d435825e Reverted logos back to SVG rathern than PNG. 2018-10-31 22:05:38 +11:00
YourWishes 98640f22bd Trying to resolve memory leak. 2018-10-31 21:59:31 +11:00
YourWishes 43945363a5 Added 750x image resolution generator. 2018-10-31 21:49:47 +11:00
YourWishes b8d814e203 Styled the background on the privacy policy page. 2018-10-31 21:46:58 +11:00
YourWishes 898e1e2a48 Fixed Privacy Policy not clearing properly. 2018-10-31 21:34:30 +11:00
YourWishes 2a8bcd266e "Modernized" Privacy Policy. 2018-10-31 21:34:08 +11:00
YourWishes e9434c69b6 Disabled Blog route for the time being. 2018-10-31 21:33:17 +11:00
YourWishes 23c003519a Updated contact page to be more new-code. 2018-10-31 21:32:30 +11:00
YourWishes 5b4be02593 Added CacheStore server side, working with blog on client side more. 2018-10-31 21:01:03 +11:00
YourWishes 2ca45b154c Working more with the article feature layout.. 2018-10-30 22:17:45 +11:00
YourWishes c740652a48 Updated README, improving some of the section code. 2018-10-30 21:24:39 +11:00
YourWishes 6ace1f03fd Generally trying to improve performance. 2018-10-30 21:10:03 +11:00
YourWishes 45866c37fc Finalized language handover. 2018-10-30 07:21:58 +11:00
YourWishes c884efb837 Further improved minimization of Language and fixed an overflow-x bug 2018-10-29 05:39:28 +11:00
YourWishes 29f82b9709 Another attempt to fix the android scaling bug, likely the cause. 2018-10-28 22:02:05 +11:00
YourWishes 1e7de8a6b6 Updated some meta tags, hopefully fix an android scale issue. 2018-10-28 22:00:43 +11:00
YourWishes 3b18d1b1fa Fixed HashRouter being used in production. 2018-10-28 21:57:50 +11:00
YourWishes 0997615fdc Fixed a case sensitive issue. 2018-10-28 21:51:41 +11:00
YourWishes f598a0295c Crunched and clean all the components even more. 2018-10-28 21:48:33 +11:00
YourWishes 21aed1b61f Fixed NavLink styled buttons. 2018-10-28 21:31:49 +11:00
YourWishes 2bf2a2301f Cleaning Language 2018-10-28 21:21:00 +11:00
YourWishes d03f2d7fc8 Removed test props, fixed image scaling issue. 2018-10-28 18:52:38 +11:00
YourWishes cfbefa278c Added cocksox to work showcase. 2018-10-28 18:13:13 +11:00
YourWishes 7b1d5d4149 Styled (slightly) the loading template. 2018-10-28 15:48:03 +11:00
YourWishes b0f426623d Fixed (and improved) scroll fader. 2018-10-28 14:28:30 +11:00
YourWishes f074e98b62 Fixed configuration for email. 2018-10-28 13:09:57 +11:00
YourWishes df2b9573e2 Fixed not connecting to email 2018-10-28 13:00:56 +11:00
YourWishes d5d0c7edd2 Finally finished the massive refactor... transitions still broke but it's fine for now. 2018-10-28 11:23:51 +11:00
YourWishes 8cf714500c Fixed modal 2018-10-27 09:07:56 +11:00
YourWishes 2280239870 Bug fixing the refactor, Modals not working nor the scroll fader. 2018-10-26 07:26:24 +11:00
YourWishes 88e0d6f4ab Fixed some objects that don't like the new props. 2018-10-25 07:31:11 +11:00
YourWishes 37114b2ad6 The rest of the cleanup is going to be hard, so this is the last commit before I go test my last changes and get them working. 2018-10-25 06:54:25 +11:00
YourWishes dab9e27b24 Sorta half ass started cleaning window object. 2018-10-25 06:51:00 +11:00
YourWishes bccbd1cff1 CLLLEANED the forms, inputs, buttons, labels and form/button groups 2018-10-25 06:46:38 +11:00
YourWishes 13aaccdd84 Fixed image loading callbacks. 2018-10-24 17:59:01 +11:00
YourWishes cc78bf1200 Cleaned (and untested) image loading. 2018-10-24 17:58:05 +11:00
YourWishes 704ce6e4c1 Cleaned Content Boxes, removed Background Object (unused) 2018-10-24 17:38:24 +11:00
YourWishes b9b69ef222 Cleaned up Element Scroll Fader a touch, this function can do a lot better though.. 2018-10-24 17:30:51 +11:00
YourWishes f1b10e223e Cleaned more code, still untested. 2018-10-24 09:06:18 +11:00
YourWishes 7030a513de Working a bit on footer and hamburger cleanup, trying to find a nice standard. 2018-10-23 18:02:45 +11:00
YourWishes 4cbecbb26a Cleaned Header and HamburgerMenu code. 2018-10-23 18:00:39 +11:00
YourWishes fa24078037 Cleaned Footer Code, beginning to compontentize SCSS 2018-10-23 17:56:05 +11:00
YourWishes 0b52fd1550 Update README.md, fix x-overflow (temporarily) 2018-10-23 17:34:36 +11:00
YourWishes 5f37dc3194 Removed Page Transition for now. 2018-10-23 17:27:48 +11:00
YourWishes b4a113e046 Dropping .babelrc in favour of using webpack 2018-10-23 08:20:12 +11:00
YourWishes 87ed8adbe5 Restructured and beginning to work with loadable pages. 2018-10-23 08:19:45 +11:00
YourWishes 0c94165fa1 Gave the favicon the cleaned import treatment. 2018-10-23 06:59:29 +11:00
YourWishes 2ef9c3fe30 Cleaned imports 2018-10-22 20:30:47 +11:00
YourWishes 44332a923c Fixed Favicon. 2018-10-22 17:47:40 +11:00
YourWishes 2ace724749 Fixed more incorrect paths. 2018-10-22 17:46:06 +11:00
YourWishes 1f5a3fc563 Some more components fixed... definitely need an @root resolver. 2018-10-22 17:35:44 +11:00
YourWishes f8e76e72c0 Resolving SCSS asset issues (SCSS could really do with some cleanup) 2018-10-22 17:23:49 +11:00
YourWishes 776395520d Restructuring folders [ Broken ] 2018-10-22 17:21:29 +11:00
YourWishes 36b7b8629e Going to attempt allowing SHARP to do our img compression. 2018-08-14 22:23:44 +10:00
YourWishes f9351674fd Finally made fading elements visible until first scroll. 2018-08-14 22:00:15 +10:00
YourWishes 22c00fa9d1 oops 2018-08-14 21:50:56 +10:00
YourWishes 7d8ed75edd Cleaned the inputs 2018-08-14 21:42:32 +10:00
YourWishes 962bc597fe Never mind, more errors than needed, I only needed title anyway. 2018-08-14 21:32:35 +10:00
YourWishes e85292ef33 Added Props support to images, improved logo 2018-08-14 21:26:59 +10:00
YourWishes 348b3590b0 Fixed brand logo resizing transition. 2018-08-14 21:10:52 +10:00
YourWishes 2235fe3983 Switched background image SVGs into regular images, made logo go over the top of the menu on mobile. 2018-08-14 21:09:17 +10:00
YourWishes 550cf15e76 Improving Performance 2018-08-13 19:40:34 +10:00
YourWishes 1ee3dee3c3 Site now works with IE! (And Google Bot Hopefully) 2018-08-01 19:50:37 +10:00
YourWishes 4fea50ff9b Added gtag 2018-08-01 19:24:49 +10:00
YourWishes 09eee6b93d Added Favicon 2018-08-01 19:17:53 +10:00
YourWishes 7adce963e2 Updated some of the copy. 2018-08-01 18:50:02 +10:00
YourWishes e169438b7e Server side, reduced image options to increase compile time. 2018-07-11 17:49:01 +10:00
YourWishes 32f5230e3f Added loading feedback for images. 2018-07-11 17:48:09 +10:00
YourWishes 8fdb7e5be8 Compressed one of the pattern SVGs that was causing issues 2018-07-11 12:33:06 +10:00
YourWishes 45b9081951 [DEV] Fixed webm and svg 2018-07-11 08:07:33 +10:00
YourWishes 2bb6ca754d Added CSS Compression (Webpack 4 support) 2018-07-11 08:02:08 +10:00
YourWishes 8b7d74aaf4 Images are now production worthy 2018-07-11 07:33:39 +10:00
YourWishes 3a97513648 Impl Responsive image (initial, needs more work) 2018-07-11 07:31:15 +10:00
YourWishes 17e10572ea Rewrote the compiler to better dump assets. 2018-07-10 17:36:50 +10:00
YourWishes 3c11554770 Site Launch 🎉 2018-07-10 08:25:53 +10:00
YourWishes 3bfef849e5 More heroku standardization 2018-07-10 05:43:42 +10:00
YourWishes 776b29b679 Fixing more heroku variants 2018-07-10 05:29:20 +10:00
YourWishes 744dbefe85 Fixed Heroku "Missing SMTP Config" 2018-07-09 22:07:42 +10:00
YourWishes 2d4d2037d7 Added start script 2018-07-09 21:59:16 +10:00
YourWishes 613eb72306 HashRouter -> BrowserRouter 2018-07-09 21:24:36 +10:00
YourWishes 2d651160bd Moved About Page to homepage. Site is ready? 2018-07-09 21:24:15 +10:00
YourWishes 3275a4ebd3 Fixed Modal Escape 2018-07-09 12:26:43 +10:00
YourWishes 17a68aeaf1 Added more keyboard options, testing some CTRL+ENTER 2018-07-09 08:41:50 +10:00
YourWishes d0b4e453a3 Cleaned the Input code, need to roadmap the CTRL+ENTER viability. 2018-07-08 20:53:47 +10:00
YourWishes 95dbba839f Contact Page Finally Implemented 2018-07-08 20:49:09 +10:00
YourWishes 07ba3bd671 Added transition to modal 2018-07-06 12:45:23 +10:00
YourWishes 0ded1b20ad Implemented an example modal 2018-07-06 07:45:40 +10:00
YourWishes 3ea978e0b6 Server response codes are a bit more correct 2018-07-05 04:44:51 +10:00
YourWishes bd77bf6696 Built out form ajax requesting, needs some more testing 2018-07-04 21:40:19 +10:00
YourWishes e4eb653a88 Removed contact GET Support 2018-07-04 08:18:43 +10:00
YourWishes 13982239d4 Fleshed out API, added simple email support. 2018-07-04 08:17:12 +10:00
YourWishes aa532e0fc8 Built out API Functionality 2018-07-02 17:49:59 +10:00
YourWishes 7ef7ee6d35 Server now works and compiles 2018-07-01 11:17:29 +10:00
YourWishes 05f3e4a51e Fixed .app being overwritten by .express 2018-06-29 18:24:35 +10:00
YourWishes 9068002c96 Added basic private 2018-06-29 18:22:15 +10:00
YourWishes e6c11a6fb2 Styled about page a bit more 2018-06-29 08:20:15 +10:00
YourWishes 786982d432 Styled footer a touch 2018-06-29 08:07:33 +10:00
YourWishes dfc78cf102 Added custom title support 2018-06-29 08:00:07 +10:00
YourWishes 0ef9b02ff9 Styled Privacy Page 2018-06-28 07:19:32 +10:00
YourWishes 4a2981cc37 Added privacy policy page... 2018-06-28 07:07:33 +10:00
YourWishes 0599576c44 Fixed 404 on KOPA URL 2018-06-28 06:38:40 +10:00
YourWishes f2f859728b Fixed page transition 2018-06-28 05:44:44 +10:00
YourWishes 21c0c5767d Fixed button color when a link 2018-06-28 05:40:45 +10:00
YourWishes 3dc7f73b2a Styling Contact Page 2018-06-28 05:23:23 +10:00
YourWishes 6a38c234b5 Finalizing About Page Design 2018-06-28 05:11:20 +10:00
YourWishes d1f87f12a5 Added about page 2018-06-27 19:52:51 +10:00
YourWishes a7e546ea64 Cleaned code 2018-06-27 12:39:30 +10:00
YourWishes 345b1557dd Built out kopalife featured work 2018-06-27 08:28:05 +10:00
YourWishes 7a5b26bb23 Added w95 styles, building out about page work section 2018-06-27 08:20:23 +10:00
YourWishes 96cea1dc86 Fixed Tabs, added flex-basis mixin 2018-06-27 08:09:51 +10:00
YourWishes 0c0c1fccb2 Seperated about page into indiv sections 2018-06-23 16:48:28 +10:00
YourWishes 724218ec8d Adjusted entry fades 2018-06-22 18:27:04 +10:00
YourWishes d5c36287a2 Finished Brands section of about page. 2018-06-22 18:17:16 +10:00
YourWishes 02cbd7765a Updated layout of branding icons on about page 2018-06-22 08:15:03 +10:00
YourWishes c7a3ebc377 Added various brandings... 2018-06-21 22:01:16 +10:00
YourWishes 275e5ddbfa Starting to add content to about page 2018-06-19 18:08:49 +10:00
YourWishes 64fe8e76c8 Standard ContentBox-es 2018-06-19 07:18:20 +10:00
YourWishes 37c938af07 Converted some objects to components. 2018-06-19 06:54:20 +10:00
YourWishes aafc15402d Add lang to HamburgerMenuLink 2018-06-19 06:46:34 +10:00
YourWishes 07aa74f359 Added overflow stop for mobile menu, shifting some stuff. 2018-06-18 21:55:24 +10:00
YourWishes c52c04db63 Reduced ElementScrollFader height minimum 2018-06-17 13:00:24 +10:00
YourWishes 13614d2cdc Built out (functional) hamburger menu 2018-06-12 08:34:59 +10:00
YourWishes 9dd724a8d4 Added (test) page transitions 2018-06-11 18:35:58 +10:00
YourWishes 2052dd39ee Added fix for elements that pre-exist on fade 2018-06-11 18:35:52 +10:00
YourWishes ce926e09a9 Added fade to form on contact page 2018-06-08 12:47:57 +10:00
YourWishes 7120067f48 Laying out about page more 2018-06-08 12:45:59 +10:00
YourWishes be8e66e682 Added more options for split sections 2018-06-08 12:45:19 +10:00
YourWishes 54bb97c7d1 Added Headings and Paragraphs to typography 2018-06-08 12:43:55 +10:00
YourWishes 6fe8f70366 Added onVisible event 2018-06-08 08:39:17 +10:00
YourWishes 1713de31b6 Added ElementScrollFader effect 2018-06-08 08:37:56 +10:00
YourWishes bfcf2d2412 Improved Video Loader to be more consistent 2018-06-08 08:10:23 +10:00
YourWishes 87a1cf71d8 Testing video, made block to fix margin issue 2018-06-08 07:56:06 +10:00
YourWishes 1c4f9435b1 Fixed Video Z-Index fighting 2018-06-06 08:06:38 +10:00
YourWishes c79bbf739d Adjusted video styles 2018-06-06 08:01:21 +10:00
YourWishes 03f0dd8dc3 Testing styles 2018-06-06 07:57:07 +10:00
YourWishes 2e8c450b70 Adjusted Copyright on footer 2018-06-06 07:56:55 +10:00
YourWishes af81d3a09b Removed (temp) Page bottom padding 2018-06-06 07:56:48 +10:00
YourWishes 9f0a9d33d5 Video: testing fallback image support 2018-06-06 07:56:33 +10:00
YourWishes 0931d428f4 Navbar: Adjusting some sizes and display positions 2018-06-06 07:56:12 +10:00
YourWishes dfeb2d6a46 Image Section: Made Image Blocking 2018-06-06 07:55:52 +10:00
YourWishes 1a88e01eb4 Added AboutPage styles (testing) 2018-06-06 07:55:36 +10:00
YourWishes a28ec93bca title object SCSS is now dependendant, added per screen sizing options 2018-06-06 07:55:28 +10:00
YourWishes 9f6ed5eb39 Fixed .is-middle.is-center abosulte-centering hack 2018-06-06 07:54:59 +10:00
YourWishes f025396290 SplitSection Moved 2018-06-06 07:54:44 +10:00
YourWishes 82700bc0a8 Debugging AboutPage 2018-06-06 07:54:28 +10:00
YourWishes 8898059a0b Debugging HomePage 2018-06-06 07:54:21 +10:00
YourWishes 7bb0b77590 Cleaned Imports on ContactPage 2018-06-06 07:54:14 +10:00
YourWishes fe5348679e Added className to Loader 2018-06-06 07:54:02 +10:00
YourWishes 806f283120 Added some about page language (testing) 2018-06-06 07:53:50 +10:00
YourWishes 861f640359 Added image prop to Image, self determines src vs sources 2018-06-06 07:53:38 +10:00
YourWishes f63195c453 Add some Language Tools 2018-06-05 21:17:53 +10:00
YourWishes 2c787d98ce Delete test images 2018-06-05 21:17:44 +10:00
YourWishes 3753fcd0e1 Decided on a style for the contact page (finally) 2018-06-05 12:41:12 +10:00
YourWishes 3968075394 Testing some designs 2018-06-05 08:17:56 +10:00
YourWishes 6b37f73935 Added Split Section (for contact page) 2018-05-28 01:17:14 +10:00
YourWishes 11e3d60859 Tesitng a new backgroud design 2018-05-28 01:17:05 +10:00
YourWishes c526e3045d Added shadows, moved variables around 2018-05-17 17:36:00 +10:00
YourWishes 78a97c83a6 Shrunk grain image, small as can be without looking like a repeated texture. 2018-05-17 08:43:04 +10:00
YourWishes 34d50c0664 Added background style options 2018-05-17 08:14:20 +10:00
YourWishes 162f3c68cb Added Header and Footer, flex app. 2018-05-16 18:14:34 +10:00
YourWishes aaa6f1de5a Added image section internals (And placeholder image) 2018-05-16 18:00:41 +10:00
YourWishes 455d77d0fb Fixed Navbar state not updating on route change 2018-05-16 17:35:03 +10:00
YourWishes 52b48a135d Adjusted shine on inputs 2018-05-16 17:29:45 +10:00
YourWishes be0fd83ffb Added input styles, merged with button styles, created different style..styles 2018-05-15 21:19:24 +10:00
YourWishes 7500de1649 Styling inputs 2018-05-15 08:43:07 +10:00
YourWishes d8b1c41538 About to start work on buttons 2018-05-15 08:10:54 +10:00
YourWishes fbceaaddb0 Testing Button Designs 2018-05-14 18:18:59 +10:00
YourWishes 4c85054cf6 Added Box Shadow Mixin 2018-05-14 18:18:40 +10:00
YourWishes 20cbecef42 Designed button 2018-05-14 17:32:34 +10:00
YourWishes 83a1ae89e6 Designing "Clicky" button 2018-05-14 13:09:51 +10:00
YourWishes 1e55aa17e9 Moved Button design to appropriate variables. 2018-05-14 08:44:24 +10:00
YourWishes 696789c3ae Added Horizontal Gradients 2018-05-14 08:44:06 +10:00
YourWishes 3dd71b38cc Added some input styles and making button styles 2018-05-14 07:14:19 +10:00
YourWishes 466bdee08c Adding contact page. 2018-05-13 14:44:00 +10:00
YourWishes dd9ac5f2f0 Added more form elements 2018-05-13 11:26:51 +10:00
YourWishes 71e77bad71 Fixed a connect on the Navbar 2018-05-13 10:17:01 +10:00
YourWishes 556a903afa Adjusted styles a bit more, fixed a scroll overflow bug 2018-05-12 20:57:09 +10:00
YourWishes bc54923f64 Refactored more image based code 2018-05-12 15:55:04 +10:00
YourWishes a8163f1352 Added Image 2018-05-12 00:21:56 +10:00
YourWishes abfc903c3f Added page specific styles, adjusted typography slightly 2018-05-11 20:47:30 +10:00
YourWishes 403ec39df3 Cleaned the code a bit 2018-05-11 20:38:55 +10:00
YourWishes 84e0b496fd Added PageBoundary 2018-05-11 20:22:45 +10:00
YourWishes fe6454d108 Adjust deep import logic 2018-05-11 20:15:06 +10:00
YourWishes 126025ea9f Add title and subtitle 2018-05-11 20:14:56 +10:00
YourWishes b4e469743f Added more button customization options 2018-05-11 19:53:11 +10:00
YourWishes 0c9c80f65d Added button "support" 2018-05-11 19:46:07 +10:00
YourWishes 69cba6c008 Added basic floating content box. 2018-05-11 18:05:41 +10:00
YourWishes 156ac1d4a4 Updated Video to have JS events, added exact prop passthrough for NavLink 2018-05-11 05:44:17 +10:00
YourWishes c183a3bac1 Adjusted the colors and the animations 2018-05-08 08:39:44 +10:00
YourWishes b1d29476c5 Made loader animation, missing animation mixins. 2018-05-08 08:33:13 +10:00
YourWishes 0544c198e8 Added animation mixins 2018-05-08 08:27:39 +10:00
YourWishes 4c3c92d991 Add loader 2018-05-08 07:07:07 +10:00
Dom Masters 86e66b48fb Improving video sections. 2018-05-08 06:55:22 +10:00
Dom Masters 462006ab0a Improving Video Section 2018-05-07 08:34:48 +10:00
Dom Masters 7bf3f588ca Added ActiveLink class to NavBar Elements 2018-05-07 08:27:17 +10:00
Dom Masters 3733b53ce4 Added video section 2018-05-07 08:25:41 +10:00
Dom Masters 135dc5e5f0 Added minheights to the page 2018-05-07 07:31:41 +10:00
Dom Masters 9e94ad1599 Added Redux support 2018-05-07 07:12:31 +10:00
YourWishes 79dcf7f376 Add Section component 2018-05-06 17:32:45 +10:00
YourWishes 284e932eb0 Navbar button @extend button 2018-05-06 17:22:45 +10:00
YourWishes 923bc782c2 Added routes & navbar 2018-05-06 17:15:32 +10:00
YourWishes 8f063a2406 Import animation tools 2018-05-06 10:52:19 +10:00
YourWishes 4b8fc6e8b9 Added animations + new color settings 2018-05-06 10:52:06 +10:00
YourWishes 5ef6da0dcd Fixing some margin collapsing bugs 2018-05-05 23:07:57 +10:00
YourWishes 8aff34e2c6 Body: Add missing deps -> _body.scss 2018-05-05 21:14:55 +10:00
YourWishes 3b1d56a34b A -> Nest Pseudoclass 2018-05-05 21:14:10 +10:00
YourWishes 3a27f7985b Coding style decided 2018-05-05 21:13:43 +10:00
YourWishes 5eb4d7ee4f Reset, reset 2018-04-28 17:13:56 +10:00
YourWishes 63d1e21b9a Refactoring a lot of code 2018-04-09 07:05:06 +10:00
YourWishes 914b1beef8 Last commit before refactor 2018-04-06 07:23:11 +10:00
YourWishes 676207dfad Last commit before background change 2018-03-21 19:41:11 +11:00
YourWishes 5aa8bfde9f Linked about pages. 2018-03-18 15:21:12 +11:00
YourWishes 7daf798f17 Added API Skills and Other Skills Pages 2018-03-18 14:44:00 +11:00
YourWishes c638365642 About page content 2018-03-18 14:22:04 +11:00
YourWishes d8d562af69 if for children on body section 2018-03-18 14:21:56 +11:00
YourWishes e37a130212 Import skill box and video title 2018-03-18 14:21:46 +11:00
YourWishes 667641651b Adjusted skill language en-AU 2018-03-18 14:21:36 +11:00
YourWishes 5d6608e3e9 Built "Programming" Page 2018-03-18 14:21:23 +11:00
YourWishes 62b761f24d Adjusted AboutPage 2018-03-18 14:15:38 +11:00
YourWishes 048a697037 Added video-title 2018-03-18 14:15:12 +11:00
YourWishes 38536ef19f Added skill-box 2018-03-18 14:15:00 +11:00
YourWishes 6472f1c360 Changed text font 2018-03-18 11:04:39 +11:00
YourWishes 194c5b7681 Adjusted background gradient 2018-03-18 11:04:29 +11:00
YourWishes 6d5d70a6ce Attached gradient background fixed on page 2018-03-18 11:04:06 +11:00
YourWishes 9be3278139 Added title prop to body section 2018-03-18 11:03:36 +11:00
YourWishes 7e37b639c1 Added mp4 and webm to webpack 2018-03-18 11:03:12 +11:00
YourWishes 567fa2b535 Cleaned more W95 code 2018-03-18 11:03:00 +11:00
YourWishes 2b828bf726 Added className to children 2018-03-18 11:01:19 +11:00
YourWishes 0fe13f3c67 Standardized W95 styles 2018-03-17 13:28:10 +11:00
YourWishes fe971d8c18 Body Section pass classes 2018-03-17 13:27:50 +11:00
YourWishes f398448422 Allowed sections to have custom classes 2018-03-17 13:27:42 +11:00
YourWishes 666bafe98a Customizing design of About Page, standardizing old W95 styles 2018-03-13 06:02:44 +11:00
YourWishes 9e0350322b Fixed z-ordering issue 2018-03-13 05:28:05 +11:00
YourWishes 63ca25d153 Add per page styling 2018-03-13 05:22:24 +11:00
YourWishes a51984abb7 Footer no longer needs to float. 2018-03-13 05:21:24 +11:00
YourWishes 395713b4cd Import W95 code from previously abandoned project 2018-03-13 05:17:39 +11:00
YourWishes b8cf5ebef2 Menu now closes on selection 2018-03-13 05:17:26 +11:00
YourWishes db7a6be150 Adjusted backgrounds to be page specific 2018-03-13 05:17:03 +11:00
YourWishes 59158fde3a Added text-selection tool 2018-03-13 05:16:41 +11:00
YourWishes 5f9963ddfb Added flex-grow mixin 2018-03-13 05:16:34 +11:00
YourWishes 8f8af79e38 Added Policy Page, testing about page 2018-03-13 05:16:26 +11:00
YourWishes 7f19959348 Added Object Utils 2018-03-13 05:15:49 +11:00
YourWishes 117cf3784a Added HTML Element Classes 2018-03-13 05:15:42 +11:00
YourWishes 430f9ca987 Finished About Page 2018-03-12 13:58:02 +11:00
YourWishes d83894e283 Made about page 2018-03-12 12:27:00 +11:00
YourWishes eab2cb622c Stopped form overlapping 2018-03-10 22:42:59 +11:00
YourWishes 4e547f6ed5 Fixed conflict issue 2018-03-10 22:42:49 +11:00
YourWishes 370b556ed1 Added language support 2018-03-10 22:25:03 +11:00
YourWishes c24c29c899 Update, built Contact Page 2018-03-10 21:26:44 +11:00
YourWishes ceb48e104c Added footer 2018-03-03 17:03:41 +11:00
YourWishes 300bde972d Added poly section 2018-03-01 06:01:05 +11:00
YourWishes 184e548dd4 Further styled navbar 2018-02-23 23:27:36 +11:00
YourWishes f3660a2ab9 Sectionized navbar links 2018-02-23 23:27:28 +11:00
YourWishes 9a59d15824 Imports 2018-02-23 23:26:22 +11:00
YourWishes 7d24218558 Added all / * styling 2018-02-23 23:26:17 +11:00
YourWishes 9681ec307d Added navigation font type 2018-02-23 23:25:59 +11:00
YourWishes 39ecd7e0eb Added animation settings 2018-02-23 22:56:06 +11:00
YourWishes 76376bb760 Added transform tools 2018-02-23 22:55:13 +11:00
YourWishes 584a5ce9af Added prefix tools 2018-02-23 22:55:07 +11:00
YourWishes fc3a727604 Added flex tools 2018-02-23 22:54:58 +11:00
YourWishes 044cf46f2b Added missing docs and border to color settings 2018-02-23 22:54:52 +11:00
YourWishes 4e0603a539 Added A tag settings 2018-02-23 22:54:43 +11:00
YourWishes c52685b9bc Styled nav on smaller screens 2018-02-23 22:30:53 +11:00
YourWishes a383113644 Built initial navbar design 2018-02-23 22:27:44 +11:00
YourWishes 39c8716008 Add box shadow tools 2018-02-23 22:25:15 +11:00
YourWishes 65d6e8e001 Add button overrides 2018-02-23 22:25:07 +11:00
YourWishes ba531ff48e Add Font Awesome + React Font Awesome 2018-02-23 22:24:55 +11:00
YourWishes e7fc8212e3 Adjusted headings 2018-02-23 22:03:31 +11:00
YourWishes f3f6ec2e7b Use navbar 2018-02-23 22:00:44 +11:00
YourWishes ba2a312b4c Added responsive settings/tools 2018-02-23 22:00:32 +11:00
YourWishes 8cee583d62 Added fonts and typography settings 2018-02-23 22:00:22 +11:00
YourWishes 02d926aa37 Added Navbar, Header and App 2018-02-23 21:49:53 +11:00
YourWishes 878bab91ac Initial react commit 2018-02-23 20:31:42 +11:00
YourWishes 948f447d9f Initial commit 2018-02-22 21:00:54 +11:00
20 changed files with 1417 additions and 522 deletions
+67
View File
@@ -0,0 +1,67 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
node_modules_pc/
node_modules_surface/
jspm_packages/
# Typescript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
/package-lock.json
/nbproject/private/
.vscode
.serverless
.cache
yarn.lock
-1
View File
@@ -1 +0,0 @@
domsplace.com
-226
View File
@@ -1,226 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<!--
Copyright (c) 2021 Dominic Masters
This software is released under the MIT License.
https://opensource.org/licenses/MIT
-->
<head>
<title>domsPlace, Personal Website of Technical Lead Dominic Masters</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Personal website of Technical Lead, Dominic Masters, eCommerce Senior Full-Stack Developer using modern web technologies.">
<style type="text/css">/* Elements */
* {
box-sizing: border-box;
}
html,body {
margin: 0;
padding: 0;
font-size: 16px;
line-height: 1.6;
background: #000;
color: #DDD;
font-family: Arial, Helvetica, sans-serif;
}
a {
color: #56C0F1;
text-decoration: underline;
}
a:visited,a:active { color: #D84DAC; }
a:hover { text-decoration: none; }
/* Objects */
.o-break {
padding: 3rem 0;
}
/* Components */
.c-header {
text-align: center;
padding: 4rem 1rem;
font-weight: bold;
max-width: 800px;
margin: auto;
}
.c-header__title {
font-size: 1.5rem;
}
.c-header__title-link {
color: inherit;
text-decoration: none;
}
.c-header__title-link:visited,.c-header__title-link:active {
color: inherit;
}
.c-header__subtitle {
font-style: italic;
}
.c-main {
max-width: 800px;
margin: auto;
padding: 0 1em;
}
.c-footer {
text-align: center;
padding: 12rem 1rem 10rem;
font-weight: bold;
max-width: 800px;
margin: auto;
}
.c-footer__link + .c-footer__link {
margin-left: 0.5rem;
}
</style>
</head>
<body>
<header class="c-header">
<p class="c-header__title">
<a href="/" class="c-header__title-link">
domsPlace, Personal website of Dominic Masters.
</a>
</p>
<p class="c-header__subtitle">
Wow, I can't believe it's not React!
</p>
</header>
<main class="c-main">
<section>
<h1>Dominic Masters</h1>
<h2>Developer, Nerd, Occasionally Funny.</h2>
<p>
Australian-American nerd with a passion for all things computing, coffee and
video games. Currently residing in Los Angeles, California.
</p>
<p>
Programming since before the internet was cool.
</p>
</section>
<div class="o-break"></div>
<section>
<h2>Programming Technical Lead</h2>
<p>
I am a programmer born and bred. Developing since I was old enough to
type on a keyboard and continue to refine my skills more and more
every day. Backed by 14 years of experience and countless lines of code
committed.
</p>
<p>
Background with more anagrams than a bureaucrat, here are some of the
highlights only;
<ul>
<li>eCommerce ( Shopify, Magento, WooCommerce, neto )</li>
<li>Traditional Web ( HTML, CSS, JS )</li>
<li>Modern Web ( ES6, TS, GraphQL )</li>
<li>Server Side ( NodeJS, PHP, .NET )</li>
<li>Client Side ( C/C++, Java )</li>
<li>Database Side ( SQL, NoSQL )</li>
<li>Frameworks ( React, Web Components )</li>
<li>Antiques ( Lua, jQuery, SOAPXML )</li>
<li>Flashy ( OpenGL, Vulkan, Unity )</li>
<li>Boring ( Google Data Studio )</li>
<li>Servers ( AWS, CloudFlare, Heroku, Azure )</li>
<li>Every "API"</li>
<li>Ask me for a comprehensive list.</li>
</ul>
</p>
</section>
<div class="o-break"></div>
<section>
<h2>Shopify Expert</h2>
<p>
I'm currently working full-time as a Technical Lead working with the
Shopify Plus platform. I have been working with the platform
every day for over 4 years, and enjoy working with it immensely.
</p>
<p>
Working with Liquid, REST and GraphQL App Development and general
Shopify consulting. I have had the privilage of working with countless
Shopify Plus clients.
</p>
<p>
Despite Shopify's reputation, I have been able to make it do tricks
thought impossible. I find working with Shopify's unique quirks very
rewarding, and continuously find ways to surprise everyone, including
myself.
</p>
</section>
<div class="o-break"></div>
<section>
<h2>Personal</h2>
<p>
I spend most of my spare time considering programming concepts, and
take a very pragmatic approach to planning software development. I
enjoy unpacking what programming itself means and entails to come up
with new paradigms to use in my job.
</p>
<p>
I also have an appreciation for the raw power of technology and making
something beautiful and intricate out of the minimal amount of tools.
Hence this website appearing so basic.
</p>
<p>
I also enjoy video games and antique electronics. I still own four old
CRT Monitors that I love and use as my primary video game displays.
</p>
</section>
<div class="o-break"></div>
<section>
<h2>Social</h2>
<p>
I don't do social media often, however you can find me below.
For business enquiries contact I suggest LinkedIn.
</p>
<p><a href="//www.linkedin.com/in/dominic-masters-86732678/">LinkedIn</a></p>
<p><a href="//github.com/YourWishes">GitHub</a></p>
</section>
</main>
<footer class="c-footer">
<p>2012 ~ 2022 - Dominic Masters</p>
<p>
<a href="/" class="c-footer__link">Home</a>
<a href="/privacy" class="c-footer__link">Privacy Policy</a>
</p>
</footer>
</body>
</html>
+19
View File
@@ -0,0 +1,19 @@
{
"name": "domsplace",
"version": "7.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"start:dev": "nodemon --exec ts-node ./src/index.ts"
},
"devDependencies": {
"@types/express": "^5.0.6",
"@types/node": "^25.5.0",
"nodemon": "^3.1.14",
"ts-node": "^10.9.2",
"typescript": "^5.9.3"
},
"dependencies": {
"express": "^5.2.1"
}
}
-295
View File
@@ -1,295 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<!--
Copyright (c) 2021 Dominic Masters
This software is released under the MIT License.
https://opensource.org/licenses/MIT
-->
<head>
<title>domsPlace, Personal Website of Technical Lead Dominic Masters</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Personal website of Technical Lead, Dominic Masters, eCommerce Senior Full-Stack Developer using modern web technologies.">
<style type="text/css">/* Elements */
* {
box-sizing: border-box;
}
html,body {
margin: 0;
padding: 0;
font-size: 16px;
line-height: 1.6;
background: #000;
color: #DDD;
font-family: Arial, Helvetica, sans-serif;
}
a {
color: #56C0F1;
text-decoration: underline;
}
a:visited,a:active { color: #D84DAC; }
a:hover { text-decoration: none; }
/* Objects */
.o-break {
padding: 3rem 0;
}
/* Components */
.c-header {
text-align: center;
padding: 4rem 1rem;
font-weight: bold;
max-width: 800px;
margin: auto;
}
.c-header__title {
font-size: 1.5rem;
}
.c-header__title-link {
color: inherit;
text-decoration: none;
}
.c-header__title-link:visited,.c-header__title-link:active {
color: inherit;
}
.c-header__subtitle {
font-style: italic;
}
.c-main {
max-width: 800px;
margin: auto;
padding: 0 1em;
}
.c-footer {
text-align: center;
padding: 12rem 1rem 10rem;
font-weight: bold;
max-width: 800px;
margin: auto;
}
.c-footer__link + .c-footer__link {
margin-left: 0.5rem;
}
</style>
</head>
<body>
<header class="c-header">
<p class="c-header__title">
<a href="/" class="c-header__title-link">
domsPlace, Personal website of Dominic Masters.
</a>
</p>
<p class="c-header__subtitle">
Wow, I can't believe it's not React!
</p>
</header>
<main class="c-main">
<h1>Privacy Policy</h1>
<p>Effective date: June 27, 2018</p>
<p>
domsPlace ("us", "we", or "our") operates
the <a href="//domsplace.com">https://domsplace.com</a> website (the
"Service").
</p>
<p>
This page informs you of our policies regarding the collection, use, and
disclosure of personal data when you use our Service and the choices you
have associated with that data.
</p>
<p>
We use your data to provide and improve the Service. By using the
Service, you agree to the collection and use of information in
accordance with this policy. Unless otherwise defined in this Privacy
Policy, terms used in this Privacy Policy have the same meanings as in
our Terms and Conditions, accessible from <a href="//domsplace.com">
https://domsplace.com
</a>
</p>
<div class="o-break"></div>
<h2>Information Collection And Use</h2>
<p>
We collect several different types of information for various purposes
to provide and improve our Service to you.
</p>
<h3>Types of Data Collected</h3>
<h4>Personal Data</h4>
<p>
While using our Service, we may ask you to provide us with certain
personally identifiable information that can be used to contact or
identify you ("Personal Data"). Personally identifiable information may
include, but is not limited to:
</p>
<ul>
<li>Email address</li>
<li>First name and last name</li>
<li>Phone number</li>
<li>Cookies and Usage Data</li>
</ul>
<h4>Usage Data</h4>
<p>
We may also collect information how the Service is accessed and used =
("Usage Data"). This Usage Data may include information such as your
computer's Internet Protocol address (e.g. IP address), browser type,
browser version, the pages of our Service that you visit, the time and
date of your visit, the time spent on those pages, unique device
identifiers and other diagnostic data.
</p>
<h4>Tracking & Cookies Data</h4>
<p>
We use cookies and similar tracking technologies to track the activity
on our Service and hold certain information.
</p>
<p>
Cookies are files with small amount of data which may include an
anonymous unique identifier. Cookies are sent to your browser from a
website and stored on your device. Tracking technologies also used are
beacons, tags, and scripts to collect and track information and to
improve and analyze our Service.
</p>
<p>
You can instruct your browser to refuse all cookies or to indicate when
a cookie is being sent. However, if you do not accept cookies, you may
not be able to use some portions of our Service.
</p>
<p>Examples of Cookies we use:</p>
<ul>
<li><strong>Session Cookies.</strong> We use Session Cookies to operate our Service.</li>
<li><strong>Preference Cookies.</strong> We use Preference Cookies to remember your preferences and various settings.</li>
<li><strong>Security Cookies.</strong> We use Security Cookies for security purposes.</li>
</ul>
<div class="o-break"></div>
<h2>Use of Data</h2>
<p>domsPlace uses the collected data for various purposes:</p>
<ul>
<li>To provide and maintain the Service</li>
<li>To notify you about changes to our Service</li>
<li>To allow you to participate in interactive features of our Service when you choose to do so</li>
<li>To provide customer care and support</li>
<li>To provide analysis or valuable information so that we can improve the Service</li>
<li>To monitor the usage of the Service</li>
<li>To detect, prevent and address technical issues</li>
</ul>
<div class="o-break"></div>
<h2>Transfer Of Data</h2>
<p>Your information, including Personal Data, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction.</p>
<p>If you are located outside Australia and choose to provide information to us, please note that we transfer the data, including Personal Data, to Australia and process it there.</p>
<p>Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer.</p>
<p>domsPlace will take all steps reasonably necessary to ensure that your data is treated securely and in accordance with this Privacy Policy and no transfer of your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of your data and other personal information.</p>
<div class="o-break"></div>
<h2>Disclosure Of Data</h2>
<h3>Legal Requirements</h3>
<p>domsPlace may disclose your Personal Data in the good faith belief that such action is necessary to:</p>
<ul>
<li>To comply with a legal obligation</li>
<li>To protect and defend the rights or property of domsPlace</li>
<li>To prevent or investigate possible wrongdoing in connection with the Service</li>
<li>To protect the personal safety of users of the Service or the public</li>
<li>To protect against legal liability</li>
</ul>
<div class="o-break"></div>
<h2>Security Of Data</h2>
<p>The security of your data is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Data, we cannot guarantee its absolute security.</p>
<div class="o-break"></div>
<h2>Service Providers</h2>
<p>We may employ third party companies and individuals to facilitate our Service ("Service Providers"), to provide the Service on our behalf, to perform Service-related services or to assist us in analyzing how our Service is used.</p>
<p>These third parties have access to your Personal Data only to perform these tasks on our behalf and are obligated not to disclose or use it for any other purpose.</p>
<h3>Analytics</h3>
<p>We may use third-party Service Providers to monitor and analyze the use of our Service.</p>
<ul>
<li>
<p><strong>Google Analytics</strong></p>
<p>Google Analytics is a web analytics service offered by Google that tracks and reports website traffic. Google uses the data collected to track and monitor the use of our Service. This data is shared with other Google services. Google may use the collected data to contextualize and personalize the ads of its own advertising network.</p>
<p>You can opt-out of having made your activity on the Service available to Google Analytics by installing the Google Analytics opt-out browser add-on. The add-on prevents the Google Analytics JavaScript (ga.js, analytics.js, and dc.js) from sharing information with Google Analytics about visits activity.</p>
<p>For more information on the privacy practices of Google, please visit the Google Privacy & Terms web page: <a href="https://policies.google.com/privacy?hl=en" target="_blank" rel="noopener">https://policies.google.com/privacy?hl=en</a>
</p>
</li>
</ul>
<div class="o-break"></div>
<h2>Links To Other Sites</h2>
<p>Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit.</p>
<p>We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.</p>
<div class="o-break"></div>
<h2>Children's Privacy</h2>
<p>Our Service does not address anyone under the age of 18 ("Children").</p>
<p>We do not knowingly collect personally identifiable information from anyone under the age of 18. If you are a parent or guardian and you are aware that your Children has provided us with Personal Data, please contact us. If we become aware that we have collected Personal Data from children without verification of parental consent, we take steps to remove that information from our servers.</p>
<div class="o-break"></div>
<h2>Changes To This Privacy Policy</h2>
<p>We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.</p>
<p>We will let you know via email and/or a prominent notice on our Service, prior to the change becoming effective and update the "effective date" at the top of this Privacy Policy.</p>
<p>You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.</p>
</main>
<footer class="c-footer">
<p>2012 ~ 2022 - Dominic Masters</p>
<p>
<a href="/" class="c-footer__link">Home</a>
<a href="/privacy" class="c-footer__link">Privacy Policy</a>
</p>
</footer>
</body>
</html>
+11
View File
@@ -0,0 +1,11 @@
import express from 'express';
import router from './routes';
const app = express();
const port = process.env.PORT || 3000;
app.use(router);
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
+9
View File
@@ -0,0 +1,9 @@
export const LANGUAGES = <const>{
'en': 'English'
};
export type LocaleLanguage = keyof typeof LANGUAGES;
export type LocaleString = {
[K in LocaleLanguage]:string;
};
+28
View File
@@ -0,0 +1,28 @@
import { Request, Response } from 'express';
import { SectionData, sectionRender } from "./section";
import TemplateDefault from "./templates/default";
import { templateRender } from './template';
import { LocaleString } from './locale';
export type Page = {
title?:LocaleString;
sections:SectionData<any>[];
}
export const pageRoute = (page:Page) => {
return async (req:Request, res:Response) => {
console.log(`Got Request. Header Agent: ${req.headers['user-agent']}`);
try {
const content = await templateRender({
page,
template: TemplateDefault,
request: req,
language: 'en'
});
res.status(200).send(content);
} catch (error) {
res.status(500).send(`Internal Server Error`);
}
}
}
+16
View File
@@ -0,0 +1,16 @@
import { Router } from "express";
import { Page, pageRoute } from "../../page";
import SnesDigitalAudioMod from "./snes-digital-audio-mod";
const ThisPage:Page = {
sections: [
]
};
const router = Router();
router.get('/', pageRoute(ThisPage));
router.get('/snes-digital-audio-mod', SnesDigitalAudioMod);
export default router;
@@ -0,0 +1,147 @@
import { Router } from "express";
import { Page, pageRoute } from "../../../page";
/*
# Super Famicom / SNES Digital Audio Mod
Recently I have been revisiting some of my favorite retro game consoles, mostly
due to reorganising my loungeroom. Probably one I wish I spent more time playing
was the Super Nintendo, and I wanted to address some of the problems with my Japanese Super Famicom (SFC).
Primarily the problems stemmed from less than ideal quality, this is due to the
SNES's well known [terrible image softening](https://www.chrismcovell.com/gotRGB/snesblur.html)
and that my SFC was pretty yellowed.
Second issue was my audio. I have some somewhat decent SCART cables I use but
the static caused by interference from the analogue audio was definitely not
ideal. I wanted to bypass the SNES's analogue audio, and hear the digital audio
from the console. To achieve this I needed to perform a digital audio mod.
Finally, I wanted to challenge my soldering skills a bit more, and so I decided
to tackle these issues all at the same time.
## The plan
To address the image quality issue, I wanted to get a [1chip SFC](https://consolemods.org/wiki/SNES:SNES_Model_Differences#Comparisons).
These 1chip systems are named after their motherboard, which were the names
used on later revision motherboards that had noticeably improved image quality.
These later revisions integrate the video circuitry into a single chip, reducing
signal noise and resulting in a noticeably sharper image while retaining RGB output
Second, I had been aware of Digital Audio Mods for the SNES for a while, but
they all typically involved cutting the case of the system to accommodate a full
TOSLINK connector, which I wanted to avoid doing where possible, and keep the
original case intact.
Finally, I had been made aware that [The Retro Channel](https://www.chrismcovell.com/gotRGB/snesblur.html)
had a no-cut SNES digital audio mod, that replaced the RF module of the SNES, and
did not require cutting.
## New Super Famicom
There are really only three ways to get a 1chip SNES;
1) Run the motherboard lottery, where you purchase a SNES, then have to open it and check if it is a
1chip variant or not.
2) Purchase a SNES/SFC Jr. and mod it for RGB support.
3) Purchase a 1chip SNES/SFC from a reseller.
I decided to go with option 3, really wanted to keep the original SFC and didn't
want to spend a fortune trying to find a 1chip myself. I ended up purchasing a
1chip SFC from an eBay reseller for around $100 USD, not too bad considering they
can go for significantly more.
Originally I had planned to also do a full recap of the system, to extend its
life. This is definitely a moment where I realised that buying a 1chip from a
reseller was maybe not the best idea.
Upon opening the system I found it had been recapped already, but the quality of
the work left a lot to be desired. The recap solder points were very messy with
way too much solder remaining on the board. The legs of the caps were also left
rather long and get close to interfering with the RF Shield. I have not yet
recapped the system but I definitely plan to do so in the near future.
Other than the iffy recap job however, the system worked fine and the image
quality compared to my previous SFC was significantly improved.
## Digital Audio Mod
The SNES typically outputs line level audio through the AV port in stereo. This
is fine but the Digital Signal Processor (DSP) chip in the SNES is capable of
producing much higher quality audio, and several games use the full [32 KHz sample rate](https://www.alpha-ii.com/Info/snes-spdif.html)
that the system is capable of, but the audio the analogue output provides is
[significantly more limited](https://www.youtube.com/watch?v=6J7Sea0KniU&t=98s).
By the time I decide to purchase my 1chip, the no cut mods had sold out
unfortunately, which delayed me initially. After a few weeks however The Retro
Channel had created a new version, the [No-Cut Digital Audio Mod v2](https://lectronz.com/products/super-nintendo-digital-audio-no-cut-mod-v2)
The v1 version of the mod took over the RF connector and turned it into a
digital coaxial output, meaning that from the outside the console looked
completely stock. The new v2 version removed the entire RF module and replaced
it with a small PCB that doubled as a 3.5mm coaxial and mini-TOSLINK output,
meaning that the console looked slightly different but still required no cutting
of the case, which is nice.
I do wish I could have purchased one of the original v1 mods, but the v2 was
available and functionally is the same, so I purchased it.
## Installation
Installation was pretty straight forward, mostly following [The Retro Channel's video](https://www.youtube.com/watch?v=OXpKuyHBA48)
I was able to tackle it in an afternoon. The kit comes with all the parts you
need and it took me around an hour to install, taking my time and testing after
each solder to ensure no shorts or bad connections.
The only difficult part was soldering the three wires to the DSP chip, as they
are very close and keeping the legs apart was a bit tricky, but with patience I
got the soldering done without any issues.
## Results
From the outside it is clear the Super Famicom has been modded, but the mod is
otherwise clean and there's no damage to the case, so it looks good. I attached
a mini-TOSLINK to full size TOSLINK adapter, which hides the smaller 3.5mm size
of the connector and keeps it looking cleaner.
As for the audio, it's fantastic. This is by far the best sounding SNES audio I
have ever heard. I was worried my Sony STR-DN1040 would not like the SNES digital audio signal,
since pauses in the audio count as the digital audio stopping, but it handles it
fine and I've heard no stutters or pauses.
Finally I would be remiss if I did not mention the downsides. Really there is
only two. The obvious is the cost; the 1chip itself is expensive for a SNES and
the mod was also not cheap, then the time it took for me to install the mod was
not insignificant.
The second drawback is that the mod only provides digital audio on the audio
generated by the SNES's internal DSP chip. This is rare but the SNES could allow
games to perform their own audio processing, bypassing the SNES DSP chip entirely and
therefore not outputting through the mod. The only notable instances of this are
the Super Gameboy, which used a custom chip to emulate the Gameboy's audio on
the Super Gameboy Cartridge itself, bypassing the SNES DSP, and any games that
make use of the custom MSU-1 chip.
## Surround Sound
I want to do a full post on this in the future, but the SNES supported Dolby Pro Logic
surround sound in some games. I have yet to find a comprehensive list but definitely
Star Ocean supports it, and uses it very effectively. Over the digital audio the
surround is very clear and has a wide soundstage, it's extremely impressive for a
16-bit console.
## Conclusion
This was an expensive and time consuming mod, but it is about as close to the
perfect SNES as one can get. The only other mods I am aware of that could improve it are;
a better RGB bypass mod, similar to what the N64 RGB mods use, or a pure digital
video mod, similar to the [RetroGEM](https://www.pixelfx.co/product-page/n64-hdmi)
mods, but I am not aware of any for the SNES currently.
*/
const BlogPage:Page = {
sections: [
]
};
const router = Router();
router.get('/', pageRoute(BlogPage));
export default router;
+31
View File
@@ -0,0 +1,31 @@
import { Router } from 'express';
import { Page, pageRoute } from '../page';
import BlogRoute from './blog';
const HomePage:Page = {
sections:[
{
type: 'hero',
properties: {
title: 'Dominic Masters\nSoftware Developer and Tinkerer.',
subtitle: `I develop all manner of things, and tinker with tech new and old.`,
buttonLeft: {
text: `View the blog`,
url: `/blog`
},
buttonRight: {
text: `About me`,
url: `/about`
}
}
}
]
};
const router = Router();
router.get('/', pageRoute(HomePage));
router.get('/blog', BlogRoute);
export default router;
+57
View File
@@ -0,0 +1,57 @@
import { Request } from 'express';
import HeroSection from './sections/hero';
import { Template } from './template';
import { LocaleLanguage } from './locale';
import { Page } from './page';
const SECTION_TYPES = <const>{
'hero': HeroSection
}
export type Section<P> = {
properties:P;
validate:(properties:P) => P;
};
export type SectionType = keyof typeof SECTION_TYPES;
export type SectionTypeFor<T extends SectionType> = (
typeof SECTION_TYPES[T]
);
export type SectionProperties<T extends SectionType> = (
SectionTypeFor<T>['properties']
);
export type SectionData<T extends SectionType> = {
type:T;
properties:SectionProperties<T>;
}
export type SectionRenderer<T extends SectionType> = (p:{
properties:SectionProperties<T>;
template:Template;
language:LocaleLanguage;
request:Request;
page:Page;
}) => Promise<string>;
export const sectionRender = async <T extends SectionType>(p:{
request:Request,
section:SectionData<T>;
template:Template;
language:LocaleLanguage;
page:Page;
}):Promise<string> => {
if(!p.template.sections[p.section.type]) {
console.warn(`No section renderer found for section type "${p.section.type}" in template "${p.template.name}".`);
return '';
}
const renderer = p.template.sections[p.section.type] as SectionRenderer<T>;
const properties = p.section.properties;
return await renderer({
...p,
properties: p.section.properties
});
}
+29
View File
@@ -0,0 +1,29 @@
import { Section } from "../section";
type HeroProperties = {
title:string|null;
subtitle:string|null;
buttonLeft?:{
text:string;
url:string;
};
buttonRight?:{
text:string;
url:string;
};
};
const HERO:Section<HeroProperties> = {
properties: {
title: '',
subtitle: '',
},
validate: props => {
if(!props.title) throw new Error('Hero section must have a title.');
return props;
}
};
export default HERO;
+27
View File
@@ -0,0 +1,27 @@
import { Request } from "express";
import { Page } from "./page";
import { LocaleLanguage } from "./locale";
import { Section, SectionRenderer, SectionType, SectionTypeFor } from "./section";
export type TemplateSections = {
[key in SectionType]?:SectionRenderer<key>;
};
export type Template = {
name:string;
sections:TemplateSections;
render:(p:{
page:Page;
request:Request;
language:LocaleLanguage;
}) => Promise<string>;
}
export const templateRender = (p:{
page:Page,
template:Template,
request:Request,
language:LocaleLanguage
}):Promise<string> => {
return p.template.render(p);
}
+16
View File
@@ -0,0 +1,16 @@
import { SectionRenderer } from "../../section";
const DefaultTemplateHeroSection:SectionRenderer<'hero'> = async ({
properties,
template,
language,
request
}) => {
return [
'<div>',
`<h1>${properties.title}</h1>`,
'</div>'
].join('\n');
}
export default DefaultTemplateHeroSection;
+42
View File
@@ -0,0 +1,42 @@
import { sectionRender } from "../../section";
import { Template } from "../../template";
import DefaultTemplateHeroSection from "./hero";
const TEMPLATE_DEFAULT:Template = {
name: 'default',
sections: {
'hero': DefaultTemplateHeroSection
},
render: async ({ language, page, request }) => {
return [
`<!DOCTYPE html>`,
`<html>`,
`<head>`,
`<meta charset="UTF-8" />`,
`<title>${page.title ? page.title[language] : 'Untitled Page'}</title>`,
`<style type="text/css">`,
`body { font-family: Arial, sans-serif; margin: 0; padding: 0; }`,
`h1 { color: #333; }`,
`</style>`,
`</head>`,
`<body>`,
`header`,
...(await Promise.all(page.sections.map(async section => {
return await sectionRender({
language,
page,
request,
template: TEMPLATE_DEFAULT,
section
});
}))),
`footer`,
`</body>`,
`</html>`
].join('\n');
}
};
export default TEMPLATE_DEFAULT;
+16
View File
@@ -0,0 +1,16 @@
import { SectionRenderer } from "../../section";
const PSPTemplateHeroSection:SectionRenderer<'hero'> = async ({
properties,
template,
language,
request
}) => {
return [
'<div>',
`<h1>${properties.title}</h1>`,
'</div>'
].join('\n');
}
export default PSPTemplateHeroSection;
+42
View File
@@ -0,0 +1,42 @@
import { sectionRender } from "../../section";
import { Template } from "../../template";
import PSPTemplateHeroSection from "./hero";
const TEMPLATE_PSP:Template = {
name: 'psp',
sections: {
'hero': PSPTemplateHeroSection
},
render: async ({ language, page, request }) => {
return [
`<!DOCTYPE html>`,
`<html>`,
`<head>`,
`<meta charset="UTF-8" />`,
`<title>${page.title ? page.title[language] : 'Untitled Page'}</title>`,
`<style type="text/css">`,
`body { font-family: Arial, sans-serif; margin: 0; padding: 0; }`,
`h1 { color: #333; }`,
`</style>`,
`</head>`,
`<body>`,
`header`,
...(await Promise.all(page.sections.map(async section => {
return await sectionRender({
language,
page,
request,
template: TEMPLATE_PSP,
section
});
}))),
`footer`,
`</body>`,
`</html>`
].join('\n');
}
};
export default TEMPLATE_PSP;
+14
View File
@@ -0,0 +1,14 @@
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "dist",
"rootDir": "src",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": ["node_modules", "dist"]
}
+846
View File
@@ -0,0 +1,846 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
"@jridgewell/resolve-uri@^3.0.3":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.5.5"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@tsconfig/node10@^1.0.7":
version "1.0.12"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.12.tgz#be57ceac1e4692b41be9de6be8c32a106636dba4"
integrity sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==
"@tsconfig/node12@^1.0.7":
version "1.0.11"
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
"@tsconfig/node14@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
"@tsconfig/node16@^1.0.2":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
"@types/body-parser@*":
version "1.19.6"
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474"
integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==
dependencies:
"@types/connect" "*"
"@types/node" "*"
"@types/connect@*":
version "3.4.38"
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
dependencies:
"@types/node" "*"
"@types/express-serve-static-core@^5.0.0":
version "5.1.1"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz#1a77faffee9572d39124933259be2523837d7eaa"
integrity sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==
dependencies:
"@types/node" "*"
"@types/qs" "*"
"@types/range-parser" "*"
"@types/send" "*"
"@types/express@^5.0.6":
version "5.0.6"
resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.6.tgz#2d724b2c990dcb8c8444063f3580a903f6d500cc"
integrity sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==
dependencies:
"@types/body-parser" "*"
"@types/express-serve-static-core" "^5.0.0"
"@types/serve-static" "^2"
"@types/http-errors@*":
version "2.0.5"
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472"
integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==
"@types/node@*", "@types/node@^25.5.0":
version "25.5.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-25.5.0.tgz#5c99f37c443d9ccc4985866913f1ed364217da31"
integrity sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==
dependencies:
undici-types "~7.18.0"
"@types/qs@*":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.15.0.tgz#963ab61779843fe910639a50661b48f162bc7f79"
integrity sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==
"@types/range-parser@*":
version "1.2.7"
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
"@types/send@*":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@types/send/-/send-1.2.1.tgz#6a784e45543c18c774c049bff6d3dbaf045c9c74"
integrity sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==
dependencies:
"@types/node" "*"
"@types/serve-static@^2":
version "2.2.0"
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-2.2.0.tgz#d4a447503ead0d1671132d1ab6bd58b805d8de6a"
integrity sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==
dependencies:
"@types/http-errors" "*"
"@types/node" "*"
accepts@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895"
integrity sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==
dependencies:
mime-types "^3.0.0"
negotiator "^1.0.0"
acorn-walk@^8.1.1:
version "8.3.5"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496"
integrity sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==
dependencies:
acorn "^8.11.0"
acorn@^8.11.0, acorn@^8.4.1:
version "8.16.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a"
integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==
anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
balanced-match@^4.0.2:
version "4.0.4"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a"
integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==
binary-extensions@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
body-parser@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.2.tgz#1a32cdb966beaf68de50a9dfbe5b58f83cb8890c"
integrity sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==
dependencies:
bytes "^3.1.2"
content-type "^1.0.5"
debug "^4.4.3"
http-errors "^2.0.0"
iconv-lite "^0.7.0"
on-finished "^2.4.1"
qs "^6.14.1"
raw-body "^3.0.1"
type-is "^2.0.1"
brace-expansion@^5.0.2:
version "5.0.4"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.4.tgz#614daaecd0a688f660bbbc909a8748c3d80d4336"
integrity sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==
dependencies:
balanced-match "^4.0.2"
braces@~3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
dependencies:
fill-range "^7.1.1"
bytes@^3.1.2, bytes@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
dependencies:
es-errors "^1.3.0"
function-bind "^1.1.2"
call-bound@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
dependencies:
call-bind-apply-helpers "^1.0.2"
get-intrinsic "^1.3.0"
chokidar@^3.5.2:
version "3.6.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
glob-parent "~5.1.2"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.6.0"
optionalDependencies:
fsevents "~2.3.2"
content-disposition@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-1.0.1.tgz#a8b7bbeb2904befdfb6787e5c0c086959f605f9b"
integrity sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==
content-type@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
cookie-signature@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793"
integrity sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==
cookie@^0.7.1:
version "0.7.2"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7"
integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==
create-require@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
debug@^4, debug@^4.4.0, debug@^4.4.3:
version "4.4.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a"
integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
dependencies:
ms "^2.1.3"
depd@^2.0.0, depd@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
diff@^4.0.1:
version "4.0.4"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.4.tgz#7a6dbfda325f25f07517e9b518f897c08332e07d"
integrity sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==
dunder-proto@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
dependencies:
call-bind-apply-helpers "^1.0.1"
es-errors "^1.3.0"
gopd "^1.2.0"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
encodeurl@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
es-define-property@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
dependencies:
es-errors "^1.3.0"
escape-html@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
etag@^1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
express@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/express/-/express-5.2.1.tgz#8f21d15b6d327f92b4794ecf8cb08a72f956ac04"
integrity sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==
dependencies:
accepts "^2.0.0"
body-parser "^2.2.1"
content-disposition "^1.0.0"
content-type "^1.0.5"
cookie "^0.7.1"
cookie-signature "^1.2.1"
debug "^4.4.0"
depd "^2.0.0"
encodeurl "^2.0.0"
escape-html "^1.0.3"
etag "^1.8.1"
finalhandler "^2.1.0"
fresh "^2.0.0"
http-errors "^2.0.0"
merge-descriptors "^2.0.0"
mime-types "^3.0.0"
on-finished "^2.4.1"
once "^1.4.0"
parseurl "^1.3.3"
proxy-addr "^2.0.7"
qs "^6.14.0"
range-parser "^1.2.1"
router "^2.2.0"
send "^1.1.0"
serve-static "^2.2.0"
statuses "^2.0.1"
type-is "^2.0.1"
vary "^1.1.2"
fill-range@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
dependencies:
to-regex-range "^5.0.1"
finalhandler@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-2.1.1.tgz#a2c517a6559852bcdb06d1f8bd7f51b68fad8099"
integrity sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==
dependencies:
debug "^4.4.0"
encodeurl "^2.0.0"
escape-html "^1.0.3"
on-finished "^2.4.1"
parseurl "^1.3.3"
statuses "^2.0.1"
forwarded@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4"
integrity sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
get-intrinsic@^1.2.5, get-intrinsic@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
dependencies:
call-bind-apply-helpers "^1.0.2"
es-define-property "^1.0.1"
es-errors "^1.3.0"
es-object-atoms "^1.1.1"
function-bind "^1.1.2"
get-proto "^1.0.1"
gopd "^1.2.0"
has-symbols "^1.1.0"
hasown "^2.0.2"
math-intrinsics "^1.1.0"
get-proto@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
dependencies:
dunder-proto "^1.0.1"
es-object-atoms "^1.0.0"
glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
gopd@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
has-symbols@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
hasown@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
http-errors@^2.0.0, http-errors@^2.0.1, http-errors@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.1.tgz#36d2f65bc909c8790018dd36fb4d93da6caae06b"
integrity sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==
dependencies:
depd "~2.0.0"
inherits "~2.0.4"
setprototypeof "~1.2.0"
statuses "~2.0.2"
toidentifier "~1.0.1"
iconv-lite@^0.7.0, iconv-lite@~0.7.0:
version "0.7.2"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.7.2.tgz#d0bdeac3f12b4835b7359c2ad89c422a4d1cc72e"
integrity sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
ignore-by-default@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
inherits@~2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
dependencies:
binary-extensions "^2.0.0"
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
is-promise@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3"
integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
math-intrinsics@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
media-typer@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561"
integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==
merge-descriptors@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808"
integrity sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==
mime-db@^1.54.0:
version "1.54.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5"
integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
mime-types@^3.0.0, mime-types@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.2.tgz#39002d4182575d5af036ffa118100f2524b2e2ab"
integrity sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==
dependencies:
mime-db "^1.54.0"
minimatch@^10.2.1:
version "10.2.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde"
integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==
dependencies:
brace-expansion "^5.0.2"
ms@^2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
negotiator@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a"
integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==
nodemon@^3.1.14:
version "3.1.14"
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.14.tgz#8487ca379c515301d221ec007f27f24ecafa2b51"
integrity sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==
dependencies:
chokidar "^3.5.2"
debug "^4"
ignore-by-default "^1.0.1"
minimatch "^10.2.1"
pstree.remy "^1.1.8"
semver "^7.5.3"
simple-update-notifier "^2.0.0"
supports-color "^5.5.0"
touch "^3.1.0"
undefsafe "^2.0.5"
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
object-inspect@^1.13.3:
version "1.13.4"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
on-finished@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
dependencies:
ee-first "1.1.1"
once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
dependencies:
wrappy "1"
parseurl@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
path-to-regexp@^8.0.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.3.0.tgz#aa818a6981f99321003a08987d3cec9c3474cd1f"
integrity sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
proxy-addr@^2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
dependencies:
forwarded "0.2.0"
ipaddr.js "1.9.1"
pstree.remy@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
qs@^6.14.0, qs@^6.14.1:
version "6.15.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.0.tgz#db8fd5d1b1d2d6b5b33adaf87429805f1909e7b3"
integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==
dependencies:
side-channel "^1.1.0"
range-parser@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
raw-body@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.2.tgz#3e3ada5ae5568f9095d84376fd3a49b8fb000a51"
integrity sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==
dependencies:
bytes "~3.1.2"
http-errors "~2.0.1"
iconv-lite "~0.7.0"
unpipe "~1.0.0"
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
router@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef"
integrity sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==
dependencies:
debug "^4.4.0"
depd "^2.0.0"
is-promise "^4.0.0"
parseurl "^1.3.3"
path-to-regexp "^8.0.0"
"safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
semver@^7.5.3:
version "7.7.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a"
integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==
send@^1.1.0, send@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/send/-/send-1.2.1.tgz#9eab743b874f3550f40a26867bf286ad60d3f3ed"
integrity sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==
dependencies:
debug "^4.4.3"
encodeurl "^2.0.0"
escape-html "^1.0.3"
etag "^1.8.1"
fresh "^2.0.0"
http-errors "^2.0.1"
mime-types "^3.0.2"
ms "^2.1.3"
on-finished "^2.4.1"
range-parser "^1.2.1"
statuses "^2.0.2"
serve-static@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-2.2.1.tgz#7f186a4a4e5f5b663ad7a4294ff1bf37cf0e98a9"
integrity sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==
dependencies:
encodeurl "^2.0.0"
escape-html "^1.0.3"
parseurl "^1.3.3"
send "^1.2.0"
setprototypeof@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
side-channel-list@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
dependencies:
es-errors "^1.3.0"
object-inspect "^1.13.3"
side-channel-map@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
dependencies:
call-bound "^1.0.2"
es-errors "^1.3.0"
get-intrinsic "^1.2.5"
object-inspect "^1.13.3"
side-channel-weakmap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
dependencies:
call-bound "^1.0.2"
es-errors "^1.3.0"
get-intrinsic "^1.2.5"
object-inspect "^1.13.3"
side-channel-map "^1.0.1"
side-channel@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
dependencies:
es-errors "^1.3.0"
object-inspect "^1.13.3"
side-channel-list "^1.0.0"
side-channel-map "^1.0.1"
side-channel-weakmap "^1.0.2"
simple-update-notifier@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb"
integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==
dependencies:
semver "^7.5.3"
statuses@^2.0.1, statuses@^2.0.2, statuses@~2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382"
integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==
supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
dependencies:
is-number "^7.0.0"
toidentifier@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
touch@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694"
integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==
ts-node@^10.9.2:
version "10.9.2"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
dependencies:
"@cspotcode/source-map-support" "^0.8.0"
"@tsconfig/node10" "^1.0.7"
"@tsconfig/node12" "^1.0.7"
"@tsconfig/node14" "^1.0.0"
"@tsconfig/node16" "^1.0.2"
acorn "^8.4.1"
acorn-walk "^8.1.1"
arg "^4.1.0"
create-require "^1.1.0"
diff "^4.0.1"
make-error "^1.1.1"
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
type-is@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97"
integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==
dependencies:
content-type "^1.0.5"
media-typer "^1.1.0"
mime-types "^3.0.0"
typescript@^5.9.3:
version "5.9.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f"
integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
undefsafe@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
undici-types@~7.18.0:
version "7.18.2"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9"
integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==
unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
vary@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
yn@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==