├── .editorconfig ├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── configbuilder ├── index.html └── phaser-v3.61.js ├── dist ├── phaser-custom.js ├── phaser-custom.js.map ├── phaser-custom.min.js ├── phaser-custom.min.js.LICENSE.txt └── phaser-custom.min.js.map ├── package-lock.json ├── package.json ├── phaser-core.js ├── phaser-custom-sprite-small-loader.js ├── phaser-custom-sprite.js ├── phaser-custom.js ├── phaser-full.js ├── test ├── dragon.png ├── index.html ├── indexcore.html └── indexsprite.html ├── webpack.build-log.json ├── webpack.config-both.js ├── webpack.config-core.js ├── webpack.config-full.js ├── webpack.config-sprite-small-loader.js ├── webpack.config-sprite.js └── webpack.config.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 4 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: photonstorm 4 | patreon: photonstorm 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # System and IDE files 2 | Thumbs.db 3 | .DS_Store 4 | .idea 5 | .vscode 6 | *.suo 7 | *.sublime-project 8 | *.sublime-workspace 9 | webpack.*-log.json 10 | 11 | # Vendors 12 | node_modules/ 13 | 14 | # Build 15 | /npm-debug.log 16 | build/ 17 | out/ 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Richard Davey 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Creating Custom Phaser 3 Builds 2 | 3 | By default, Phaser will include pretty much everything, especially if you just require or import the main entry point. This will add 980KB of minified JavaScript to your bundle which is a considerable amount, especially if you aren't even using a large chunk of it. However, you can choose what you actually need in your bundle to a very granular degree. It just takes a little configuration to do it. 4 | 5 | To create custom builds you're going to need [webpack](https://webpack.js.org/). If you've no experience with webpack it'd be best to go and learn how it works before carrying on, as Phaser is built specifically with it. Other bundlers, like Parcel, may also work but it's up to you to translate this guide into their respective formats. 6 | 7 | The important thing to remember is that the Phaser module entry point, as defined in webpack, controls the whole structure of the exposed API. That is, everything it includes is made available under the Phaser namespace. It literally defines which features are included in the library. That's an important distinction you should understand: it controls what is available in the library, it's not meant as an entry point for a _project_. 8 | 9 | ## Building Phaser 10 | 11 | This guide is based on creating a custom build of Phaser 3.50. When newer versions ship, it'll change slightly, because more things will be available to bundle in, but the core concept will remain exactly the same. 12 | 13 | To start with I'd recommend you [clone this template repo](https://github.com/photonstorm/phaser3-custom-build). It will save a whole bunch of time getting set-up. Clone it, then `npm install` to grab the dependencies. You're now ready to do a custom build. 14 | 15 | If you issue the command `npm run build` (or `webpack` if you've got it available globally) from the project folder then it'll create a custom build into the `dist` folder. This file is called `phaser-custom.js`. Inside the `test` folder you'll find an `index.html` file. Open this in a browser via an http server, or with local file permissions enabled, and you should see the following: 16 | 17 | [![image](https://cascade.madmimi.com/promotion_images/6092/3212/original/custom1.png?1535988194)]() 18 | 19 | If you're wondering where on earth the Star Wars logo is coming from that's a valid question :) Let's break it down. 20 | 21 | The webpack config in the template uses the file [phaser-custom.js](https://github.com/photonstorm/phaser3-custom-build/blob/master/phaser-custom.js) as its entry point. Here's the complete file: 22 | 23 | [![image](https://cascade.madmimi.com/promotion_images/6092/4444/original/custom2.png?1535989284)]() 24 | 25 | If you look at the file, or the above image, you'll see it defines what's available in the Phaser namespace. It starts by including the standard polyfills and CONSTs. Then it pulls in the 2D Camera system, the Events, the Game, the Graphics object and finally one Math function called Between. 26 | 27 | This is concluded by merging in the constants and exporting it globally. Combined with the webpack config this will build into the phaser-custom.js bundle which will have everything Phaser needs to run, plus the extras identified above. By default Phaser doesn't include a camera system or any Game Objects, which makes the 'base' use somewhat limited. So in this case we've added the Graphics object, because at the very least we can render something with that. 28 | 29 | The `GraphicsFactory` function is what allows you to use the command `this.add.graphics` from within a Scene. You could exclude this to save a couple of KB if you wish, but then you'd have to alter your code to create a Graphics instance directly and add it to the Display List. 30 | 31 | In the `test/index.html` file you'll see the code for our demo. All it does is create an 800 x 600 game instance and then renders the Star Wars logo to the Graphics object. It's not exactly a game but it demonstrates that, fundamentally, everything is working. 32 | 33 | If you look in the `dist` folder you'll see that the `phaser-custom` file is 404 KB minified, or 110 KB gzipped. So, it's _significantly_ smaller than the default build that Phaser ships with. 34 | 35 | ## Tweaking the Custom Build 36 | 37 | So, how do you now edit the custom build to include the ability to do something useful like load images and display them? To do this we need two extra things added to our package: Sprites and the File Loader, otherwise, we can't get the files into Phaser. Here is a tweaked version of the `phaser-custom.js` file from above. You can find this in the repo called [phaser-custom-sprite.js](https://github.com/photonstorm/phaser3-custom-build/blob/master/phaser-custom-sprite.js): 38 | 39 | [![image](https://cascade.madmimi.com/promotion_images/6092/7835/original/custom4.png?1535991630)]() 40 | 41 | If you look at the file above you'll see we've added in the Image and Sprite Game Objects (and removed Graphics) and also added the Loader module. This pulls in the entire Loader and all possible File Types, which is actually overkill for this bundle, so I'll show you how to refine that shortly. For now, though, it will do what we need. Issue the command `npm run buildsprite` and it'll build a new bundle to the `dist` folder. Launch the file `test/indexsprite.html` and you should get the following: 42 | 43 | [![image](https://cascade.madmimi.com/promotion_images/6092/7999/original/custom3.png?1535991809)]() 44 | 45 | Taa-da, working Sprites and image loading! The bundle size is now 122 KB min+gz, which is 12 KB bigger than our Graphics only bundle, but that's to be expected as we've added the whole Loader module to our build and a couple of meaty Game Objects too. 46 | 47 | Let's refine it a little bit though. We really don't need all of the file types the Loader supports. In fact, for this test, we literally only need one: the Image loader. Let's tweak our entry point so it includes only the LoaderPlugin and the Image File Type: 48 | 49 | [![image](https://cascade.madmimi.com/promotion_images/6094/9597/original/custom5.png?1536004657)]() 50 | 51 | If we re-run the build command our new minified file is 113 KB min+gz which is 9 KB less than before. It's not just about file size, though, that's less JavaScript for the browser to process when it's launching your game for the first time too. 52 | 53 | How do you know which things to include back in the entry point? You can work it out by looking at the `phaser.js` and `phaser-core.js` files in the root src folder of the main Phaser repo. Using those, plus just browsing the source folders for yourself, you can quickly find what you need. 54 | 55 | There's still quite a lot of modules being included that we may not require though. We can visualize that by creating a webpack profile. Use the command `npm run buildlog`. This will build Phaser and also create a JSON file that details the build process. You can upload this JSON file to the online [webpack analyzer](http://webpack.github.io/analyse/). I've included a json file in the repo so you can try it out for yourself. Just [download it from here](https://github.com/photonstorm/phaser3-custom-build/blob/master/webpack.build-log.json), then go to the webpack analyzer and upload it. After a short while it will generate a report. Click on 'modules' to view the module tree: 56 | 57 | [![image](https://cascade.madmimi.com/promotion_images/6095/0953/original/custom6.png?1536005428)]() 58 | 59 | All of the modules are listed below the interactive tree. Click any node on the tree to see what is requiring that module and how many dependencies it has. Let's pick a particularly busy node: 60 | 61 | [![image](https://cascade.madmimi.com/promotion_images/6095/1504/original/custom7.png?1536005667)]() 62 | 63 | As we can see, lots of modules include the entire Array Utils package. This isn't a bad thing in itself, because it's a pretty compact and widely used area of the API, but this exploration process did highlight a lot to me. If you look at the Game module you'll see it pulls in plenty of things. The Texture Manager, the Sound Manager, the Animation Manager. All the things it expects to need in order to operate. Yet, the Sound Manager is entirely optional - we could easily hide that behind a custom build flag and it'd stop including 140 KB worth of un-minified source, because if you're literally not using it, why even bother to have it in the API? The same can be said for a number of other systems, such as the Animation Manager. The Device module could be made into a much more compact version that only includes checks that Phaser needs to boot-up, too. 64 | 65 | In short, I'm quite happy that it's really easy to create a significantly smaller version of Phaser 3 with very little effort on your part. Use the custom build template and smash away parts of the API you don't need and get your games even leaner. This is especially important for Facebook Instant Games, where time-to-play needs to be as tiny as possible. Reducing your build from nearly 1 MB down to a few hundred KB certainly gets you a lot further along that path. 66 | -------------------------------------------------------------------------------- /configbuilder/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phaserjs/custom-build/4ef01678f7b37c36bb2b02a50ae87e1526634e92/configbuilder/index.html -------------------------------------------------------------------------------- /configbuilder/phaser-v3.61.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Richard Davey 3 | * @copyright 2013-2023 Photon Storm Ltd. 4 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 5 | */ 6 | 7 | require('polyfills/requestVideoFrame'); 8 | 9 | var CONST = require('const'); 10 | var Extend = require('utils/object/Extend'); 11 | 12 | /** 13 | * @namespace Phaser 14 | */ 15 | 16 | var Phaser = { 17 | 18 | Actions: { 19 | AlignTo: require('actions/AlignTo'), 20 | Angle: require('actions/Angle'), 21 | Call: require('actions/Call'), 22 | GetFirst: require('actions/GetFirst'), 23 | GetLast: require('actions/GetLast'), 24 | GridAlign: require('actions/GridAlign'), 25 | IncAlpha: require('actions/IncAlpha'), 26 | IncX: require('actions/IncX'), 27 | IncXY: require('actions/IncXY'), 28 | IncY: require('actions/IncY'), 29 | PlaceOnCircle: require('actions/PlaceOnCircle'), 30 | PlaceOnEllipse: require('actions/PlaceOnEllipse'), 31 | PlaceOnLine: require('actions/PlaceOnLine'), 32 | PlaceOnRectangle: require('actions/PlaceOnRectangle'), 33 | PlaceOnTriangle: require('actions/PlaceOnTriangle'), 34 | PlayAnimation: require('actions/PlayAnimation'), 35 | PropertyValueInc: require('actions/PropertyValueInc'), 36 | PropertyValueSet: require('actions/PropertyValueSet'), 37 | RandomCircle: require('actions/RandomCircle'), 38 | RandomEllipse: require('actions/RandomEllipse'), 39 | RandomLine: require('actions/RandomLine'), 40 | RandomRectangle: require('actions/RandomRectangle'), 41 | RandomTriangle: require('actions/RandomTriangle'), 42 | Rotate: require('actions/Rotate'), 43 | RotateAround: require('actions/RotateAround'), 44 | RotateAroundDistance: require('actions/RotateAroundDistance'), 45 | ScaleX: require('actions/ScaleX'), 46 | ScaleXY: require('actions/ScaleXY'), 47 | ScaleY: require('actions/ScaleY'), 48 | SetAlpha: require('actions/SetAlpha'), 49 | SetBlendMode: require('actions/SetBlendMode'), 50 | SetDepth: require('actions/SetDepth'), 51 | SetHitArea: require('actions/SetHitArea'), 52 | SetOrigin: require('actions/SetOrigin'), 53 | SetRotation: require('actions/SetRotation'), 54 | SetScale: require('actions/SetScale'), 55 | SetScaleX: require('actions/SetScaleX'), 56 | SetScaleY: require('actions/SetScaleY'), 57 | SetScrollFactor: require('actions/SetScrollFactor'), 58 | SetScrollFactorX: require('actions/SetScrollFactorX'), 59 | SetScrollFactorY: require('actions/SetScrollFactorY'), 60 | SetTint: require('actions/SetTint'), 61 | SetVisible: require('actions/SetVisible'), 62 | SetX: require('actions/SetX'), 63 | SetXY: require('actions/SetXY'), 64 | SetY: require('actions/SetY'), 65 | ShiftPosition: require('actions/ShiftPosition'), 66 | Shuffle: require('actions/Shuffle'), 67 | SmootherStep: require('actions/SmootherStep'), 68 | SmoothStep: require('actions/SmoothStep'), 69 | Spread: require('actions/Spread'), 70 | ToggleVisible: require('actions/ToggleVisible'), 71 | WrapInRectangle: require('actions/WrapInRectangle') 72 | }, 73 | Animations: require('animations'), 74 | BlendModes: require('renderer/BlendModes'), 75 | Cache: require('cache'), 76 | Cameras: { 77 | Controls: require('cameras/controls'), 78 | Scene2D: require('cameras/2d') 79 | }, 80 | Core: require('core'), 81 | Class: require('utils/Class'), 82 | Create: { 83 | GenerateTexture: require('create/GenerateTexture'), 84 | Palettes: { 85 | ARNE16: require('create/palettes/Arne16'), 86 | C64: require('create/palettes/C64'), 87 | CGA: require('create/palettes/CGA'), 88 | JMP: require('create/palettes/JMP'), 89 | MSX: require('create/palettes/MSX') 90 | } 91 | }, 92 | Curves: { 93 | Path: require('curves/path/Path'), 94 | MoveTo: require('curves/path/MoveTo'), 95 | CubicBezier: require('curves/CubicBezierCurve'), 96 | Curve: require('curves/Curve'), 97 | Ellipse: require('curves/EllipseCurve'), 98 | Line: require('curves/LineCurve'), 99 | QuadraticBezier: require('curves/QuadraticBezierCurve'), 100 | Spline: require('curves/SplineCurve') 101 | }, 102 | Data: require('data'), 103 | Display: { 104 | Align: require('display/align'), 105 | BaseShader: require('display/shader/BaseShader'), 106 | Bounds: require('display/bounds'), 107 | Canvas: require('display/canvas'), 108 | Color: require('display/color'), 109 | ColorMatrix: require('display/ColorMatrix'), 110 | Masks: require('display/mask'), 111 | RGB: require('display/RGB') 112 | }, 113 | DOM: require('dom'), 114 | Events: require('events'), 115 | FX: { 116 | Barrel: require('fx/Barrel'), 117 | Controller: require('fx/Controller'), 118 | Bloom: require('fx/Bloom'), 119 | Blur: require('fx/Blur'), 120 | Bokeh: require('fx/Bokeh'), 121 | Circle: require('fx/Circle'), 122 | ColorMatrix: require('fx/ColorMatrix'), 123 | Displacement: require('fx/Displacement'), 124 | Glow: require('fx/Glow'), 125 | Gradient: require('fx/Gradient'), 126 | Pixelate: require('fx/Pixelate'), 127 | Shadow: require('fx/Shadow'), 128 | Shine: require('fx/Shine'), 129 | Vignette: require('fx/Vignette'), 130 | Wipe: require('fx/Wipe') 131 | }, 132 | Game: require('core/Game'), 133 | GameObjects: { 134 | Events: require('gameobjects/events'), 135 | 136 | DisplayList: require('gameobjects/DisplayList'), 137 | GameObjectCreator: require('gameobjects/GameObjectCreator'), 138 | GameObjectFactory: require('gameobjects/GameObjectFactory'), 139 | UpdateList: require('gameobjects/UpdateList'), 140 | 141 | Components: require('gameobjects/components'), 142 | GetCalcMatrix: require('gameobjects/GetCalcMatrix'), 143 | 144 | BuildGameObject: require('gameobjects/BuildGameObject'), 145 | BuildGameObjectAnimation: require('gameobjects/BuildGameObjectAnimation'), 146 | GameObject: require('gameobjects/GameObject'), 147 | BitmapText: require('gameobjects/bitmaptext/static/BitmapText'), 148 | Blitter: require('gameobjects/blitter/Blitter'), 149 | Bob: require('gameobjects/blitter/Bob'), 150 | Container: require('gameobjects/container/Container'), 151 | DOMElement: require('gameobjects/domelement/DOMElement'), 152 | DynamicBitmapText: require('gameobjects/bitmaptext/dynamic/DynamicBitmapText'), 153 | Extern: require('gameobjects/extern/Extern.js'), 154 | Graphics: require('gameobjects/graphics/Graphics.js'), 155 | Group: require('gameobjects/group/Group'), 156 | Image: require('gameobjects/image/Image'), 157 | Layer: require('gameobjects/layer/Layer'), 158 | Particles: require('gameobjects/particles'), 159 | PathFollower: require('gameobjects/pathfollower/PathFollower'), 160 | RenderTexture: require('gameobjects/rendertexture/RenderTexture'), 161 | RetroFont: require('gameobjects/bitmaptext/RetroFont'), 162 | Rope: require('gameobjects/rope/Rope'), 163 | Sprite: require('gameobjects/sprite/Sprite'), 164 | 165 | Text: require('gameobjects/text/Text'), 166 | GetTextSize: require('gameobjects/text/GetTextSize'), 167 | MeasureText: require('gameobjects/text/MeasureText'), 168 | TextStyle: require('gameobjects/text/TextStyle'), 169 | 170 | TileSprite: require('gameobjects/tilesprite/TileSprite'), 171 | Zone: require('gameobjects/zone/Zone'), 172 | Video: require('gameobjects/video/Video'), 173 | 174 | // WebGL only 175 | Shader: require('gameobjects/shader/Shader'), 176 | Mesh: require('gameobjects/mesh/Mesh'), 177 | NineSlice: require('gameobjects/nineslice/NineSlice'), 178 | PointLight: require('gameobjects/pointlight/PointLight'), 179 | Plane: require('gameobjects/plane/Plane'), 180 | Light: require('gameobjects/lights/Light'), 181 | LightsManager: require('gameobjects/lights/LightsManager'), 182 | LightsPlugin: require('gameobjects/lights/LightsPlugin'), 183 | 184 | // Shapes 185 | 186 | Shape: require('gameobjects/shape/Shape'), 187 | Arc: require('gameobjects/shape/arc/Arc'), 188 | Curve: require('gameobjects/shape/curve/Curve'), 189 | Ellipse: require('gameobjects/shape/ellipse/Ellipse'), 190 | Grid: require('gameobjects/shape/grid/Grid'), 191 | IsoBox: require('gameobjects/shape/isobox/IsoBox'), 192 | IsoTriangle: require('gameobjects/shape/isotriangle/IsoTriangle'), 193 | Line: require('gameobjects/shape/line/Line'), 194 | Polygon: require('gameobjects/shape/polygon/Polygon'), 195 | Rectangle: require('gameobjects/shape/rectangle/Rectangle'), 196 | Star: require('gameobjects/shape/star/Star'), 197 | Triangle: require('gameobjects/shape/triangle/Triangle'), 198 | 199 | // Game Object Factories 200 | 201 | Factories: { 202 | Blitter: require('gameobjects/blitter/BlitterFactory'), 203 | Container: require('gameobjects/container/ContainerFactory'), 204 | DOMElement: require('gameobjects/domelement/DOMElementFactory'), 205 | DynamicBitmapText: require('gameobjects/bitmaptext/dynamic/DynamicBitmapTextFactory'), 206 | Extern: require('gameobjects/extern/ExternFactory'), 207 | Graphics: require('gameobjects/graphics/GraphicsFactory'), 208 | Group: require('gameobjects/group/GroupFactory'), 209 | Image: require('gameobjects/image/ImageFactory'), 210 | Layer: require('gameobjects/layer/LayerFactory'), 211 | Particles: require('gameobjects/particles/ParticleEmitterFactory'), 212 | PathFollower: require('gameobjects/pathfollower/PathFollowerFactory'), 213 | RenderTexture: require('gameobjects/rendertexture/RenderTextureFactory'), 214 | Rope: require('gameobjects/rope/RopeFactory'), 215 | Sprite: require('gameobjects/sprite/SpriteFactory'), 216 | StaticBitmapText: require('gameobjects/bitmaptext/static/BitmapTextFactory'), 217 | Text: require('gameobjects/text/TextFactory'), 218 | TileSprite: require('gameobjects/tilesprite/TileSpriteFactory'), 219 | Zone: require('gameobjects/zone/ZoneFactory'), 220 | Video: require('gameobjects/video/VideoFactory'), 221 | 222 | // Shapes 223 | Arc: require('gameobjects/shape/arc/ArcFactory'), 224 | Curve: require('gameobjects/shape/curve/CurveFactory'), 225 | Ellipse: require('gameobjects/shape/ellipse/EllipseFactory'), 226 | Grid: require('gameobjects/shape/grid/GridFactory'), 227 | IsoBox: require('gameobjects/shape/isobox/IsoBoxFactory'), 228 | IsoTriangle: require('gameobjects/shape/isotriangle/IsoTriangleFactory'), 229 | Line: require('gameobjects/shape/line/LineFactory'), 230 | Polygon: require('gameobjects/shape/polygon/PolygonFactory'), 231 | Rectangle: require('gameobjects/shape/rectangle/RectangleFactory'), 232 | Star: require('gameobjects/shape/star/StarFactory'), 233 | Triangle: require('gameobjects/shape/triangle/TriangleFactory'), 234 | 235 | // WebGL only 236 | Shader: require('gameobjects/shader/ShaderFactory'), 237 | Mesh: require('gameobjects/mesh/MeshFactory'), 238 | NineSlice: require('gameobjects/nineslice/NineSliceFactory'), 239 | PointLight: require('gameobjects/pointlight/PointLightFactory'), 240 | Plane: require('gameobjects/plane/PlaneFactory'), 241 | }, 242 | 243 | Creators: { 244 | Blitter: require('gameobjects/blitter/BlitterCreator'), 245 | Container: require('gameobjects/container/ContainerCreator'), 246 | DynamicBitmapText: require('gameobjects/bitmaptext/dynamic/DynamicBitmapTextCreator'), 247 | Graphics: require('gameobjects/graphics/GraphicsCreator'), 248 | Group: require('gameobjects/group/GroupCreator'), 249 | Image: require('gameobjects/image/ImageCreator'), 250 | Layer: require('gameobjects/layer/LayerCreator'), 251 | Particles: require('gameobjects/particles/ParticleEmitterCreator'), 252 | RenderTexture: require('gameobjects/rendertexture/RenderTextureCreator'), 253 | Rope: require('gameobjects/rope/RopeCreator'), 254 | Sprite: require('gameobjects/sprite/SpriteCreator'), 255 | StaticBitmapText: require('gameobjects/bitmaptext/static/BitmapTextCreator'), 256 | Text: require('gameobjects/text/TextCreator'), 257 | TileSprite: require('gameobjects/tilesprite/TileSpriteCreator'), 258 | Zone: require('gameobjects/zone/ZoneCreator'), 259 | Video: require('gameobjects/video/VideoCreator'), 260 | 261 | // WebGL only 262 | Shader: require('gameobjects/shader/ShaderCreator'), 263 | Mesh: require('gameobjects/mesh/MeshCreator'), 264 | NineSlice: require('gameobjects/nineslice/NineSliceCreator'), 265 | PointLight: require('gameobjects/pointlight/PointLightCreator'), 266 | Plane: require('gameobjects/plane/PlaneCreator'), 267 | } 268 | 269 | }, 270 | Geom: { 271 | Circle: require('geom/circle'), 272 | Ellipse: require('geom/ellipse'), 273 | Intersects: require('geom/intersects'), 274 | Line: require('geom/line'), 275 | Mesh: require('geom/mesh'), 276 | Point: require('geom/point'), 277 | Polygon: require('geom/polygon'), 278 | Rectangle: require('geom/rectangle'), 279 | Triangle: require('geom/triangle') 280 | }, 281 | Input: { 282 | CreatePixelPerfectHandler: require('input/CreatePixelPerfectHandler'), 283 | CreateInteractiveObject: require('input/CreateInteractiveObject'), 284 | Events: require('input/events'), 285 | Gamepad: require('input/gamepad'), 286 | InputManager: require('input/InputManager'), 287 | InputPlugin: require('input/InputPlugin'), 288 | InputPluginCache: require('input/InputPluginCache'), 289 | Keyboard: require('input/keyboard'), 290 | Mouse: require('input/mouse'), 291 | Pointer: require('input/Pointer'), 292 | Touch: require('input/touch') 293 | }, 294 | Loader: { 295 | Events: require('loader/events'), 296 | FileTypes: { 297 | AnimationJSONFile: require('loader/filetypes/AnimationJSONFile'), 298 | AsepriteFile: require('loader/filetypes/AsepriteFile'), 299 | AtlasJSONFile: require('loader/filetypes/AtlasJSONFile'), 300 | AtlasXMLFile: require('loader/filetypes/AtlasXMLFile'), 301 | AudioFile: require('loader/filetypes/AudioFile'), 302 | AudioSpriteFile: require('loader/filetypes/AudioSpriteFile'), 303 | BinaryFile: require('loader/filetypes/BinaryFile'), 304 | BitmapFontFile: require('loader/filetypes/BitmapFontFile'), 305 | CompressedTextureFile: require('loader/filetypes/CompressedTextureFile'), 306 | CSSFile: require('loader/filetypes/CSSFile'), 307 | GLSLFile: require('loader/filetypes/GLSLFile'), 308 | HTML5AudioFile: require('loader/filetypes/HTML5AudioFile'), 309 | HTMLFile: require('loader/filetypes/HTMLFile'), 310 | HTMLTextureFile: require('loader/filetypes/HTMLTextureFile'), 311 | ImageFile: require('loader/filetypes/ImageFile'), 312 | JSONFile: require('loader/filetypes/JSONFile'), 313 | MultiAtlasFile: require('loader/filetypes/MultiAtlasFile'), 314 | MultiScriptFile: require('loader/filetypes/MultiScriptFile'), 315 | OBJFile: require('loader/filetypes/OBJFile'), 316 | PackFile: require('loader/filetypes/PackFile'), 317 | PluginFile: require('loader/filetypes/PluginFile'), 318 | SceneFile: require('loader/filetypes/SceneFile'), 319 | ScenePluginFile: require('loader/filetypes/ScenePluginFile'), 320 | ScriptFile: require('loader/filetypes/ScriptFile'), 321 | SpriteSheetFile: require('loader/filetypes/SpriteSheetFile'), 322 | SVGFile: require('loader/filetypes/SVGFile'), 323 | TextFile: require('loader/filetypes/TextFile'), 324 | TilemapCSVFile: require('loader/filetypes/TilemapCSVFile'), 325 | TilemapImpactFile: require('loader/filetypes/TilemapImpactFile'), 326 | TilemapJSONFile: require('loader/filetypes/TilemapJSONFile'), 327 | UnityAtlasFile: require('loader/filetypes/UnityAtlasFile'), 328 | VideoFile: require('loader/filetypes/VideoFile'), 329 | XMLFile: require('loader/filetypes/XMLFile') 330 | }, 331 | File: require('loader/File'), 332 | FileTypesManager: require('loader/FileTypesManager'), 333 | GetURL: require('loader/GetURL'), 334 | LoaderPlugin: require('loader/LoaderPlugin'), 335 | MergeXHRSettings: require('loader/MergeXHRSettings'), 336 | MultiFile: require('loader/MultiFile'), 337 | XHRLoader: require('loader/XHRLoader'), 338 | XHRSettings: require('loader/XHRSettings') 339 | }, 340 | Math: { 341 | // Collections of functions 342 | Angle: require('math/angle/'), 343 | Distance: require('math/distance/'), 344 | Easing: require('math/easing/'), 345 | Fuzzy: require('math/fuzzy/'), 346 | Interpolation: require('math/interpolation/'), 347 | Pow2: require('math/pow2/'), 348 | Snap: require('math/snap/'), 349 | 350 | // Expose the RNG Class 351 | RandomDataGenerator: require('math/random-data-generator/RandomDataGenerator'), 352 | 353 | // Single functions 354 | Average: require('math/Average'), 355 | Bernstein: require('math/Bernstein'), 356 | Between: require('math/Between'), 357 | CatmullRom: require('math/CatmullRom'), 358 | CeilTo: require('math/CeilTo'), 359 | Clamp: require('math/Clamp'), 360 | DegToRad: require('math/DegToRad'), 361 | Difference: require('math/Difference'), 362 | Euler: require('math/Euler'), 363 | Factorial: require('math/Factorial'), 364 | FloatBetween: require('math/FloatBetween'), 365 | FloorTo: require('math/FloorTo'), 366 | FromPercent: require('math/FromPercent'), 367 | GetSpeed: require('math/GetSpeed'), 368 | IsEven: require('math/IsEven'), 369 | IsEvenStrict: require('math/IsEvenStrict'), 370 | Linear: require('math/Linear'), 371 | LinearXY: require('math/LinearXY'), 372 | MaxAdd: require('math/MaxAdd'), 373 | Median: require('math/Median'), 374 | MinSub: require('math/MinSub'), 375 | Percent: require('math/Percent'), 376 | RadToDeg: require('math/RadToDeg'), 377 | RandomXY: require('math/RandomXY'), 378 | RandomXYZ: require('math/RandomXYZ'), 379 | RandomXYZW: require('math/RandomXYZW'), 380 | Rotate: require('math/Rotate'), 381 | RotateAround: require('math/RotateAround'), 382 | RotateAroundDistance: require('math/RotateAroundDistance'), 383 | RotateTo: require('math/RotateTo'), 384 | RoundAwayFromZero: require('math/RoundAwayFromZero'), 385 | RoundTo: require('math/RoundTo'), 386 | SinCosTableGenerator: require('math/SinCosTableGenerator'), 387 | SmootherStep: require('math/SmootherStep'), 388 | SmoothStep: require('math/SmoothStep'), 389 | ToXY: require('math/ToXY'), 390 | TransformXY: require('math/TransformXY'), 391 | Within: require('math/Within'), 392 | Wrap: require('math/Wrap'), 393 | 394 | // Vector classes 395 | Vector2: require('math/Vector2'), 396 | Vector3: require('math/Vector3'), 397 | Vector4: require('math/Vector4'), 398 | Matrix3: require('math/Matrix3'), 399 | Matrix4: require('math/Matrix4'), 400 | Quaternion: require('math/Quaternion'), 401 | RotateVec3: require('math/RotateVec3') 402 | 403 | }, 404 | Physics: { 405 | Arcade: require('physics/arcade'), 406 | Matter: require('physics/matter-js') 407 | }, 408 | Plugins: require('plugins'), 409 | Renderer: { 410 | Canvas: require('renderer/canvas'), 411 | Events: require('renderer/events'), 412 | Snapshot: require('renderer/snapshot'), 413 | WebGL: require('renderer/webgl') 414 | }, 415 | Scale: require('scale'), 416 | ScaleModes: require('renderer/ScaleModes'), 417 | Scene: require('scene/Scene'), 418 | Scenes: require('scene'), 419 | Structs: require('structs'), 420 | Textures: require('textures'), 421 | Tilemaps: require('tilemaps'), 422 | Time: require('time'), 423 | Tweens: require('tweens'), 424 | Utils: { 425 | Array: require('utils/array/'), 426 | Base64: require('utils/base64/'), 427 | Objects: require('utils/object/'), 428 | String: require('utils/string/'), 429 | NOOP: require('utils/NOOP'), 430 | NULL: require('utils/NULL') 431 | } 432 | 433 | }; 434 | 435 | // Merge in the optional plugins and WebGL only features 436 | 437 | if (typeof FEATURE_SOUND) 438 | { 439 | Phaser.Sound = { 440 | SoundManagerCreator: require('sound/SoundManagerCreator'), 441 | 442 | Events: require('sound/events'), 443 | 444 | BaseSound: require('sound/BaseSound'), 445 | BaseSoundManager: require('sound/BaseSoundManager'), 446 | 447 | WebAudioSound: require('sound/webaudio/WebAudioSound'), 448 | WebAudioSoundManager: require('sound/webaudio/WebAudioSoundManager'), 449 | 450 | HTML5AudioSound: require('sound/html5/HTML5AudioSound'), 451 | HTML5AudioSoundManager: require('sound/html5/HTML5AudioSoundManager'), 452 | 453 | NoAudioSound: require('sound/noaudio/NoAudioSound'), 454 | NoAudioSoundManager: require('sound/noaudio/NoAudioSoundManager') 455 | }; 456 | } 457 | 458 | // Merge in the consts 459 | 460 | Phaser = Extend(false, Phaser, CONST); 461 | 462 | /** 463 | * The root types namespace. 464 | * 465 | * @namespace Phaser.Types 466 | * @since 3.17.0 467 | */ 468 | 469 | // Export it 470 | 471 | module.exports = Phaser; 472 | 473 | global.Phaser = Phaser; 474 | 475 | /* 476 | * "Documentation is like pizza: when it is good, it is very, very good; 477 | * and when it is bad, it is better than nothing." 478 | * -- Dick Brandon 479 | */ 480 | -------------------------------------------------------------------------------- /dist/phaser-custom.min.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Jason Nicholls 3 | * @copyright 2018 Photon Storm Ltd. 4 | * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} 5 | */ 6 | 7 | /** 8 | * @author Niklas von Hertzen (https://github.com/niklasvh/base64-arraybuffer) 9 | * @author Richard Davey 10 | * @copyright 2013-2023 Photon Storm Ltd. 11 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 12 | */ 13 | 14 | /** 15 | * @author Richard Davey 16 | * @author @samme 17 | * @copyright 2013-2023 Photon Storm Ltd. 18 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 19 | */ 20 | 21 | /** 22 | * @author Richard Davey 23 | * @author Angry Bytes (and contributors) 24 | * @copyright 2013-2023 Photon Storm Ltd. 25 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 26 | */ 27 | 28 | /** 29 | * @author Richard Davey 30 | * @author Felipe Alfonso <@bitnenfer> 31 | * @author Matthew Groves <@doormat> 32 | * @copyright 2013-2023 Photon Storm Ltd. 33 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 34 | */ 35 | 36 | /** 37 | * @author Richard Davey 38 | * @author Felipe Alfonso <@bitnenfer> 39 | * @copyright 2013-2023 Photon Storm Ltd. 40 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 41 | */ 42 | 43 | /** 44 | * @author Richard Davey 45 | * @author Pavle Goloskokovic (http://prunegames.com) 46 | * @copyright 2013-2023 Photon Storm Ltd. 47 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 48 | */ 49 | 50 | /** 51 | * @author Richard Davey 52 | * @copyright 2013-2023 Photon Storm Ltd. 53 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 54 | */ 55 | 56 | /** 57 | * @author Richard Davey 58 | * @copyright 2021 Photon Storm Ltd. 59 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 60 | */ 61 | 62 | /** 63 | * @author pi-kei 64 | * @copyright 2013-2023 Photon Storm Ltd. 65 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 66 | */ 67 | 68 | /** 69 | * @author samme 70 | * @copyright 2013-2023 Photon Storm Ltd. 71 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 72 | */ 73 | 74 | /** 75 | * @author samme 76 | * @copyright 2021 Photon Storm Ltd. 77 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 78 | */ 79 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phaser3-custom-build", 3 | "version": "2.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "phaser3-custom-build", 9 | "version": "2.0.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "clean-webpack-plugin": "^4.0.0", 13 | "eventemitter3": "^5.0.1", 14 | "phaser": "^3.60.0", 15 | "terser-webpack-plugin": "^5.3.9", 16 | "webpack": "^5.89.0", 17 | "webpack-cli": "^5.1.4" 18 | }, 19 | "devDependencies": { 20 | "prettier": "3.0.3" 21 | } 22 | }, 23 | "node_modules/@discoveryjs/json-ext": { 24 | "version": "0.5.7", 25 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", 26 | "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", 27 | "engines": { 28 | "node": ">=10.0.0" 29 | } 30 | }, 31 | "node_modules/@jridgewell/gen-mapping": { 32 | "version": "0.3.3", 33 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 34 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 35 | "dependencies": { 36 | "@jridgewell/set-array": "^1.0.1", 37 | "@jridgewell/sourcemap-codec": "^1.4.10", 38 | "@jridgewell/trace-mapping": "^0.3.9" 39 | }, 40 | "engines": { 41 | "node": ">=6.0.0" 42 | } 43 | }, 44 | "node_modules/@jridgewell/resolve-uri": { 45 | "version": "3.1.1", 46 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 47 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 48 | "engines": { 49 | "node": ">=6.0.0" 50 | } 51 | }, 52 | "node_modules/@jridgewell/set-array": { 53 | "version": "1.1.2", 54 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 55 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 56 | "engines": { 57 | "node": ">=6.0.0" 58 | } 59 | }, 60 | "node_modules/@jridgewell/source-map": { 61 | "version": "0.3.5", 62 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", 63 | "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", 64 | "dependencies": { 65 | "@jridgewell/gen-mapping": "^0.3.0", 66 | "@jridgewell/trace-mapping": "^0.3.9" 67 | } 68 | }, 69 | "node_modules/@jridgewell/sourcemap-codec": { 70 | "version": "1.4.15", 71 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 72 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 73 | }, 74 | "node_modules/@jridgewell/trace-mapping": { 75 | "version": "0.3.20", 76 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 77 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 78 | "dependencies": { 79 | "@jridgewell/resolve-uri": "^3.1.0", 80 | "@jridgewell/sourcemap-codec": "^1.4.14" 81 | } 82 | }, 83 | "node_modules/@types/eslint": { 84 | "version": "8.44.6", 85 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", 86 | "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", 87 | "dependencies": { 88 | "@types/estree": "*", 89 | "@types/json-schema": "*" 90 | } 91 | }, 92 | "node_modules/@types/eslint-scope": { 93 | "version": "3.7.6", 94 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", 95 | "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", 96 | "dependencies": { 97 | "@types/eslint": "*", 98 | "@types/estree": "*" 99 | } 100 | }, 101 | "node_modules/@types/estree": { 102 | "version": "1.0.3", 103 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", 104 | "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" 105 | }, 106 | "node_modules/@types/glob": { 107 | "version": "7.2.0", 108 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", 109 | "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", 110 | "dependencies": { 111 | "@types/minimatch": "*", 112 | "@types/node": "*" 113 | } 114 | }, 115 | "node_modules/@types/json-schema": { 116 | "version": "7.0.14", 117 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", 118 | "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" 119 | }, 120 | "node_modules/@types/minimatch": { 121 | "version": "5.1.2", 122 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", 123 | "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" 124 | }, 125 | "node_modules/@types/node": { 126 | "version": "20.8.8", 127 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.8.tgz", 128 | "integrity": "sha512-YRsdVxq6OaLfmR9Hy816IMp33xOBjfyOgUd77ehqg96CFywxAPbDbXvAsuN2KVg2HOT8Eh6uAfU+l4WffwPVrQ==", 129 | "dependencies": { 130 | "undici-types": "~5.25.1" 131 | } 132 | }, 133 | "node_modules/@webassemblyjs/ast": { 134 | "version": "1.11.6", 135 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", 136 | "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", 137 | "dependencies": { 138 | "@webassemblyjs/helper-numbers": "1.11.6", 139 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6" 140 | } 141 | }, 142 | "node_modules/@webassemblyjs/floating-point-hex-parser": { 143 | "version": "1.11.6", 144 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", 145 | "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" 146 | }, 147 | "node_modules/@webassemblyjs/helper-api-error": { 148 | "version": "1.11.6", 149 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", 150 | "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" 151 | }, 152 | "node_modules/@webassemblyjs/helper-buffer": { 153 | "version": "1.11.6", 154 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", 155 | "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" 156 | }, 157 | "node_modules/@webassemblyjs/helper-numbers": { 158 | "version": "1.11.6", 159 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", 160 | "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", 161 | "dependencies": { 162 | "@webassemblyjs/floating-point-hex-parser": "1.11.6", 163 | "@webassemblyjs/helper-api-error": "1.11.6", 164 | "@xtuc/long": "4.2.2" 165 | } 166 | }, 167 | "node_modules/@webassemblyjs/helper-wasm-bytecode": { 168 | "version": "1.11.6", 169 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", 170 | "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" 171 | }, 172 | "node_modules/@webassemblyjs/helper-wasm-section": { 173 | "version": "1.11.6", 174 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", 175 | "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", 176 | "dependencies": { 177 | "@webassemblyjs/ast": "1.11.6", 178 | "@webassemblyjs/helper-buffer": "1.11.6", 179 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 180 | "@webassemblyjs/wasm-gen": "1.11.6" 181 | } 182 | }, 183 | "node_modules/@webassemblyjs/ieee754": { 184 | "version": "1.11.6", 185 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", 186 | "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", 187 | "dependencies": { 188 | "@xtuc/ieee754": "^1.2.0" 189 | } 190 | }, 191 | "node_modules/@webassemblyjs/leb128": { 192 | "version": "1.11.6", 193 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", 194 | "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", 195 | "dependencies": { 196 | "@xtuc/long": "4.2.2" 197 | } 198 | }, 199 | "node_modules/@webassemblyjs/utf8": { 200 | "version": "1.11.6", 201 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", 202 | "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" 203 | }, 204 | "node_modules/@webassemblyjs/wasm-edit": { 205 | "version": "1.11.6", 206 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", 207 | "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", 208 | "dependencies": { 209 | "@webassemblyjs/ast": "1.11.6", 210 | "@webassemblyjs/helper-buffer": "1.11.6", 211 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 212 | "@webassemblyjs/helper-wasm-section": "1.11.6", 213 | "@webassemblyjs/wasm-gen": "1.11.6", 214 | "@webassemblyjs/wasm-opt": "1.11.6", 215 | "@webassemblyjs/wasm-parser": "1.11.6", 216 | "@webassemblyjs/wast-printer": "1.11.6" 217 | } 218 | }, 219 | "node_modules/@webassemblyjs/wasm-gen": { 220 | "version": "1.11.6", 221 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", 222 | "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", 223 | "dependencies": { 224 | "@webassemblyjs/ast": "1.11.6", 225 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 226 | "@webassemblyjs/ieee754": "1.11.6", 227 | "@webassemblyjs/leb128": "1.11.6", 228 | "@webassemblyjs/utf8": "1.11.6" 229 | } 230 | }, 231 | "node_modules/@webassemblyjs/wasm-opt": { 232 | "version": "1.11.6", 233 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", 234 | "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", 235 | "dependencies": { 236 | "@webassemblyjs/ast": "1.11.6", 237 | "@webassemblyjs/helper-buffer": "1.11.6", 238 | "@webassemblyjs/wasm-gen": "1.11.6", 239 | "@webassemblyjs/wasm-parser": "1.11.6" 240 | } 241 | }, 242 | "node_modules/@webassemblyjs/wasm-parser": { 243 | "version": "1.11.6", 244 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", 245 | "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", 246 | "dependencies": { 247 | "@webassemblyjs/ast": "1.11.6", 248 | "@webassemblyjs/helper-api-error": "1.11.6", 249 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 250 | "@webassemblyjs/ieee754": "1.11.6", 251 | "@webassemblyjs/leb128": "1.11.6", 252 | "@webassemblyjs/utf8": "1.11.6" 253 | } 254 | }, 255 | "node_modules/@webassemblyjs/wast-printer": { 256 | "version": "1.11.6", 257 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", 258 | "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", 259 | "dependencies": { 260 | "@webassemblyjs/ast": "1.11.6", 261 | "@xtuc/long": "4.2.2" 262 | } 263 | }, 264 | "node_modules/@webpack-cli/configtest": { 265 | "version": "2.1.1", 266 | "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", 267 | "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", 268 | "engines": { 269 | "node": ">=14.15.0" 270 | }, 271 | "peerDependencies": { 272 | "webpack": "5.x.x", 273 | "webpack-cli": "5.x.x" 274 | } 275 | }, 276 | "node_modules/@webpack-cli/info": { 277 | "version": "2.0.2", 278 | "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", 279 | "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", 280 | "engines": { 281 | "node": ">=14.15.0" 282 | }, 283 | "peerDependencies": { 284 | "webpack": "5.x.x", 285 | "webpack-cli": "5.x.x" 286 | } 287 | }, 288 | "node_modules/@webpack-cli/serve": { 289 | "version": "2.0.5", 290 | "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", 291 | "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", 292 | "engines": { 293 | "node": ">=14.15.0" 294 | }, 295 | "peerDependencies": { 296 | "webpack": "5.x.x", 297 | "webpack-cli": "5.x.x" 298 | }, 299 | "peerDependenciesMeta": { 300 | "webpack-dev-server": { 301 | "optional": true 302 | } 303 | } 304 | }, 305 | "node_modules/@xtuc/ieee754": { 306 | "version": "1.2.0", 307 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 308 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" 309 | }, 310 | "node_modules/@xtuc/long": { 311 | "version": "4.2.2", 312 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 313 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" 314 | }, 315 | "node_modules/acorn": { 316 | "version": "8.10.0", 317 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", 318 | "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", 319 | "bin": { 320 | "acorn": "bin/acorn" 321 | }, 322 | "engines": { 323 | "node": ">=0.4.0" 324 | } 325 | }, 326 | "node_modules/acorn-import-assertions": { 327 | "version": "1.9.0", 328 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", 329 | "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", 330 | "peerDependencies": { 331 | "acorn": "^8" 332 | } 333 | }, 334 | "node_modules/ajv": { 335 | "version": "6.12.6", 336 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 337 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 338 | "dependencies": { 339 | "fast-deep-equal": "^3.1.1", 340 | "fast-json-stable-stringify": "^2.0.0", 341 | "json-schema-traverse": "^0.4.1", 342 | "uri-js": "^4.2.2" 343 | }, 344 | "funding": { 345 | "type": "github", 346 | "url": "https://github.com/sponsors/epoberezkin" 347 | } 348 | }, 349 | "node_modules/ajv-keywords": { 350 | "version": "3.5.2", 351 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", 352 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", 353 | "peerDependencies": { 354 | "ajv": "^6.9.1" 355 | } 356 | }, 357 | "node_modules/array-union": { 358 | "version": "1.0.2", 359 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 360 | "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", 361 | "dependencies": { 362 | "array-uniq": "^1.0.1" 363 | }, 364 | "engines": { 365 | "node": ">=0.10.0" 366 | } 367 | }, 368 | "node_modules/array-uniq": { 369 | "version": "1.0.3", 370 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 371 | "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", 372 | "engines": { 373 | "node": ">=0.10.0" 374 | } 375 | }, 376 | "node_modules/balanced-match": { 377 | "version": "1.0.2", 378 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 379 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 380 | }, 381 | "node_modules/brace-expansion": { 382 | "version": "1.1.11", 383 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 384 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 385 | "dependencies": { 386 | "balanced-match": "^1.0.0", 387 | "concat-map": "0.0.1" 388 | } 389 | }, 390 | "node_modules/browserslist": { 391 | "version": "4.22.1", 392 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", 393 | "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", 394 | "funding": [ 395 | { 396 | "type": "opencollective", 397 | "url": "https://opencollective.com/browserslist" 398 | }, 399 | { 400 | "type": "tidelift", 401 | "url": "https://tidelift.com/funding/github/npm/browserslist" 402 | }, 403 | { 404 | "type": "github", 405 | "url": "https://github.com/sponsors/ai" 406 | } 407 | ], 408 | "dependencies": { 409 | "caniuse-lite": "^1.0.30001541", 410 | "electron-to-chromium": "^1.4.535", 411 | "node-releases": "^2.0.13", 412 | "update-browserslist-db": "^1.0.13" 413 | }, 414 | "bin": { 415 | "browserslist": "cli.js" 416 | }, 417 | "engines": { 418 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 419 | } 420 | }, 421 | "node_modules/buffer-from": { 422 | "version": "1.1.2", 423 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 424 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" 425 | }, 426 | "node_modules/caniuse-lite": { 427 | "version": "1.0.30001553", 428 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001553.tgz", 429 | "integrity": "sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A==", 430 | "funding": [ 431 | { 432 | "type": "opencollective", 433 | "url": "https://opencollective.com/browserslist" 434 | }, 435 | { 436 | "type": "tidelift", 437 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 438 | }, 439 | { 440 | "type": "github", 441 | "url": "https://github.com/sponsors/ai" 442 | } 443 | ] 444 | }, 445 | "node_modules/chrome-trace-event": { 446 | "version": "1.0.3", 447 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", 448 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", 449 | "engines": { 450 | "node": ">=6.0" 451 | } 452 | }, 453 | "node_modules/clean-webpack-plugin": { 454 | "version": "4.0.0", 455 | "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", 456 | "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", 457 | "dependencies": { 458 | "del": "^4.1.1" 459 | }, 460 | "engines": { 461 | "node": ">=10.0.0" 462 | }, 463 | "peerDependencies": { 464 | "webpack": ">=4.0.0 <6.0.0" 465 | } 466 | }, 467 | "node_modules/clone-deep": { 468 | "version": "4.0.1", 469 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", 470 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", 471 | "dependencies": { 472 | "is-plain-object": "^2.0.4", 473 | "kind-of": "^6.0.2", 474 | "shallow-clone": "^3.0.0" 475 | }, 476 | "engines": { 477 | "node": ">=6" 478 | } 479 | }, 480 | "node_modules/colorette": { 481 | "version": "2.0.20", 482 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", 483 | "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" 484 | }, 485 | "node_modules/commander": { 486 | "version": "2.20.3", 487 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 488 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 489 | }, 490 | "node_modules/concat-map": { 491 | "version": "0.0.1", 492 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 493 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" 494 | }, 495 | "node_modules/cross-spawn": { 496 | "version": "7.0.3", 497 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 498 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 499 | "dependencies": { 500 | "path-key": "^3.1.0", 501 | "shebang-command": "^2.0.0", 502 | "which": "^2.0.1" 503 | }, 504 | "engines": { 505 | "node": ">= 8" 506 | } 507 | }, 508 | "node_modules/del": { 509 | "version": "4.1.1", 510 | "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", 511 | "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", 512 | "dependencies": { 513 | "@types/glob": "^7.1.1", 514 | "globby": "^6.1.0", 515 | "is-path-cwd": "^2.0.0", 516 | "is-path-in-cwd": "^2.0.0", 517 | "p-map": "^2.0.0", 518 | "pify": "^4.0.1", 519 | "rimraf": "^2.6.3" 520 | }, 521 | "engines": { 522 | "node": ">=6" 523 | } 524 | }, 525 | "node_modules/electron-to-chromium": { 526 | "version": "1.4.565", 527 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.565.tgz", 528 | "integrity": "sha512-XbMoT6yIvg2xzcbs5hCADi0dXBh4//En3oFXmtPX+jiyyiCTiM9DGFT2SLottjpEs9Z8Mh8SqahbR96MaHfuSg==" 529 | }, 530 | "node_modules/enhanced-resolve": { 531 | "version": "5.15.0", 532 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", 533 | "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", 534 | "dependencies": { 535 | "graceful-fs": "^4.2.4", 536 | "tapable": "^2.2.0" 537 | }, 538 | "engines": { 539 | "node": ">=10.13.0" 540 | } 541 | }, 542 | "node_modules/envinfo": { 543 | "version": "7.10.0", 544 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", 545 | "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", 546 | "bin": { 547 | "envinfo": "dist/cli.js" 548 | }, 549 | "engines": { 550 | "node": ">=4" 551 | } 552 | }, 553 | "node_modules/es-module-lexer": { 554 | "version": "1.3.1", 555 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", 556 | "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" 557 | }, 558 | "node_modules/escalade": { 559 | "version": "3.1.1", 560 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 561 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 562 | "engines": { 563 | "node": ">=6" 564 | } 565 | }, 566 | "node_modules/eslint-scope": { 567 | "version": "5.1.1", 568 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 569 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 570 | "dependencies": { 571 | "esrecurse": "^4.3.0", 572 | "estraverse": "^4.1.1" 573 | }, 574 | "engines": { 575 | "node": ">=8.0.0" 576 | } 577 | }, 578 | "node_modules/esrecurse": { 579 | "version": "4.3.0", 580 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 581 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 582 | "dependencies": { 583 | "estraverse": "^5.2.0" 584 | }, 585 | "engines": { 586 | "node": ">=4.0" 587 | } 588 | }, 589 | "node_modules/esrecurse/node_modules/estraverse": { 590 | "version": "5.3.0", 591 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 592 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 593 | "engines": { 594 | "node": ">=4.0" 595 | } 596 | }, 597 | "node_modules/estraverse": { 598 | "version": "4.3.0", 599 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 600 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 601 | "engines": { 602 | "node": ">=4.0" 603 | } 604 | }, 605 | "node_modules/eventemitter3": { 606 | "version": "5.0.1", 607 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 608 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 609 | }, 610 | "node_modules/events": { 611 | "version": "3.3.0", 612 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 613 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 614 | "engines": { 615 | "node": ">=0.8.x" 616 | } 617 | }, 618 | "node_modules/fast-deep-equal": { 619 | "version": "3.1.3", 620 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 621 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 622 | }, 623 | "node_modules/fast-json-stable-stringify": { 624 | "version": "2.1.0", 625 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 626 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 627 | }, 628 | "node_modules/fastest-levenshtein": { 629 | "version": "1.0.16", 630 | "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", 631 | "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", 632 | "engines": { 633 | "node": ">= 4.9.1" 634 | } 635 | }, 636 | "node_modules/find-up": { 637 | "version": "4.1.0", 638 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 639 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 640 | "dependencies": { 641 | "locate-path": "^5.0.0", 642 | "path-exists": "^4.0.0" 643 | }, 644 | "engines": { 645 | "node": ">=8" 646 | } 647 | }, 648 | "node_modules/flat": { 649 | "version": "5.0.2", 650 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 651 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", 652 | "bin": { 653 | "flat": "cli.js" 654 | } 655 | }, 656 | "node_modules/fs.realpath": { 657 | "version": "1.0.0", 658 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 659 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" 660 | }, 661 | "node_modules/function-bind": { 662 | "version": "1.1.2", 663 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 664 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 665 | "funding": { 666 | "url": "https://github.com/sponsors/ljharb" 667 | } 668 | }, 669 | "node_modules/glob": { 670 | "version": "7.2.3", 671 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 672 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 673 | "dependencies": { 674 | "fs.realpath": "^1.0.0", 675 | "inflight": "^1.0.4", 676 | "inherits": "2", 677 | "minimatch": "^3.1.1", 678 | "once": "^1.3.0", 679 | "path-is-absolute": "^1.0.0" 680 | }, 681 | "engines": { 682 | "node": "*" 683 | }, 684 | "funding": { 685 | "url": "https://github.com/sponsors/isaacs" 686 | } 687 | }, 688 | "node_modules/glob-to-regexp": { 689 | "version": "0.4.1", 690 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 691 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 692 | }, 693 | "node_modules/globby": { 694 | "version": "6.1.0", 695 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 696 | "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", 697 | "dependencies": { 698 | "array-union": "^1.0.1", 699 | "glob": "^7.0.3", 700 | "object-assign": "^4.0.1", 701 | "pify": "^2.0.0", 702 | "pinkie-promise": "^2.0.0" 703 | }, 704 | "engines": { 705 | "node": ">=0.10.0" 706 | } 707 | }, 708 | "node_modules/globby/node_modules/pify": { 709 | "version": "2.3.0", 710 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 711 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 712 | "engines": { 713 | "node": ">=0.10.0" 714 | } 715 | }, 716 | "node_modules/graceful-fs": { 717 | "version": "4.2.11", 718 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 719 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 720 | }, 721 | "node_modules/has-flag": { 722 | "version": "4.0.0", 723 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 724 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 725 | "engines": { 726 | "node": ">=8" 727 | } 728 | }, 729 | "node_modules/hasown": { 730 | "version": "2.0.0", 731 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", 732 | "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", 733 | "dependencies": { 734 | "function-bind": "^1.1.2" 735 | }, 736 | "engines": { 737 | "node": ">= 0.4" 738 | } 739 | }, 740 | "node_modules/import-local": { 741 | "version": "3.1.0", 742 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", 743 | "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", 744 | "dependencies": { 745 | "pkg-dir": "^4.2.0", 746 | "resolve-cwd": "^3.0.0" 747 | }, 748 | "bin": { 749 | "import-local-fixture": "fixtures/cli.js" 750 | }, 751 | "engines": { 752 | "node": ">=8" 753 | }, 754 | "funding": { 755 | "url": "https://github.com/sponsors/sindresorhus" 756 | } 757 | }, 758 | "node_modules/inflight": { 759 | "version": "1.0.6", 760 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 761 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 762 | "dependencies": { 763 | "once": "^1.3.0", 764 | "wrappy": "1" 765 | } 766 | }, 767 | "node_modules/inherits": { 768 | "version": "2.0.4", 769 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 770 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 771 | }, 772 | "node_modules/interpret": { 773 | "version": "3.1.1", 774 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", 775 | "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", 776 | "engines": { 777 | "node": ">=10.13.0" 778 | } 779 | }, 780 | "node_modules/is-core-module": { 781 | "version": "2.13.1", 782 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 783 | "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 784 | "dependencies": { 785 | "hasown": "^2.0.0" 786 | }, 787 | "funding": { 788 | "url": "https://github.com/sponsors/ljharb" 789 | } 790 | }, 791 | "node_modules/is-path-cwd": { 792 | "version": "2.2.0", 793 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", 794 | "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", 795 | "engines": { 796 | "node": ">=6" 797 | } 798 | }, 799 | "node_modules/is-path-in-cwd": { 800 | "version": "2.1.0", 801 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", 802 | "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", 803 | "dependencies": { 804 | "is-path-inside": "^2.1.0" 805 | }, 806 | "engines": { 807 | "node": ">=6" 808 | } 809 | }, 810 | "node_modules/is-path-inside": { 811 | "version": "2.1.0", 812 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", 813 | "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", 814 | "dependencies": { 815 | "path-is-inside": "^1.0.2" 816 | }, 817 | "engines": { 818 | "node": ">=6" 819 | } 820 | }, 821 | "node_modules/is-plain-object": { 822 | "version": "2.0.4", 823 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 824 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 825 | "dependencies": { 826 | "isobject": "^3.0.1" 827 | }, 828 | "engines": { 829 | "node": ">=0.10.0" 830 | } 831 | }, 832 | "node_modules/isexe": { 833 | "version": "2.0.0", 834 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 835 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 836 | }, 837 | "node_modules/isobject": { 838 | "version": "3.0.1", 839 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 840 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", 841 | "engines": { 842 | "node": ">=0.10.0" 843 | } 844 | }, 845 | "node_modules/jest-worker": { 846 | "version": "27.5.1", 847 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", 848 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", 849 | "dependencies": { 850 | "@types/node": "*", 851 | "merge-stream": "^2.0.0", 852 | "supports-color": "^8.0.0" 853 | }, 854 | "engines": { 855 | "node": ">= 10.13.0" 856 | } 857 | }, 858 | "node_modules/json-parse-even-better-errors": { 859 | "version": "2.3.1", 860 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 861 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 862 | }, 863 | "node_modules/json-schema-traverse": { 864 | "version": "0.4.1", 865 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 866 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 867 | }, 868 | "node_modules/kind-of": { 869 | "version": "6.0.3", 870 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 871 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 872 | "engines": { 873 | "node": ">=0.10.0" 874 | } 875 | }, 876 | "node_modules/loader-runner": { 877 | "version": "4.3.0", 878 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", 879 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", 880 | "engines": { 881 | "node": ">=6.11.5" 882 | } 883 | }, 884 | "node_modules/locate-path": { 885 | "version": "5.0.0", 886 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 887 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 888 | "dependencies": { 889 | "p-locate": "^4.1.0" 890 | }, 891 | "engines": { 892 | "node": ">=8" 893 | } 894 | }, 895 | "node_modules/merge-stream": { 896 | "version": "2.0.0", 897 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 898 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" 899 | }, 900 | "node_modules/mime-db": { 901 | "version": "1.52.0", 902 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 903 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 904 | "engines": { 905 | "node": ">= 0.6" 906 | } 907 | }, 908 | "node_modules/mime-types": { 909 | "version": "2.1.35", 910 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 911 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 912 | "dependencies": { 913 | "mime-db": "1.52.0" 914 | }, 915 | "engines": { 916 | "node": ">= 0.6" 917 | } 918 | }, 919 | "node_modules/minimatch": { 920 | "version": "3.1.2", 921 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 922 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 923 | "dependencies": { 924 | "brace-expansion": "^1.1.7" 925 | }, 926 | "engines": { 927 | "node": "*" 928 | } 929 | }, 930 | "node_modules/neo-async": { 931 | "version": "2.6.2", 932 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 933 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" 934 | }, 935 | "node_modules/node-releases": { 936 | "version": "2.0.13", 937 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", 938 | "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" 939 | }, 940 | "node_modules/object-assign": { 941 | "version": "4.1.1", 942 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 943 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 944 | "engines": { 945 | "node": ">=0.10.0" 946 | } 947 | }, 948 | "node_modules/once": { 949 | "version": "1.4.0", 950 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 951 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 952 | "dependencies": { 953 | "wrappy": "1" 954 | } 955 | }, 956 | "node_modules/p-limit": { 957 | "version": "2.3.0", 958 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 959 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 960 | "dependencies": { 961 | "p-try": "^2.0.0" 962 | }, 963 | "engines": { 964 | "node": ">=6" 965 | }, 966 | "funding": { 967 | "url": "https://github.com/sponsors/sindresorhus" 968 | } 969 | }, 970 | "node_modules/p-locate": { 971 | "version": "4.1.0", 972 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 973 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 974 | "dependencies": { 975 | "p-limit": "^2.2.0" 976 | }, 977 | "engines": { 978 | "node": ">=8" 979 | } 980 | }, 981 | "node_modules/p-map": { 982 | "version": "2.1.0", 983 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", 984 | "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", 985 | "engines": { 986 | "node": ">=6" 987 | } 988 | }, 989 | "node_modules/p-try": { 990 | "version": "2.2.0", 991 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 992 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 993 | "engines": { 994 | "node": ">=6" 995 | } 996 | }, 997 | "node_modules/path-exists": { 998 | "version": "4.0.0", 999 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1000 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1001 | "engines": { 1002 | "node": ">=8" 1003 | } 1004 | }, 1005 | "node_modules/path-is-absolute": { 1006 | "version": "1.0.1", 1007 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1008 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1009 | "engines": { 1010 | "node": ">=0.10.0" 1011 | } 1012 | }, 1013 | "node_modules/path-is-inside": { 1014 | "version": "1.0.2", 1015 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 1016 | "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" 1017 | }, 1018 | "node_modules/path-key": { 1019 | "version": "3.1.1", 1020 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1021 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1022 | "engines": { 1023 | "node": ">=8" 1024 | } 1025 | }, 1026 | "node_modules/path-parse": { 1027 | "version": "1.0.7", 1028 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1029 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1030 | }, 1031 | "node_modules/phaser": { 1032 | "version": "3.60.0", 1033 | "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.60.0.tgz", 1034 | "integrity": "sha512-IKUy35EnoEVcl2EmJ8WOyK4X8OoxHYdlhZLgRGpNrvD1fEagYffhVmwHcapE/tGiLgyrnezmXIo5RrH2NcrTHw==", 1035 | "dependencies": { 1036 | "eventemitter3": "^5.0.0" 1037 | } 1038 | }, 1039 | "node_modules/picocolors": { 1040 | "version": "1.0.0", 1041 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1042 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1043 | }, 1044 | "node_modules/pify": { 1045 | "version": "4.0.1", 1046 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 1047 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 1048 | "engines": { 1049 | "node": ">=6" 1050 | } 1051 | }, 1052 | "node_modules/pinkie": { 1053 | "version": "2.0.4", 1054 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1055 | "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", 1056 | "engines": { 1057 | "node": ">=0.10.0" 1058 | } 1059 | }, 1060 | "node_modules/pinkie-promise": { 1061 | "version": "2.0.1", 1062 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1063 | "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", 1064 | "dependencies": { 1065 | "pinkie": "^2.0.0" 1066 | }, 1067 | "engines": { 1068 | "node": ">=0.10.0" 1069 | } 1070 | }, 1071 | "node_modules/pkg-dir": { 1072 | "version": "4.2.0", 1073 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 1074 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 1075 | "dependencies": { 1076 | "find-up": "^4.0.0" 1077 | }, 1078 | "engines": { 1079 | "node": ">=8" 1080 | } 1081 | }, 1082 | "node_modules/prettier": { 1083 | "version": "3.0.3", 1084 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", 1085 | "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", 1086 | "dev": true, 1087 | "bin": { 1088 | "prettier": "bin/prettier.cjs" 1089 | }, 1090 | "engines": { 1091 | "node": ">=14" 1092 | }, 1093 | "funding": { 1094 | "url": "https://github.com/prettier/prettier?sponsor=1" 1095 | } 1096 | }, 1097 | "node_modules/punycode": { 1098 | "version": "2.3.0", 1099 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 1100 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 1101 | "engines": { 1102 | "node": ">=6" 1103 | } 1104 | }, 1105 | "node_modules/randombytes": { 1106 | "version": "2.1.0", 1107 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1108 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1109 | "dependencies": { 1110 | "safe-buffer": "^5.1.0" 1111 | } 1112 | }, 1113 | "node_modules/rechoir": { 1114 | "version": "0.8.0", 1115 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", 1116 | "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", 1117 | "dependencies": { 1118 | "resolve": "^1.20.0" 1119 | }, 1120 | "engines": { 1121 | "node": ">= 10.13.0" 1122 | } 1123 | }, 1124 | "node_modules/resolve": { 1125 | "version": "1.22.8", 1126 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 1127 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 1128 | "dependencies": { 1129 | "is-core-module": "^2.13.0", 1130 | "path-parse": "^1.0.7", 1131 | "supports-preserve-symlinks-flag": "^1.0.0" 1132 | }, 1133 | "bin": { 1134 | "resolve": "bin/resolve" 1135 | }, 1136 | "funding": { 1137 | "url": "https://github.com/sponsors/ljharb" 1138 | } 1139 | }, 1140 | "node_modules/resolve-cwd": { 1141 | "version": "3.0.0", 1142 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 1143 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 1144 | "dependencies": { 1145 | "resolve-from": "^5.0.0" 1146 | }, 1147 | "engines": { 1148 | "node": ">=8" 1149 | } 1150 | }, 1151 | "node_modules/resolve-from": { 1152 | "version": "5.0.0", 1153 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 1154 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 1155 | "engines": { 1156 | "node": ">=8" 1157 | } 1158 | }, 1159 | "node_modules/rimraf": { 1160 | "version": "2.7.1", 1161 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 1162 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 1163 | "dependencies": { 1164 | "glob": "^7.1.3" 1165 | }, 1166 | "bin": { 1167 | "rimraf": "bin.js" 1168 | } 1169 | }, 1170 | "node_modules/safe-buffer": { 1171 | "version": "5.2.1", 1172 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1173 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1174 | "funding": [ 1175 | { 1176 | "type": "github", 1177 | "url": "https://github.com/sponsors/feross" 1178 | }, 1179 | { 1180 | "type": "patreon", 1181 | "url": "https://www.patreon.com/feross" 1182 | }, 1183 | { 1184 | "type": "consulting", 1185 | "url": "https://feross.org/support" 1186 | } 1187 | ] 1188 | }, 1189 | "node_modules/schema-utils": { 1190 | "version": "3.3.0", 1191 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", 1192 | "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", 1193 | "dependencies": { 1194 | "@types/json-schema": "^7.0.8", 1195 | "ajv": "^6.12.5", 1196 | "ajv-keywords": "^3.5.2" 1197 | }, 1198 | "engines": { 1199 | "node": ">= 10.13.0" 1200 | }, 1201 | "funding": { 1202 | "type": "opencollective", 1203 | "url": "https://opencollective.com/webpack" 1204 | } 1205 | }, 1206 | "node_modules/serialize-javascript": { 1207 | "version": "6.0.1", 1208 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", 1209 | "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", 1210 | "dependencies": { 1211 | "randombytes": "^2.1.0" 1212 | } 1213 | }, 1214 | "node_modules/shallow-clone": { 1215 | "version": "3.0.1", 1216 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", 1217 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", 1218 | "dependencies": { 1219 | "kind-of": "^6.0.2" 1220 | }, 1221 | "engines": { 1222 | "node": ">=8" 1223 | } 1224 | }, 1225 | "node_modules/shebang-command": { 1226 | "version": "2.0.0", 1227 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1228 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1229 | "dependencies": { 1230 | "shebang-regex": "^3.0.0" 1231 | }, 1232 | "engines": { 1233 | "node": ">=8" 1234 | } 1235 | }, 1236 | "node_modules/shebang-regex": { 1237 | "version": "3.0.0", 1238 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1239 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1240 | "engines": { 1241 | "node": ">=8" 1242 | } 1243 | }, 1244 | "node_modules/source-map": { 1245 | "version": "0.6.1", 1246 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1247 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1248 | "engines": { 1249 | "node": ">=0.10.0" 1250 | } 1251 | }, 1252 | "node_modules/source-map-support": { 1253 | "version": "0.5.21", 1254 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1255 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1256 | "dependencies": { 1257 | "buffer-from": "^1.0.0", 1258 | "source-map": "^0.6.0" 1259 | } 1260 | }, 1261 | "node_modules/supports-color": { 1262 | "version": "8.1.1", 1263 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 1264 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 1265 | "dependencies": { 1266 | "has-flag": "^4.0.0" 1267 | }, 1268 | "engines": { 1269 | "node": ">=10" 1270 | }, 1271 | "funding": { 1272 | "url": "https://github.com/chalk/supports-color?sponsor=1" 1273 | } 1274 | }, 1275 | "node_modules/supports-preserve-symlinks-flag": { 1276 | "version": "1.0.0", 1277 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1278 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1279 | "engines": { 1280 | "node": ">= 0.4" 1281 | }, 1282 | "funding": { 1283 | "url": "https://github.com/sponsors/ljharb" 1284 | } 1285 | }, 1286 | "node_modules/tapable": { 1287 | "version": "2.2.1", 1288 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 1289 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", 1290 | "engines": { 1291 | "node": ">=6" 1292 | } 1293 | }, 1294 | "node_modules/terser": { 1295 | "version": "5.22.0", 1296 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", 1297 | "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", 1298 | "dependencies": { 1299 | "@jridgewell/source-map": "^0.3.3", 1300 | "acorn": "^8.8.2", 1301 | "commander": "^2.20.0", 1302 | "source-map-support": "~0.5.20" 1303 | }, 1304 | "bin": { 1305 | "terser": "bin/terser" 1306 | }, 1307 | "engines": { 1308 | "node": ">=10" 1309 | } 1310 | }, 1311 | "node_modules/terser-webpack-plugin": { 1312 | "version": "5.3.9", 1313 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", 1314 | "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", 1315 | "dependencies": { 1316 | "@jridgewell/trace-mapping": "^0.3.17", 1317 | "jest-worker": "^27.4.5", 1318 | "schema-utils": "^3.1.1", 1319 | "serialize-javascript": "^6.0.1", 1320 | "terser": "^5.16.8" 1321 | }, 1322 | "engines": { 1323 | "node": ">= 10.13.0" 1324 | }, 1325 | "funding": { 1326 | "type": "opencollective", 1327 | "url": "https://opencollective.com/webpack" 1328 | }, 1329 | "peerDependencies": { 1330 | "webpack": "^5.1.0" 1331 | }, 1332 | "peerDependenciesMeta": { 1333 | "@swc/core": { 1334 | "optional": true 1335 | }, 1336 | "esbuild": { 1337 | "optional": true 1338 | }, 1339 | "uglify-js": { 1340 | "optional": true 1341 | } 1342 | } 1343 | }, 1344 | "node_modules/undici-types": { 1345 | "version": "5.25.3", 1346 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", 1347 | "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" 1348 | }, 1349 | "node_modules/update-browserslist-db": { 1350 | "version": "1.0.13", 1351 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 1352 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 1353 | "funding": [ 1354 | { 1355 | "type": "opencollective", 1356 | "url": "https://opencollective.com/browserslist" 1357 | }, 1358 | { 1359 | "type": "tidelift", 1360 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1361 | }, 1362 | { 1363 | "type": "github", 1364 | "url": "https://github.com/sponsors/ai" 1365 | } 1366 | ], 1367 | "dependencies": { 1368 | "escalade": "^3.1.1", 1369 | "picocolors": "^1.0.0" 1370 | }, 1371 | "bin": { 1372 | "update-browserslist-db": "cli.js" 1373 | }, 1374 | "peerDependencies": { 1375 | "browserslist": ">= 4.21.0" 1376 | } 1377 | }, 1378 | "node_modules/uri-js": { 1379 | "version": "4.4.1", 1380 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1381 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1382 | "dependencies": { 1383 | "punycode": "^2.1.0" 1384 | } 1385 | }, 1386 | "node_modules/watchpack": { 1387 | "version": "2.4.0", 1388 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 1389 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 1390 | "dependencies": { 1391 | "glob-to-regexp": "^0.4.1", 1392 | "graceful-fs": "^4.1.2" 1393 | }, 1394 | "engines": { 1395 | "node": ">=10.13.0" 1396 | } 1397 | }, 1398 | "node_modules/webpack": { 1399 | "version": "5.89.0", 1400 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", 1401 | "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", 1402 | "dependencies": { 1403 | "@types/eslint-scope": "^3.7.3", 1404 | "@types/estree": "^1.0.0", 1405 | "@webassemblyjs/ast": "^1.11.5", 1406 | "@webassemblyjs/wasm-edit": "^1.11.5", 1407 | "@webassemblyjs/wasm-parser": "^1.11.5", 1408 | "acorn": "^8.7.1", 1409 | "acorn-import-assertions": "^1.9.0", 1410 | "browserslist": "^4.14.5", 1411 | "chrome-trace-event": "^1.0.2", 1412 | "enhanced-resolve": "^5.15.0", 1413 | "es-module-lexer": "^1.2.1", 1414 | "eslint-scope": "5.1.1", 1415 | "events": "^3.2.0", 1416 | "glob-to-regexp": "^0.4.1", 1417 | "graceful-fs": "^4.2.9", 1418 | "json-parse-even-better-errors": "^2.3.1", 1419 | "loader-runner": "^4.2.0", 1420 | "mime-types": "^2.1.27", 1421 | "neo-async": "^2.6.2", 1422 | "schema-utils": "^3.2.0", 1423 | "tapable": "^2.1.1", 1424 | "terser-webpack-plugin": "^5.3.7", 1425 | "watchpack": "^2.4.0", 1426 | "webpack-sources": "^3.2.3" 1427 | }, 1428 | "bin": { 1429 | "webpack": "bin/webpack.js" 1430 | }, 1431 | "engines": { 1432 | "node": ">=10.13.0" 1433 | }, 1434 | "funding": { 1435 | "type": "opencollective", 1436 | "url": "https://opencollective.com/webpack" 1437 | }, 1438 | "peerDependenciesMeta": { 1439 | "webpack-cli": { 1440 | "optional": true 1441 | } 1442 | } 1443 | }, 1444 | "node_modules/webpack-cli": { 1445 | "version": "5.1.4", 1446 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", 1447 | "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", 1448 | "dependencies": { 1449 | "@discoveryjs/json-ext": "^0.5.0", 1450 | "@webpack-cli/configtest": "^2.1.1", 1451 | "@webpack-cli/info": "^2.0.2", 1452 | "@webpack-cli/serve": "^2.0.5", 1453 | "colorette": "^2.0.14", 1454 | "commander": "^10.0.1", 1455 | "cross-spawn": "^7.0.3", 1456 | "envinfo": "^7.7.3", 1457 | "fastest-levenshtein": "^1.0.12", 1458 | "import-local": "^3.0.2", 1459 | "interpret": "^3.1.1", 1460 | "rechoir": "^0.8.0", 1461 | "webpack-merge": "^5.7.3" 1462 | }, 1463 | "bin": { 1464 | "webpack-cli": "bin/cli.js" 1465 | }, 1466 | "engines": { 1467 | "node": ">=14.15.0" 1468 | }, 1469 | "funding": { 1470 | "type": "opencollective", 1471 | "url": "https://opencollective.com/webpack" 1472 | }, 1473 | "peerDependencies": { 1474 | "webpack": "5.x.x" 1475 | }, 1476 | "peerDependenciesMeta": { 1477 | "@webpack-cli/generators": { 1478 | "optional": true 1479 | }, 1480 | "webpack-bundle-analyzer": { 1481 | "optional": true 1482 | }, 1483 | "webpack-dev-server": { 1484 | "optional": true 1485 | } 1486 | } 1487 | }, 1488 | "node_modules/webpack-cli/node_modules/commander": { 1489 | "version": "10.0.1", 1490 | "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", 1491 | "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", 1492 | "engines": { 1493 | "node": ">=14" 1494 | } 1495 | }, 1496 | "node_modules/webpack-merge": { 1497 | "version": "5.10.0", 1498 | "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", 1499 | "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", 1500 | "dependencies": { 1501 | "clone-deep": "^4.0.1", 1502 | "flat": "^5.0.2", 1503 | "wildcard": "^2.0.0" 1504 | }, 1505 | "engines": { 1506 | "node": ">=10.0.0" 1507 | } 1508 | }, 1509 | "node_modules/webpack-sources": { 1510 | "version": "3.2.3", 1511 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", 1512 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", 1513 | "engines": { 1514 | "node": ">=10.13.0" 1515 | } 1516 | }, 1517 | "node_modules/which": { 1518 | "version": "2.0.2", 1519 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1520 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1521 | "dependencies": { 1522 | "isexe": "^2.0.0" 1523 | }, 1524 | "bin": { 1525 | "node-which": "bin/node-which" 1526 | }, 1527 | "engines": { 1528 | "node": ">= 8" 1529 | } 1530 | }, 1531 | "node_modules/wildcard": { 1532 | "version": "2.0.1", 1533 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", 1534 | "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" 1535 | }, 1536 | "node_modules/wrappy": { 1537 | "version": "1.0.2", 1538 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1539 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 1540 | } 1541 | }, 1542 | "dependencies": { 1543 | "@discoveryjs/json-ext": { 1544 | "version": "0.5.7", 1545 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", 1546 | "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" 1547 | }, 1548 | "@jridgewell/gen-mapping": { 1549 | "version": "0.3.3", 1550 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 1551 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 1552 | "requires": { 1553 | "@jridgewell/set-array": "^1.0.1", 1554 | "@jridgewell/sourcemap-codec": "^1.4.10", 1555 | "@jridgewell/trace-mapping": "^0.3.9" 1556 | } 1557 | }, 1558 | "@jridgewell/resolve-uri": { 1559 | "version": "3.1.1", 1560 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 1561 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" 1562 | }, 1563 | "@jridgewell/set-array": { 1564 | "version": "1.1.2", 1565 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 1566 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" 1567 | }, 1568 | "@jridgewell/source-map": { 1569 | "version": "0.3.5", 1570 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", 1571 | "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", 1572 | "requires": { 1573 | "@jridgewell/gen-mapping": "^0.3.0", 1574 | "@jridgewell/trace-mapping": "^0.3.9" 1575 | } 1576 | }, 1577 | "@jridgewell/sourcemap-codec": { 1578 | "version": "1.4.15", 1579 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 1580 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 1581 | }, 1582 | "@jridgewell/trace-mapping": { 1583 | "version": "0.3.20", 1584 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 1585 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 1586 | "requires": { 1587 | "@jridgewell/resolve-uri": "^3.1.0", 1588 | "@jridgewell/sourcemap-codec": "^1.4.14" 1589 | } 1590 | }, 1591 | "@types/eslint": { 1592 | "version": "8.44.6", 1593 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", 1594 | "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", 1595 | "requires": { 1596 | "@types/estree": "*", 1597 | "@types/json-schema": "*" 1598 | } 1599 | }, 1600 | "@types/eslint-scope": { 1601 | "version": "3.7.6", 1602 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", 1603 | "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", 1604 | "requires": { 1605 | "@types/eslint": "*", 1606 | "@types/estree": "*" 1607 | } 1608 | }, 1609 | "@types/estree": { 1610 | "version": "1.0.3", 1611 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", 1612 | "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" 1613 | }, 1614 | "@types/glob": { 1615 | "version": "7.2.0", 1616 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", 1617 | "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", 1618 | "requires": { 1619 | "@types/minimatch": "*", 1620 | "@types/node": "*" 1621 | } 1622 | }, 1623 | "@types/json-schema": { 1624 | "version": "7.0.14", 1625 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", 1626 | "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" 1627 | }, 1628 | "@types/minimatch": { 1629 | "version": "5.1.2", 1630 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", 1631 | "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" 1632 | }, 1633 | "@types/node": { 1634 | "version": "20.8.8", 1635 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.8.tgz", 1636 | "integrity": "sha512-YRsdVxq6OaLfmR9Hy816IMp33xOBjfyOgUd77ehqg96CFywxAPbDbXvAsuN2KVg2HOT8Eh6uAfU+l4WffwPVrQ==", 1637 | "requires": { 1638 | "undici-types": "~5.25.1" 1639 | } 1640 | }, 1641 | "@webassemblyjs/ast": { 1642 | "version": "1.11.6", 1643 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", 1644 | "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", 1645 | "requires": { 1646 | "@webassemblyjs/helper-numbers": "1.11.6", 1647 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6" 1648 | } 1649 | }, 1650 | "@webassemblyjs/floating-point-hex-parser": { 1651 | "version": "1.11.6", 1652 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", 1653 | "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" 1654 | }, 1655 | "@webassemblyjs/helper-api-error": { 1656 | "version": "1.11.6", 1657 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", 1658 | "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" 1659 | }, 1660 | "@webassemblyjs/helper-buffer": { 1661 | "version": "1.11.6", 1662 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", 1663 | "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" 1664 | }, 1665 | "@webassemblyjs/helper-numbers": { 1666 | "version": "1.11.6", 1667 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", 1668 | "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", 1669 | "requires": { 1670 | "@webassemblyjs/floating-point-hex-parser": "1.11.6", 1671 | "@webassemblyjs/helper-api-error": "1.11.6", 1672 | "@xtuc/long": "4.2.2" 1673 | } 1674 | }, 1675 | "@webassemblyjs/helper-wasm-bytecode": { 1676 | "version": "1.11.6", 1677 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", 1678 | "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" 1679 | }, 1680 | "@webassemblyjs/helper-wasm-section": { 1681 | "version": "1.11.6", 1682 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", 1683 | "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", 1684 | "requires": { 1685 | "@webassemblyjs/ast": "1.11.6", 1686 | "@webassemblyjs/helper-buffer": "1.11.6", 1687 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1688 | "@webassemblyjs/wasm-gen": "1.11.6" 1689 | } 1690 | }, 1691 | "@webassemblyjs/ieee754": { 1692 | "version": "1.11.6", 1693 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", 1694 | "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", 1695 | "requires": { 1696 | "@xtuc/ieee754": "^1.2.0" 1697 | } 1698 | }, 1699 | "@webassemblyjs/leb128": { 1700 | "version": "1.11.6", 1701 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", 1702 | "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", 1703 | "requires": { 1704 | "@xtuc/long": "4.2.2" 1705 | } 1706 | }, 1707 | "@webassemblyjs/utf8": { 1708 | "version": "1.11.6", 1709 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", 1710 | "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" 1711 | }, 1712 | "@webassemblyjs/wasm-edit": { 1713 | "version": "1.11.6", 1714 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", 1715 | "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", 1716 | "requires": { 1717 | "@webassemblyjs/ast": "1.11.6", 1718 | "@webassemblyjs/helper-buffer": "1.11.6", 1719 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1720 | "@webassemblyjs/helper-wasm-section": "1.11.6", 1721 | "@webassemblyjs/wasm-gen": "1.11.6", 1722 | "@webassemblyjs/wasm-opt": "1.11.6", 1723 | "@webassemblyjs/wasm-parser": "1.11.6", 1724 | "@webassemblyjs/wast-printer": "1.11.6" 1725 | } 1726 | }, 1727 | "@webassemblyjs/wasm-gen": { 1728 | "version": "1.11.6", 1729 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", 1730 | "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", 1731 | "requires": { 1732 | "@webassemblyjs/ast": "1.11.6", 1733 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1734 | "@webassemblyjs/ieee754": "1.11.6", 1735 | "@webassemblyjs/leb128": "1.11.6", 1736 | "@webassemblyjs/utf8": "1.11.6" 1737 | } 1738 | }, 1739 | "@webassemblyjs/wasm-opt": { 1740 | "version": "1.11.6", 1741 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", 1742 | "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", 1743 | "requires": { 1744 | "@webassemblyjs/ast": "1.11.6", 1745 | "@webassemblyjs/helper-buffer": "1.11.6", 1746 | "@webassemblyjs/wasm-gen": "1.11.6", 1747 | "@webassemblyjs/wasm-parser": "1.11.6" 1748 | } 1749 | }, 1750 | "@webassemblyjs/wasm-parser": { 1751 | "version": "1.11.6", 1752 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", 1753 | "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", 1754 | "requires": { 1755 | "@webassemblyjs/ast": "1.11.6", 1756 | "@webassemblyjs/helper-api-error": "1.11.6", 1757 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1758 | "@webassemblyjs/ieee754": "1.11.6", 1759 | "@webassemblyjs/leb128": "1.11.6", 1760 | "@webassemblyjs/utf8": "1.11.6" 1761 | } 1762 | }, 1763 | "@webassemblyjs/wast-printer": { 1764 | "version": "1.11.6", 1765 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", 1766 | "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", 1767 | "requires": { 1768 | "@webassemblyjs/ast": "1.11.6", 1769 | "@xtuc/long": "4.2.2" 1770 | } 1771 | }, 1772 | "@webpack-cli/configtest": { 1773 | "version": "2.1.1", 1774 | "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", 1775 | "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", 1776 | "requires": {} 1777 | }, 1778 | "@webpack-cli/info": { 1779 | "version": "2.0.2", 1780 | "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", 1781 | "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", 1782 | "requires": {} 1783 | }, 1784 | "@webpack-cli/serve": { 1785 | "version": "2.0.5", 1786 | "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", 1787 | "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", 1788 | "requires": {} 1789 | }, 1790 | "@xtuc/ieee754": { 1791 | "version": "1.2.0", 1792 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 1793 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" 1794 | }, 1795 | "@xtuc/long": { 1796 | "version": "4.2.2", 1797 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 1798 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" 1799 | }, 1800 | "acorn": { 1801 | "version": "8.10.0", 1802 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", 1803 | "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" 1804 | }, 1805 | "acorn-import-assertions": { 1806 | "version": "1.9.0", 1807 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", 1808 | "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", 1809 | "requires": {} 1810 | }, 1811 | "ajv": { 1812 | "version": "6.12.6", 1813 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1814 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1815 | "requires": { 1816 | "fast-deep-equal": "^3.1.1", 1817 | "fast-json-stable-stringify": "^2.0.0", 1818 | "json-schema-traverse": "^0.4.1", 1819 | "uri-js": "^4.2.2" 1820 | } 1821 | }, 1822 | "ajv-keywords": { 1823 | "version": "3.5.2", 1824 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", 1825 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", 1826 | "requires": {} 1827 | }, 1828 | "array-union": { 1829 | "version": "1.0.2", 1830 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 1831 | "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", 1832 | "requires": { 1833 | "array-uniq": "^1.0.1" 1834 | } 1835 | }, 1836 | "array-uniq": { 1837 | "version": "1.0.3", 1838 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 1839 | "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" 1840 | }, 1841 | "balanced-match": { 1842 | "version": "1.0.2", 1843 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1844 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 1845 | }, 1846 | "brace-expansion": { 1847 | "version": "1.1.11", 1848 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1849 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1850 | "requires": { 1851 | "balanced-match": "^1.0.0", 1852 | "concat-map": "0.0.1" 1853 | } 1854 | }, 1855 | "browserslist": { 1856 | "version": "4.22.1", 1857 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", 1858 | "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", 1859 | "requires": { 1860 | "caniuse-lite": "^1.0.30001541", 1861 | "electron-to-chromium": "^1.4.535", 1862 | "node-releases": "^2.0.13", 1863 | "update-browserslist-db": "^1.0.13" 1864 | } 1865 | }, 1866 | "buffer-from": { 1867 | "version": "1.1.2", 1868 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 1869 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" 1870 | }, 1871 | "caniuse-lite": { 1872 | "version": "1.0.30001553", 1873 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001553.tgz", 1874 | "integrity": "sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A==" 1875 | }, 1876 | "chrome-trace-event": { 1877 | "version": "1.0.3", 1878 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", 1879 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" 1880 | }, 1881 | "clean-webpack-plugin": { 1882 | "version": "4.0.0", 1883 | "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", 1884 | "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", 1885 | "requires": { 1886 | "del": "^4.1.1" 1887 | } 1888 | }, 1889 | "clone-deep": { 1890 | "version": "4.0.1", 1891 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", 1892 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", 1893 | "requires": { 1894 | "is-plain-object": "^2.0.4", 1895 | "kind-of": "^6.0.2", 1896 | "shallow-clone": "^3.0.0" 1897 | } 1898 | }, 1899 | "colorette": { 1900 | "version": "2.0.20", 1901 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", 1902 | "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" 1903 | }, 1904 | "commander": { 1905 | "version": "2.20.3", 1906 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1907 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 1908 | }, 1909 | "concat-map": { 1910 | "version": "0.0.1", 1911 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1912 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" 1913 | }, 1914 | "cross-spawn": { 1915 | "version": "7.0.3", 1916 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1917 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1918 | "requires": { 1919 | "path-key": "^3.1.0", 1920 | "shebang-command": "^2.0.0", 1921 | "which": "^2.0.1" 1922 | } 1923 | }, 1924 | "del": { 1925 | "version": "4.1.1", 1926 | "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", 1927 | "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", 1928 | "requires": { 1929 | "@types/glob": "^7.1.1", 1930 | "globby": "^6.1.0", 1931 | "is-path-cwd": "^2.0.0", 1932 | "is-path-in-cwd": "^2.0.0", 1933 | "p-map": "^2.0.0", 1934 | "pify": "^4.0.1", 1935 | "rimraf": "^2.6.3" 1936 | } 1937 | }, 1938 | "electron-to-chromium": { 1939 | "version": "1.4.565", 1940 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.565.tgz", 1941 | "integrity": "sha512-XbMoT6yIvg2xzcbs5hCADi0dXBh4//En3oFXmtPX+jiyyiCTiM9DGFT2SLottjpEs9Z8Mh8SqahbR96MaHfuSg==" 1942 | }, 1943 | "enhanced-resolve": { 1944 | "version": "5.15.0", 1945 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", 1946 | "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", 1947 | "requires": { 1948 | "graceful-fs": "^4.2.4", 1949 | "tapable": "^2.2.0" 1950 | } 1951 | }, 1952 | "envinfo": { 1953 | "version": "7.10.0", 1954 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", 1955 | "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==" 1956 | }, 1957 | "es-module-lexer": { 1958 | "version": "1.3.1", 1959 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", 1960 | "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" 1961 | }, 1962 | "escalade": { 1963 | "version": "3.1.1", 1964 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1965 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 1966 | }, 1967 | "eslint-scope": { 1968 | "version": "5.1.1", 1969 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 1970 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 1971 | "requires": { 1972 | "esrecurse": "^4.3.0", 1973 | "estraverse": "^4.1.1" 1974 | } 1975 | }, 1976 | "esrecurse": { 1977 | "version": "4.3.0", 1978 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1979 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1980 | "requires": { 1981 | "estraverse": "^5.2.0" 1982 | }, 1983 | "dependencies": { 1984 | "estraverse": { 1985 | "version": "5.3.0", 1986 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1987 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" 1988 | } 1989 | } 1990 | }, 1991 | "estraverse": { 1992 | "version": "4.3.0", 1993 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1994 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" 1995 | }, 1996 | "eventemitter3": { 1997 | "version": "5.0.1", 1998 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 1999 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 2000 | }, 2001 | "events": { 2002 | "version": "3.3.0", 2003 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 2004 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" 2005 | }, 2006 | "fast-deep-equal": { 2007 | "version": "3.1.3", 2008 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2009 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 2010 | }, 2011 | "fast-json-stable-stringify": { 2012 | "version": "2.1.0", 2013 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2014 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 2015 | }, 2016 | "fastest-levenshtein": { 2017 | "version": "1.0.16", 2018 | "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", 2019 | "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==" 2020 | }, 2021 | "find-up": { 2022 | "version": "4.1.0", 2023 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2024 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2025 | "requires": { 2026 | "locate-path": "^5.0.0", 2027 | "path-exists": "^4.0.0" 2028 | } 2029 | }, 2030 | "flat": { 2031 | "version": "5.0.2", 2032 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 2033 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" 2034 | }, 2035 | "fs.realpath": { 2036 | "version": "1.0.0", 2037 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2038 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" 2039 | }, 2040 | "function-bind": { 2041 | "version": "1.1.2", 2042 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2043 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" 2044 | }, 2045 | "glob": { 2046 | "version": "7.2.3", 2047 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2048 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2049 | "requires": { 2050 | "fs.realpath": "^1.0.0", 2051 | "inflight": "^1.0.4", 2052 | "inherits": "2", 2053 | "minimatch": "^3.1.1", 2054 | "once": "^1.3.0", 2055 | "path-is-absolute": "^1.0.0" 2056 | } 2057 | }, 2058 | "glob-to-regexp": { 2059 | "version": "0.4.1", 2060 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 2061 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 2062 | }, 2063 | "globby": { 2064 | "version": "6.1.0", 2065 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 2066 | "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", 2067 | "requires": { 2068 | "array-union": "^1.0.1", 2069 | "glob": "^7.0.3", 2070 | "object-assign": "^4.0.1", 2071 | "pify": "^2.0.0", 2072 | "pinkie-promise": "^2.0.0" 2073 | }, 2074 | "dependencies": { 2075 | "pify": { 2076 | "version": "2.3.0", 2077 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2078 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" 2079 | } 2080 | } 2081 | }, 2082 | "graceful-fs": { 2083 | "version": "4.2.11", 2084 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 2085 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 2086 | }, 2087 | "has-flag": { 2088 | "version": "4.0.0", 2089 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2090 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 2091 | }, 2092 | "hasown": { 2093 | "version": "2.0.0", 2094 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", 2095 | "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", 2096 | "requires": { 2097 | "function-bind": "^1.1.2" 2098 | } 2099 | }, 2100 | "import-local": { 2101 | "version": "3.1.0", 2102 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", 2103 | "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", 2104 | "requires": { 2105 | "pkg-dir": "^4.2.0", 2106 | "resolve-cwd": "^3.0.0" 2107 | } 2108 | }, 2109 | "inflight": { 2110 | "version": "1.0.6", 2111 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2112 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2113 | "requires": { 2114 | "once": "^1.3.0", 2115 | "wrappy": "1" 2116 | } 2117 | }, 2118 | "inherits": { 2119 | "version": "2.0.4", 2120 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2121 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 2122 | }, 2123 | "interpret": { 2124 | "version": "3.1.1", 2125 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", 2126 | "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==" 2127 | }, 2128 | "is-core-module": { 2129 | "version": "2.13.1", 2130 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 2131 | "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 2132 | "requires": { 2133 | "hasown": "^2.0.0" 2134 | } 2135 | }, 2136 | "is-path-cwd": { 2137 | "version": "2.2.0", 2138 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", 2139 | "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" 2140 | }, 2141 | "is-path-in-cwd": { 2142 | "version": "2.1.0", 2143 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", 2144 | "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", 2145 | "requires": { 2146 | "is-path-inside": "^2.1.0" 2147 | } 2148 | }, 2149 | "is-path-inside": { 2150 | "version": "2.1.0", 2151 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", 2152 | "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", 2153 | "requires": { 2154 | "path-is-inside": "^1.0.2" 2155 | } 2156 | }, 2157 | "is-plain-object": { 2158 | "version": "2.0.4", 2159 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 2160 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 2161 | "requires": { 2162 | "isobject": "^3.0.1" 2163 | } 2164 | }, 2165 | "isexe": { 2166 | "version": "2.0.0", 2167 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2168 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 2169 | }, 2170 | "isobject": { 2171 | "version": "3.0.1", 2172 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2173 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" 2174 | }, 2175 | "jest-worker": { 2176 | "version": "27.5.1", 2177 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", 2178 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", 2179 | "requires": { 2180 | "@types/node": "*", 2181 | "merge-stream": "^2.0.0", 2182 | "supports-color": "^8.0.0" 2183 | } 2184 | }, 2185 | "json-parse-even-better-errors": { 2186 | "version": "2.3.1", 2187 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 2188 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 2189 | }, 2190 | "json-schema-traverse": { 2191 | "version": "0.4.1", 2192 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2193 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 2194 | }, 2195 | "kind-of": { 2196 | "version": "6.0.3", 2197 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2198 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 2199 | }, 2200 | "loader-runner": { 2201 | "version": "4.3.0", 2202 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", 2203 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" 2204 | }, 2205 | "locate-path": { 2206 | "version": "5.0.0", 2207 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2208 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2209 | "requires": { 2210 | "p-locate": "^4.1.0" 2211 | } 2212 | }, 2213 | "merge-stream": { 2214 | "version": "2.0.0", 2215 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 2216 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" 2217 | }, 2218 | "mime-db": { 2219 | "version": "1.52.0", 2220 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2221 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 2222 | }, 2223 | "mime-types": { 2224 | "version": "2.1.35", 2225 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2226 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2227 | "requires": { 2228 | "mime-db": "1.52.0" 2229 | } 2230 | }, 2231 | "minimatch": { 2232 | "version": "3.1.2", 2233 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2234 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2235 | "requires": { 2236 | "brace-expansion": "^1.1.7" 2237 | } 2238 | }, 2239 | "neo-async": { 2240 | "version": "2.6.2", 2241 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 2242 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" 2243 | }, 2244 | "node-releases": { 2245 | "version": "2.0.13", 2246 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", 2247 | "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" 2248 | }, 2249 | "object-assign": { 2250 | "version": "4.1.1", 2251 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2252 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" 2253 | }, 2254 | "once": { 2255 | "version": "1.4.0", 2256 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2257 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2258 | "requires": { 2259 | "wrappy": "1" 2260 | } 2261 | }, 2262 | "p-limit": { 2263 | "version": "2.3.0", 2264 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2265 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2266 | "requires": { 2267 | "p-try": "^2.0.0" 2268 | } 2269 | }, 2270 | "p-locate": { 2271 | "version": "4.1.0", 2272 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2273 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2274 | "requires": { 2275 | "p-limit": "^2.2.0" 2276 | } 2277 | }, 2278 | "p-map": { 2279 | "version": "2.1.0", 2280 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", 2281 | "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" 2282 | }, 2283 | "p-try": { 2284 | "version": "2.2.0", 2285 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2286 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 2287 | }, 2288 | "path-exists": { 2289 | "version": "4.0.0", 2290 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2291 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 2292 | }, 2293 | "path-is-absolute": { 2294 | "version": "1.0.1", 2295 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2296 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" 2297 | }, 2298 | "path-is-inside": { 2299 | "version": "1.0.2", 2300 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2301 | "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" 2302 | }, 2303 | "path-key": { 2304 | "version": "3.1.1", 2305 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2306 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" 2307 | }, 2308 | "path-parse": { 2309 | "version": "1.0.7", 2310 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2311 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 2312 | }, 2313 | "phaser": { 2314 | "version": "3.60.0", 2315 | "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.60.0.tgz", 2316 | "integrity": "sha512-IKUy35EnoEVcl2EmJ8WOyK4X8OoxHYdlhZLgRGpNrvD1fEagYffhVmwHcapE/tGiLgyrnezmXIo5RrH2NcrTHw==", 2317 | "requires": { 2318 | "eventemitter3": "^5.0.0" 2319 | } 2320 | }, 2321 | "picocolors": { 2322 | "version": "1.0.0", 2323 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2324 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2325 | }, 2326 | "pify": { 2327 | "version": "4.0.1", 2328 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 2329 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" 2330 | }, 2331 | "pinkie": { 2332 | "version": "2.0.4", 2333 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2334 | "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" 2335 | }, 2336 | "pinkie-promise": { 2337 | "version": "2.0.1", 2338 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2339 | "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", 2340 | "requires": { 2341 | "pinkie": "^2.0.0" 2342 | } 2343 | }, 2344 | "pkg-dir": { 2345 | "version": "4.2.0", 2346 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 2347 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 2348 | "requires": { 2349 | "find-up": "^4.0.0" 2350 | } 2351 | }, 2352 | "prettier": { 2353 | "version": "3.0.3", 2354 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", 2355 | "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", 2356 | "dev": true 2357 | }, 2358 | "punycode": { 2359 | "version": "2.3.0", 2360 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 2361 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" 2362 | }, 2363 | "randombytes": { 2364 | "version": "2.1.0", 2365 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 2366 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 2367 | "requires": { 2368 | "safe-buffer": "^5.1.0" 2369 | } 2370 | }, 2371 | "rechoir": { 2372 | "version": "0.8.0", 2373 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", 2374 | "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", 2375 | "requires": { 2376 | "resolve": "^1.20.0" 2377 | } 2378 | }, 2379 | "resolve": { 2380 | "version": "1.22.8", 2381 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 2382 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 2383 | "requires": { 2384 | "is-core-module": "^2.13.0", 2385 | "path-parse": "^1.0.7", 2386 | "supports-preserve-symlinks-flag": "^1.0.0" 2387 | } 2388 | }, 2389 | "resolve-cwd": { 2390 | "version": "3.0.0", 2391 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 2392 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 2393 | "requires": { 2394 | "resolve-from": "^5.0.0" 2395 | } 2396 | }, 2397 | "resolve-from": { 2398 | "version": "5.0.0", 2399 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 2400 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" 2401 | }, 2402 | "rimraf": { 2403 | "version": "2.7.1", 2404 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 2405 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 2406 | "requires": { 2407 | "glob": "^7.1.3" 2408 | } 2409 | }, 2410 | "safe-buffer": { 2411 | "version": "5.2.1", 2412 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2413 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 2414 | }, 2415 | "schema-utils": { 2416 | "version": "3.3.0", 2417 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", 2418 | "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", 2419 | "requires": { 2420 | "@types/json-schema": "^7.0.8", 2421 | "ajv": "^6.12.5", 2422 | "ajv-keywords": "^3.5.2" 2423 | } 2424 | }, 2425 | "serialize-javascript": { 2426 | "version": "6.0.1", 2427 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", 2428 | "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", 2429 | "requires": { 2430 | "randombytes": "^2.1.0" 2431 | } 2432 | }, 2433 | "shallow-clone": { 2434 | "version": "3.0.1", 2435 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", 2436 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", 2437 | "requires": { 2438 | "kind-of": "^6.0.2" 2439 | } 2440 | }, 2441 | "shebang-command": { 2442 | "version": "2.0.0", 2443 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2444 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2445 | "requires": { 2446 | "shebang-regex": "^3.0.0" 2447 | } 2448 | }, 2449 | "shebang-regex": { 2450 | "version": "3.0.0", 2451 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2452 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" 2453 | }, 2454 | "source-map": { 2455 | "version": "0.6.1", 2456 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2457 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 2458 | }, 2459 | "source-map-support": { 2460 | "version": "0.5.21", 2461 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2462 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2463 | "requires": { 2464 | "buffer-from": "^1.0.0", 2465 | "source-map": "^0.6.0" 2466 | } 2467 | }, 2468 | "supports-color": { 2469 | "version": "8.1.1", 2470 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 2471 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 2472 | "requires": { 2473 | "has-flag": "^4.0.0" 2474 | } 2475 | }, 2476 | "supports-preserve-symlinks-flag": { 2477 | "version": "1.0.0", 2478 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2479 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 2480 | }, 2481 | "tapable": { 2482 | "version": "2.2.1", 2483 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 2484 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" 2485 | }, 2486 | "terser": { 2487 | "version": "5.22.0", 2488 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", 2489 | "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", 2490 | "requires": { 2491 | "@jridgewell/source-map": "^0.3.3", 2492 | "acorn": "^8.8.2", 2493 | "commander": "^2.20.0", 2494 | "source-map-support": "~0.5.20" 2495 | } 2496 | }, 2497 | "terser-webpack-plugin": { 2498 | "version": "5.3.9", 2499 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", 2500 | "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", 2501 | "requires": { 2502 | "@jridgewell/trace-mapping": "^0.3.17", 2503 | "jest-worker": "^27.4.5", 2504 | "schema-utils": "^3.1.1", 2505 | "serialize-javascript": "^6.0.1", 2506 | "terser": "^5.16.8" 2507 | } 2508 | }, 2509 | "undici-types": { 2510 | "version": "5.25.3", 2511 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", 2512 | "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" 2513 | }, 2514 | "update-browserslist-db": { 2515 | "version": "1.0.13", 2516 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 2517 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 2518 | "requires": { 2519 | "escalade": "^3.1.1", 2520 | "picocolors": "^1.0.0" 2521 | } 2522 | }, 2523 | "uri-js": { 2524 | "version": "4.4.1", 2525 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2526 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2527 | "requires": { 2528 | "punycode": "^2.1.0" 2529 | } 2530 | }, 2531 | "watchpack": { 2532 | "version": "2.4.0", 2533 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 2534 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 2535 | "requires": { 2536 | "glob-to-regexp": "^0.4.1", 2537 | "graceful-fs": "^4.1.2" 2538 | } 2539 | }, 2540 | "webpack": { 2541 | "version": "5.89.0", 2542 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", 2543 | "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", 2544 | "requires": { 2545 | "@types/eslint-scope": "^3.7.3", 2546 | "@types/estree": "^1.0.0", 2547 | "@webassemblyjs/ast": "^1.11.5", 2548 | "@webassemblyjs/wasm-edit": "^1.11.5", 2549 | "@webassemblyjs/wasm-parser": "^1.11.5", 2550 | "acorn": "^8.7.1", 2551 | "acorn-import-assertions": "^1.9.0", 2552 | "browserslist": "^4.14.5", 2553 | "chrome-trace-event": "^1.0.2", 2554 | "enhanced-resolve": "^5.15.0", 2555 | "es-module-lexer": "^1.2.1", 2556 | "eslint-scope": "5.1.1", 2557 | "events": "^3.2.0", 2558 | "glob-to-regexp": "^0.4.1", 2559 | "graceful-fs": "^4.2.9", 2560 | "json-parse-even-better-errors": "^2.3.1", 2561 | "loader-runner": "^4.2.0", 2562 | "mime-types": "^2.1.27", 2563 | "neo-async": "^2.6.2", 2564 | "schema-utils": "^3.2.0", 2565 | "tapable": "^2.1.1", 2566 | "terser-webpack-plugin": "^5.3.7", 2567 | "watchpack": "^2.4.0", 2568 | "webpack-sources": "^3.2.3" 2569 | } 2570 | }, 2571 | "webpack-cli": { 2572 | "version": "5.1.4", 2573 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", 2574 | "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", 2575 | "requires": { 2576 | "@discoveryjs/json-ext": "^0.5.0", 2577 | "@webpack-cli/configtest": "^2.1.1", 2578 | "@webpack-cli/info": "^2.0.2", 2579 | "@webpack-cli/serve": "^2.0.5", 2580 | "colorette": "^2.0.14", 2581 | "commander": "^10.0.1", 2582 | "cross-spawn": "^7.0.3", 2583 | "envinfo": "^7.7.3", 2584 | "fastest-levenshtein": "^1.0.12", 2585 | "import-local": "^3.0.2", 2586 | "interpret": "^3.1.1", 2587 | "rechoir": "^0.8.0", 2588 | "webpack-merge": "^5.7.3" 2589 | }, 2590 | "dependencies": { 2591 | "commander": { 2592 | "version": "10.0.1", 2593 | "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", 2594 | "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==" 2595 | } 2596 | } 2597 | }, 2598 | "webpack-merge": { 2599 | "version": "5.10.0", 2600 | "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", 2601 | "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", 2602 | "requires": { 2603 | "clone-deep": "^4.0.1", 2604 | "flat": "^5.0.2", 2605 | "wildcard": "^2.0.0" 2606 | } 2607 | }, 2608 | "webpack-sources": { 2609 | "version": "3.2.3", 2610 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", 2611 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" 2612 | }, 2613 | "which": { 2614 | "version": "2.0.2", 2615 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2616 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2617 | "requires": { 2618 | "isexe": "^2.0.0" 2619 | } 2620 | }, 2621 | "wildcard": { 2622 | "version": "2.0.1", 2623 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", 2624 | "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" 2625 | }, 2626 | "wrappy": { 2627 | "version": "1.0.2", 2628 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2629 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 2630 | } 2631 | } 2632 | } 2633 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phaser3-custom-build", 3 | "version": "2.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "webpack", 8 | "buildlog": "webpack --json --profile > webpack.build-log.json", 9 | "buildsprite": "webpack --config webpack.config-sprite.js", 10 | "buildspritelog": "webpack --config webpack.config-sprite.js --json --profile > webpack.build-sprite-log.json", 11 | "buildboth": "webpack --config webpack.config-both.js", 12 | "buildbothlog": "webpack --config webpack.config-both.js --json --profile > webpack.build-both-log.json", 13 | "buildspritesmall": "webpack --config webpack.config-sprite-small-loader.js", 14 | "buildspritesmalllog": "webpack --config webpack.config-sprite-small-loader.js --json --profile > webpack.build-sprite-small-loader-log.json", 15 | "buildfull": "webpack --config webpack.config-full.js", 16 | "buildfulllog": "webpack --config webpack.config-full.js --json --profile > webpack.build-full-log.json", 17 | "buildcore": "webpack --config webpack.config-core.js", 18 | "buildcorelog": "webpack --config webpack.config-core.js --json --profile > webpack.build-core-log.json" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "git+https://github.com/photonstorm/phaser3-custom-build.git" 23 | }, 24 | "author": "Richard Davey (http://www.photonstorm.com)", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/photonstorm/phaser3-custom-build/issues" 28 | }, 29 | "homepage": "https://github.com/photonstorm/phaser3-custom-build#readme", 30 | "dependencies": { 31 | "clean-webpack-plugin": "^4.0.0", 32 | "eventemitter3": "^5.0.1", 33 | "phaser": "^3.60.0", 34 | "terser-webpack-plugin": "^5.3.9", 35 | "webpack": "^5.89.0", 36 | "webpack-cli": "^5.1.4" 37 | }, 38 | "devDependencies": { 39 | "prettier": "3.0.3" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /phaser-core.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Richard Davey 3 | * @copyright 2023 Photon Storm Ltd. 4 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 5 | */ 6 | 7 | require('polyfills'); 8 | 9 | var CONST = require('const'); 10 | var Extend = require('utils/object/Extend'); 11 | 12 | /** 13 | * @namespace Phaser 14 | */ 15 | 16 | var Phaser = { 17 | 18 | Animations: require('animations'), 19 | BlendModes: require('renderer/BlendModes'), 20 | Cache: require('cache'), 21 | Cameras: { Scene2D: require('cameras/2d') }, 22 | Core: require('core'), 23 | Class: require('utils/Class'), 24 | Data: require('data'), 25 | Display: { Masks: require('display/mask') }, 26 | DOM: require('dom'), 27 | Events: require('events/EventEmitter'), 28 | FX: require('fx'), 29 | Game: require('core/Game'), 30 | GameObjects: { 31 | DisplayList: require('gameobjects/DisplayList'), 32 | GameObjectCreator: require('gameobjects/GameObjectCreator'), 33 | GameObjectFactory: require('gameobjects/GameObjectFactory'), 34 | UpdateList: require('gameobjects/UpdateList'), 35 | Components: require('gameobjects/components'), 36 | BuildGameObject: require('gameobjects/BuildGameObject'), 37 | BuildGameObjectAnimation: require('gameobjects/BuildGameObjectAnimation'), 38 | GameObject: require('gameobjects/GameObject'), 39 | Graphics: require('gameobjects/graphics/Graphics.js'), 40 | Image: require('gameobjects/image/Image'), 41 | Layer: require('gameobjects/layer/Layer'), 42 | Sprite: require('gameobjects/sprite/Sprite'), 43 | Text: require('gameobjects/text/Text'), 44 | Factories: { 45 | Graphics: require('gameobjects/graphics/GraphicsFactory'), 46 | Image: require('gameobjects/image/ImageFactory'), 47 | Layer: require('gameobjects/layer/LayerFactory'), 48 | Sprite: require('gameobjects/sprite/SpriteFactory'), 49 | Text: require('gameobjects/text/TextFactory') 50 | }, 51 | Creators: { 52 | Graphics: require('gameobjects/graphics/GraphicsCreator'), 53 | Image: require('gameobjects/image/ImageCreator'), 54 | Layer: require('gameobjects/layer/LayerCreator'), 55 | Sprite: require('gameobjects/sprite/SpriteCreator'), 56 | Text: require('gameobjects/text/TextCreator') 57 | } 58 | }, 59 | Input: require('input'), 60 | Loader: { 61 | FileTypes: { 62 | AnimationJSONFile: require('loader/filetypes/AnimationJSONFile'), 63 | AtlasJSONFile: require('loader/filetypes/AtlasJSONFile'), 64 | AudioFile: require('loader/filetypes/AudioFile'), 65 | AudioSpriteFile: require('loader/filetypes/AudioSpriteFile'), 66 | HTML5AudioFile: require('loader/filetypes/HTML5AudioFile'), 67 | ImageFile: require('loader/filetypes/ImageFile'), 68 | JSONFile: require('loader/filetypes/JSONFile'), 69 | MultiAtlasFile: require('loader/filetypes/MultiAtlasFile'), 70 | PluginFile: require('loader/filetypes/PluginFile'), 71 | ScriptFile: require('loader/filetypes/ScriptFile'), 72 | SpriteSheetFile: require('loader/filetypes/SpriteSheetFile'), 73 | TextFile: require('loader/filetypes/TextFile'), 74 | XMLFile: require('loader/filetypes/XMLFile') 75 | }, 76 | File: require('loader/File'), 77 | FileTypesManager: require('loader/FileTypesManager'), 78 | GetURL: require('loader/GetURL'), 79 | LoaderPlugin: require('loader/LoaderPlugin'), 80 | MergeXHRSettings: require('loader/MergeXHRSettings'), 81 | MultiFile: require('loader/MultiFile'), 82 | XHRLoader: require('loader/XHRLoader'), 83 | XHRSettings: require('loader/XHRSettings') 84 | }, 85 | Math: { 86 | Between: require('math/Between'), 87 | DegToRad: require('math/DegToRad'), 88 | FloatBetween: require('math/FloatBetween'), 89 | RadToDeg: require('math/RadToDeg'), 90 | Vector2: require('math/Vector2') 91 | }, 92 | Plugins: require('plugins'), 93 | Renderer: require('renderer'), 94 | Scale: require('scale'), 95 | ScaleModes: require('renderer/ScaleModes'), 96 | Scene: require('scene/Scene'), 97 | Scenes: require('scene'), 98 | Structs: require('structs'), 99 | Textures: require('textures'), 100 | Time: require('time'), 101 | Tweens: require('tweens') 102 | }; 103 | 104 | // Merge in the consts// Merge in the optional plugins and WebGL only features 105 | 106 | if (typeof FEATURE_SOUND) 107 | { 108 | Phaser.Sound = require('sound'); 109 | } 110 | 111 | // Merge in the consts 112 | 113 | Phaser = Extend(false, Phaser, CONST); 114 | 115 | /** 116 | * The root types namespace. 117 | * 118 | * @namespace Phaser.Types 119 | * @since 3.17.0 120 | */ 121 | 122 | // Export it 123 | 124 | module.exports = Phaser; 125 | 126 | global.Phaser = Phaser; 127 | 128 | /* 129 | * "Documentation is like pizza: when it is good, it is very, very good; 130 | * and when it is bad, it is better than nothing." 131 | * -- Dick Brandon 132 | */ 133 | -------------------------------------------------------------------------------- /phaser-custom-sprite-small-loader.js: -------------------------------------------------------------------------------- 1 | require('polyfills'); 2 | 3 | var CONST = require('const'); 4 | var Extend = require('utils/object/Extend'); 5 | 6 | var Phaser = { 7 | 8 | Cameras: { 9 | Scene2D: require('cameras/2d') 10 | }, 11 | Events: require('events/index'), 12 | Game: require('core/Game'), 13 | GameObjects: { 14 | DisplayList: require('gameobjects/DisplayList'), 15 | UpdateList: require('gameobjects/UpdateList'), 16 | 17 | Image: require('gameobjects/image/Image'), 18 | Sprite: require('gameobjects/sprite/Sprite'), 19 | 20 | Factories: { 21 | Image: require('gameobjects/image/ImageFactory'), 22 | Sprite: require('gameobjects/sprite/SpriteFactory') 23 | }, 24 | 25 | Creators: { 26 | Image: require('gameobjects/image/ImageCreator'), 27 | Sprite: require('gameobjects/sprite/SpriteCreator') 28 | } 29 | }, 30 | Loader: { 31 | FileTypes: { 32 | ImageFile: require('loader/filetypes/ImageFile') 33 | }, 34 | LoaderPlugin: require('loader/LoaderPlugin') 35 | }, 36 | Math: { 37 | Between: require('math/Between') 38 | } 39 | }; 40 | 41 | // Merge in the consts 42 | 43 | Phaser = Extend(false, Phaser, CONST); 44 | 45 | // Export it 46 | 47 | module.exports = Phaser; 48 | 49 | global.Phaser = Phaser; 50 | -------------------------------------------------------------------------------- /phaser-custom-sprite.js: -------------------------------------------------------------------------------- 1 | require('polyfills'); 2 | 3 | var CONST = require('const'); 4 | var Extend = require('utils/object/Extend'); 5 | 6 | var Phaser = { 7 | 8 | Cameras: { 9 | Scene2D: require('cameras/2d') 10 | }, 11 | Events: require('events/index'), 12 | Game: require('core/Game'), 13 | GameObjects: { 14 | DisplayList: require('gameobjects/DisplayList'), 15 | UpdateList: require('gameobjects/UpdateList'), 16 | 17 | Image: require('gameobjects/image/Image'), 18 | Sprite: require('gameobjects/sprite/Sprite'), 19 | 20 | Factories: { 21 | Image: require('gameobjects/image/ImageFactory'), 22 | Sprite: require('gameobjects/sprite/SpriteFactory') 23 | }, 24 | 25 | Creators: { 26 | Image: require('gameobjects/image/ImageCreator'), 27 | Sprite: require('gameobjects/sprite/SpriteCreator') 28 | } 29 | }, 30 | Loader: require('loader'), 31 | Math: { 32 | Between: require('math/Between') 33 | } 34 | }; 35 | 36 | // Merge in the consts 37 | 38 | Phaser = Extend(false, Phaser, CONST); 39 | 40 | // Export it 41 | 42 | module.exports = Phaser; 43 | 44 | global.Phaser = Phaser; 45 | -------------------------------------------------------------------------------- /phaser-custom.js: -------------------------------------------------------------------------------- 1 | require('polyfills'); 2 | 3 | var CONST = require('const'); 4 | var Extend = require('utils/object/Extend'); 5 | 6 | var Phaser = { 7 | 8 | Cameras: { 9 | Scene2D: require('cameras/2d') 10 | }, 11 | Events: require('events/index'), 12 | Game: require('core/Game'), 13 | GameObjects: { 14 | DisplayList: require('gameobjects/DisplayList'), 15 | UpdateList: require('gameobjects/UpdateList'), 16 | Graphics: require('gameobjects/graphics/Graphics.js'), 17 | Factories: { 18 | Graphics: require('gameobjects/graphics/GraphicsFactory') 19 | }, 20 | Creators: { 21 | Graphics: require('gameobjects/graphics/GraphicsCreator') 22 | } 23 | }, 24 | Math: { 25 | Between: require('math/Between') 26 | } 27 | }; 28 | 29 | // Merge in the consts 30 | 31 | Phaser = Extend(false, Phaser, CONST); 32 | 33 | // Export it 34 | 35 | module.exports = Phaser; 36 | 37 | global.Phaser = Phaser; 38 | -------------------------------------------------------------------------------- /phaser-full.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Richard Davey 3 | * @copyright 2023 Photon Storm Ltd. 4 | * @license {@link https://opensource.org/licenses/MIT|MIT License} 5 | */ 6 | 7 | require('polyfills'); 8 | 9 | var CONST = require('const'); 10 | var Extend = require('utils/object/Extend'); 11 | 12 | /** 13 | * @namespace Phaser 14 | */ 15 | 16 | var Phaser = { 17 | 18 | Actions: require('actions'), 19 | Animations: require('animations'), 20 | BlendModes: require('renderer/BlendModes'), 21 | Cache: require('cache'), 22 | Cameras: require('cameras'), 23 | Core: require('core'), 24 | Class: require('utils/Class'), 25 | Create: require('create'), 26 | Curves: require('curves'), 27 | Data: require('data'), 28 | Display: require('display'), 29 | DOM: require('dom'), 30 | Events: require('events/index'), 31 | FX: require('fx'), 32 | Game: require('core/Game'), 33 | GameObjects: require('gameobjects'), 34 | Geom: require('geom'), 35 | Input: require('input'), 36 | Loader: require('loader'), 37 | Math: require('math'), 38 | Physics: require('physics'), 39 | Plugins: require('plugins'), 40 | Renderer: require('renderer'), 41 | Scale: require('scale'), 42 | ScaleModes: require('renderer/ScaleModes'), 43 | Scene: require('scene/Scene'), 44 | Scenes: require('scene'), 45 | Structs: require('structs'), 46 | Textures: require('textures'), 47 | Tilemaps: require('tilemaps'), 48 | Time: require('time'), 49 | Tweens: require('tweens'), 50 | Utils: require('utils') 51 | 52 | }; 53 | 54 | // Merge in the optional plugins and WebGL only features 55 | 56 | if (typeof FEATURE_SOUND) 57 | { 58 | Phaser.Sound = require('sound'); 59 | } 60 | 61 | // Merge in the consts 62 | 63 | Phaser = Extend(false, Phaser, CONST); 64 | 65 | /** 66 | * The root types namespace. 67 | * 68 | * @namespace Phaser.Types 69 | * @since 3.17.0 70 | */ 71 | 72 | // Export it 73 | 74 | module.exports = Phaser; 75 | 76 | global.Phaser = Phaser; 77 | 78 | /* 79 | * "Documentation is like pizza: when it is good, it is very, very good; 80 | * and when it is bad, it is better than nothing." 81 | * -- Dick Brandon 82 | */ 83 | -------------------------------------------------------------------------------- /test/dragon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phaserjs/custom-build/4ef01678f7b37c36bb2b02a50ae87e1526634e92/test/dragon.png -------------------------------------------------------------------------------- /test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | Phaser 3 Custom Build 15 | 16 | 17 | 18 | 194 | 195 | 196 | -------------------------------------------------------------------------------- /test/indexcore.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | Phaser 3 Custom Build 15 | 16 | 17 | 18 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /test/indexsprite.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | Phaser 3 Custom Build 15 | 16 | 17 | 18 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /webpack.config-both.js: -------------------------------------------------------------------------------- 1 | const { CleanWebpackPlugin } = require("clean-webpack-plugin"); 2 | const path = require("path"); 3 | const TerserPlugin = require("terser-webpack-plugin"); 4 | const webpack = require("webpack"); 5 | 6 | module.exports = { 7 | // mode: 'development', 8 | mode: "production", 9 | 10 | entry: { 11 | "phaser-custom": `./phaser-custom.js`, 12 | "phaser-custom.min": "./phaser-custom.js", 13 | "phaser-custom-sprite": `./phaser-custom-sprite.js`, 14 | "phaser-custom-sprite.min": "./phaser-custom-sprite.js", 15 | }, 16 | 17 | resolve: { 18 | alias: { 19 | eventemitter3: path.resolve( 20 | __dirname, 21 | "./node_modules/eventemitter3", 22 | ), 23 | }, 24 | modules: ["node_modules/phaser/src"], 25 | }, 26 | 27 | output: { 28 | path: `${__dirname}/dist/`, 29 | filename: "[name].js", 30 | library: "Phaser", 31 | libraryTarget: "umd", 32 | sourceMapFilename: "[file].map", 33 | devtoolModuleFilenameTemplate: "webpack:///[resource-path]", 34 | devtoolFallbackModuleFilenameTemplate: 35 | "webpack:///[resource-path]?[hash]", 36 | umdNamedDefine: true, 37 | }, 38 | 39 | performance: { hints: false }, 40 | 41 | optimization: { 42 | minimizer: [ 43 | new TerserPlugin({ 44 | include: /\.min\.js$/, 45 | terserOptions: { 46 | output: { 47 | comments: false, 48 | }, 49 | }, 50 | }), 51 | ], 52 | }, 53 | 54 | plugins: [ 55 | new webpack.DefinePlugin({ 56 | "typeof CANVAS_RENDERER": JSON.stringify(true), 57 | "typeof WEBGL_RENDERER": JSON.stringify(true), 58 | "typeof WEBGL_DEBUG": JSON.stringify(false), 59 | "typeof EXPERIMENTAL": JSON.stringify(false), 60 | "typeof PLUGIN_3D": JSON.stringify(false), 61 | "typeof PLUGIN_CAMERA3D": JSON.stringify(false), 62 | "typeof PLUGIN_FBINSTANT": JSON.stringify(false), 63 | "typeof FEATURE_SOUND": JSON.stringify(true), 64 | }), 65 | 66 | new CleanWebpackPlugin(), 67 | ], 68 | 69 | devtool: "source-map", 70 | }; 71 | -------------------------------------------------------------------------------- /webpack.config-core.js: -------------------------------------------------------------------------------- 1 | const { CleanWebpackPlugin } = require("clean-webpack-plugin"); 2 | const path = require("path"); 3 | const TerserPlugin = require("terser-webpack-plugin"); 4 | const webpack = require("webpack"); 5 | 6 | module.exports = { 7 | // mode: 'development', 8 | mode: "production", 9 | 10 | entry: { 11 | "phaser-core": `./phaser-core.js`, 12 | "phaser-core.min": "./phaser-core.js", 13 | }, 14 | 15 | resolve: { 16 | alias: { 17 | eventemitter3: path.resolve( 18 | __dirname, 19 | "./node_modules/eventemitter3", 20 | ), 21 | }, 22 | modules: ["node_modules/phaser/src"], 23 | }, 24 | 25 | output: { 26 | path: `${__dirname}/dist/`, 27 | filename: "[name].js", 28 | library: "Phaser", 29 | libraryTarget: "umd", 30 | sourceMapFilename: "[file].map", 31 | devtoolModuleFilenameTemplate: "webpack:///[resource-path]", 32 | devtoolFallbackModuleFilenameTemplate: 33 | "webpack:///[resource-path]?[hash]", 34 | umdNamedDefine: true, 35 | }, 36 | 37 | performance: { hints: false }, 38 | 39 | optimization: { 40 | minimizer: [ 41 | new TerserPlugin({ 42 | include: /\.min\.js$/, 43 | terserOptions: { 44 | output: { 45 | comments: false, 46 | }, 47 | }, 48 | }), 49 | ], 50 | }, 51 | 52 | plugins: [ 53 | new webpack.DefinePlugin({ 54 | "typeof CANVAS_RENDERER": JSON.stringify(true), 55 | "typeof WEBGL_RENDERER": JSON.stringify(true), 56 | "typeof WEBGL_DEBUG": JSON.stringify(false), 57 | "typeof EXPERIMENTAL": JSON.stringify(false), 58 | "typeof PLUGIN_3D": JSON.stringify(false), 59 | "typeof PLUGIN_CAMERA3D": JSON.stringify(false), 60 | "typeof PLUGIN_FBINSTANT": JSON.stringify(false), 61 | "typeof FEATURE_SOUND": JSON.stringify(true), 62 | }), 63 | 64 | new CleanWebpackPlugin(), 65 | ], 66 | 67 | devtool: "source-map", 68 | }; 69 | -------------------------------------------------------------------------------- /webpack.config-full.js: -------------------------------------------------------------------------------- 1 | const { CleanWebpackPlugin } = require("clean-webpack-plugin"); 2 | const path = require("path"); 3 | const TerserPlugin = require("terser-webpack-plugin"); 4 | const webpack = require("webpack"); 5 | 6 | module.exports = { 7 | // mode: 'development', 8 | mode: "production", 9 | 10 | entry: { 11 | "phaser-full": `./phaser-full.js`, 12 | "phaser-full.min": "./phaser-full.js", 13 | }, 14 | 15 | resolve: { 16 | alias: { 17 | eventemitter3: path.resolve( 18 | __dirname, 19 | "./node_modules/eventemitter3", 20 | ), 21 | }, 22 | modules: ["node_modules/phaser/src"], 23 | }, 24 | 25 | output: { 26 | path: `${__dirname}/dist/`, 27 | filename: "[name].js", 28 | library: "Phaser", 29 | libraryTarget: "umd", 30 | sourceMapFilename: "[file].map", 31 | devtoolModuleFilenameTemplate: "webpack:///[resource-path]", 32 | devtoolFallbackModuleFilenameTemplate: 33 | "webpack:///[resource-path]?[hash]", 34 | umdNamedDefine: true, 35 | }, 36 | 37 | performance: { hints: false }, 38 | 39 | optimization: { 40 | minimizer: [ 41 | new TerserPlugin({ 42 | include: /\.min\.js$/, 43 | terserOptions: { 44 | output: { 45 | comments: false, 46 | }, 47 | }, 48 | }), 49 | ], 50 | }, 51 | 52 | plugins: [ 53 | new webpack.DefinePlugin({ 54 | "typeof CANVAS_RENDERER": JSON.stringify(true), 55 | "typeof WEBGL_RENDERER": JSON.stringify(true), 56 | "typeof WEBGL_DEBUG": JSON.stringify(false), 57 | "typeof EXPERIMENTAL": JSON.stringify(false), 58 | "typeof PLUGIN_3D": JSON.stringify(false), 59 | "typeof PLUGIN_CAMERA3D": JSON.stringify(false), 60 | "typeof PLUGIN_FBINSTANT": JSON.stringify(false), 61 | "typeof FEATURE_SOUND": JSON.stringify(true), 62 | }), 63 | 64 | new CleanWebpackPlugin(), 65 | ], 66 | 67 | devtool: "source-map", 68 | }; 69 | -------------------------------------------------------------------------------- /webpack.config-sprite-small-loader.js: -------------------------------------------------------------------------------- 1 | const { CleanWebpackPlugin } = require("clean-webpack-plugin"); 2 | const path = require("path"); 3 | const TerserPlugin = require("terser-webpack-plugin"); 4 | const webpack = require("webpack"); 5 | 6 | module.exports = { 7 | // mode: 'development', 8 | mode: "production", 9 | 10 | entry: { 11 | "phaser-custom-sprite-small-loader": `./phaser-custom-sprite-small-loader.js`, 12 | "phaser-custom-sprite-small-loader.min": 13 | "./phaser-custom-sprite-small-loader.js", 14 | }, 15 | 16 | resolve: { 17 | alias: { 18 | eventemitter3: path.resolve( 19 | __dirname, 20 | "./node_modules/eventemitter3", 21 | ), 22 | }, 23 | modules: ["node_modules/phaser/src"], 24 | }, 25 | 26 | output: { 27 | path: `${__dirname}/dist/`, 28 | filename: "[name].js", 29 | library: "Phaser", 30 | libraryTarget: "umd", 31 | sourceMapFilename: "[file].map", 32 | devtoolModuleFilenameTemplate: "webpack:///[resource-path]", 33 | devtoolFallbackModuleFilenameTemplate: 34 | "webpack:///[resource-path]?[hash]", 35 | umdNamedDefine: true, 36 | }, 37 | 38 | performance: { hints: false }, 39 | 40 | optimization: { 41 | minimizer: [ 42 | new TerserPlugin({ 43 | include: /\.min\.js$/, 44 | terserOptions: { 45 | output: { 46 | comments: false, 47 | }, 48 | }, 49 | }), 50 | ], 51 | }, 52 | 53 | plugins: [ 54 | new webpack.DefinePlugin({ 55 | "typeof CANVAS_RENDERER": JSON.stringify(true), 56 | "typeof WEBGL_RENDERER": JSON.stringify(true), 57 | "typeof WEBGL_DEBUG": JSON.stringify(false), 58 | "typeof EXPERIMENTAL": JSON.stringify(false), 59 | "typeof PLUGIN_3D": JSON.stringify(false), 60 | "typeof PLUGIN_CAMERA3D": JSON.stringify(false), 61 | "typeof PLUGIN_FBINSTANT": JSON.stringify(false), 62 | "typeof FEATURE_SOUND": JSON.stringify(true), 63 | }), 64 | 65 | new CleanWebpackPlugin(), 66 | ], 67 | 68 | devtool: "source-map", 69 | }; 70 | -------------------------------------------------------------------------------- /webpack.config-sprite.js: -------------------------------------------------------------------------------- 1 | const { CleanWebpackPlugin } = require("clean-webpack-plugin"); 2 | const path = require("path"); 3 | const TerserPlugin = require("terser-webpack-plugin"); 4 | const webpack = require("webpack"); 5 | 6 | module.exports = { 7 | // mode: 'development', 8 | mode: "production", 9 | 10 | entry: { 11 | "phaser-custom-sprite": `./phaser-custom-sprite.js`, 12 | "phaser-custom-sprite.min": "./phaser-custom-sprite.js", 13 | }, 14 | 15 | resolve: { 16 | alias: { 17 | eventemitter3: path.resolve( 18 | __dirname, 19 | "./node_modules/eventemitter3", 20 | ), 21 | }, 22 | modules: ["node_modules/phaser/src"], 23 | }, 24 | 25 | output: { 26 | path: `${__dirname}/dist/`, 27 | filename: "[name].js", 28 | library: "Phaser", 29 | libraryTarget: "umd", 30 | sourceMapFilename: "[file].map", 31 | devtoolModuleFilenameTemplate: "webpack:///[resource-path]", 32 | devtoolFallbackModuleFilenameTemplate: 33 | "webpack:///[resource-path]?[hash]", 34 | umdNamedDefine: true, 35 | }, 36 | 37 | performance: { hints: false }, 38 | 39 | optimization: { 40 | minimizer: [ 41 | new TerserPlugin({ 42 | include: /\.min\.js$/, 43 | terserOptions: { 44 | output: { 45 | comments: false 46 | } 47 | } 48 | }) 49 | ], 50 | }, 51 | 52 | plugins: [ 53 | new webpack.DefinePlugin({ 54 | "typeof CANVAS_RENDERER": JSON.stringify(true), 55 | "typeof WEBGL_RENDERER": JSON.stringify(true), 56 | "typeof WEBGL_DEBUG": JSON.stringify(false), 57 | "typeof EXPERIMENTAL": JSON.stringify(false), 58 | "typeof PLUGIN_3D": JSON.stringify(false), 59 | "typeof PLUGIN_CAMERA3D": JSON.stringify(false), 60 | "typeof PLUGIN_FBINSTANT": JSON.stringify(false), 61 | "typeof FEATURE_SOUND": JSON.stringify(true) 62 | }), 63 | 64 | new CleanWebpackPlugin(), 65 | ], 66 | 67 | devtool: "source-map", 68 | }; 69 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const { CleanWebpackPlugin } = require("clean-webpack-plugin"); 2 | const path = require("path"); 3 | const TerserPlugin = require("terser-webpack-plugin"); 4 | const webpack = require("webpack"); 5 | 6 | module.exports = { 7 | // mode: 'development', 8 | mode: "production", 9 | 10 | stats: { 11 | modules: true, 12 | }, 13 | 14 | entry: { 15 | "phaser-custom": `./phaser-custom.js`, 16 | "phaser-custom.min": "./phaser-custom.js", 17 | }, 18 | 19 | resolve: { 20 | alias: { 21 | eventemitter3: path.resolve( 22 | __dirname, 23 | "./node_modules/eventemitter3", 24 | ), 25 | }, 26 | modules: ["node_modules/phaser/src"], 27 | }, 28 | 29 | output: { 30 | path: `${__dirname}/dist/`, 31 | filename: "[name].js", 32 | library: "Phaser", 33 | libraryTarget: "umd", 34 | sourceMapFilename: "[file].map", 35 | devtoolModuleFilenameTemplate: "webpack:///[resource-path]", 36 | devtoolFallbackModuleFilenameTemplate: 37 | "webpack:///[resource-path]?[hash]", 38 | umdNamedDefine: true, 39 | }, 40 | 41 | performance: { hints: false }, 42 | 43 | optimization: { 44 | minimizer: [ 45 | new TerserPlugin({ 46 | include: /\.min\.js$/, 47 | terserOptions: { 48 | output: { 49 | comments: false, 50 | }, 51 | }, 52 | }), 53 | ], 54 | }, 55 | 56 | plugins: [ 57 | new CleanWebpackPlugin(), 58 | new webpack.DefinePlugin({ 59 | "typeof CANVAS_RENDERER": JSON.stringify(true), 60 | "typeof WEBGL_RENDERER": JSON.stringify(true), 61 | "typeof WEBGL_DEBUG": JSON.stringify(false), 62 | "typeof EXPERIMENTAL": JSON.stringify(false), 63 | "typeof PLUGIN_3D": JSON.stringify(false), 64 | "typeof PLUGIN_CAMERA3D": JSON.stringify(false), 65 | "typeof PLUGIN_FBINSTANT": JSON.stringify(false), 66 | "typeof FEATURE_SOUND": JSON.stringify(true), 67 | }), 68 | ], 69 | 70 | devtool: "source-map", 71 | }; 72 | --------------------------------------------------------------------------------