diff --git a/app/RSpade/Commands/Migrate/Document_Models_Command.php b/app/RSpade/Commands/Migrate/Document_Models_Command.php index f764226fa..cbef48fc4 100755 --- a/app/RSpade/Commands/Migrate/Document_Models_Command.php +++ b/app/RSpade/Commands/Migrate/Document_Models_Command.php @@ -88,6 +88,12 @@ class Document_Models_Command extends FrameworkDeveloperCommand continue; } + // Skip framework files (app/RSpade/) unless in framework developer mode + // This prevents end users from accidentally modifying framework source + if (str_starts_with($filePath, 'app/RSpade/') && !config('rsx.code_quality.is_framework_developer', false)) { + continue; + } + $models[$className] = $fullPath; } diff --git a/app/RSpade/Commands/Rsx/Constants_Regenerate_Command.php b/app/RSpade/Commands/Rsx/Constants_Regenerate_Command.php index 08b9d9333..490bb60a7 100755 --- a/app/RSpade/Commands/Rsx/Constants_Regenerate_Command.php +++ b/app/RSpade/Commands/Rsx/Constants_Regenerate_Command.php @@ -72,6 +72,12 @@ class Constants_Regenerate_Command extends Command continue; } + // Skip framework files (app/RSpade/) unless in framework developer mode + // This prevents end users from accidentally modifying framework source + if (str_starts_with($model_metadata['file'], 'app/RSpade/') && !config('rsx.code_quality.is_framework_developer', false)) { + continue; + } + // Silently process - only output changes/warnings try { diff --git a/app/RSpade/Core/Ajax/CLAUDE.md b/app/RSpade/Core/Ajax/CLAUDE.md index 5aeaee1ae..b09003ed3 100755 --- a/app/RSpade/Core/Ajax/CLAUDE.md +++ b/app/RSpade/Core/Ajax/CLAUDE.md @@ -110,9 +110,9 @@ Error responses: ```json { "_success": false, - "error_type": "response_form_error", - "reason": "Validation failed", - "details": { /* error details */ } + "error_code": "validation", + "message": "Please correct the errors below", + "errors": { "field_name": "Error message" } } ``` @@ -189,15 +189,15 @@ class User_Controller extends Rsx_Controller public static function get_profile(Request $request, array $params = []) { $user_id = $params['user_id'] ?? null; - + if (!$user_id) { - return response_form_error('User ID required', ['user_id' => 'Missing']); + return response_error(Ajax::ERROR_VALIDATION, ['user_id' => 'User ID required']); } - + $user = User::find($user_id); - + if (!$user) { - return response_form_error('User not found', ['user_id' => 'Invalid']); + return response_error(Ajax::ERROR_NOT_FOUND, 'User not found'); } return [ @@ -218,14 +218,19 @@ Normal responses (arrays, objects) are automatically filtered through `json_deco This prevents memory leaks and ensures clean data structures. -## Special Response Types +## Error Response Helper -The following helper functions create special responses that are handled differently: +Use `response_error()` with error codes from the `Ajax` class: -- `response_auth_required($reason, $redirect)` - Throws `AjaxAuthRequiredException` -- `response_unauthorized($reason, $redirect)` - Throws `AjaxUnauthorizedException` -- `response_form_error($reason, $details)` - Throws `AjaxFormErrorException` with extractable details -- `response_fatal_error($reason, $details)` - Throws `AjaxFatalErrorException` +```php +return response_error(Ajax::ERROR_VALIDATION, ['field' => 'Error message']); +return response_error(Ajax::ERROR_NOT_FOUND, 'Resource not found'); +return response_error(Ajax::ERROR_UNAUTHORIZED); +return response_error(Ajax::ERROR_AUTH_REQUIRED); +return response_error(Ajax::ERROR_FATAL, 'Something went wrong'); +``` + +**Error codes:** `ERROR_VALIDATION`, `ERROR_NOT_FOUND`, `ERROR_UNAUTHORIZED`, `ERROR_AUTH_REQUIRED`, `ERROR_FATAL`, `ERROR_GENERIC` ## Security Considerations diff --git a/app/RSpade/Core/Js/Form_Utils.js b/app/RSpade/Core/Js/Form_Utils.js index 7ae9c19e7..e835f436b 100755 --- a/app/RSpade/Core/Js/Form_Utils.js +++ b/app/RSpade/Core/Js/Form_Utils.js @@ -107,7 +107,7 @@ class Form_Utils { // Resolve the promise once all animations are complete Promise.all(animations).then(() => { // Scroll to error container if it exists - const $error_container = $parent.find('[data-id="error_container"]').first(); + const $error_container = $parent.find('[$sid="error_container"]').first(); if ($error_container.length > 0) { const container_top = $error_container.offset().top; @@ -177,8 +177,8 @@ class Form_Utils { return response; } catch (error) { - if (error.type === 'form_error' && error.details) { - await Form_Utils.apply_form_errors(form_selector, error.details); + if (error.code === Ajax.ERROR_VALIDATION && error.metadata) { + await Form_Utils.apply_form_errors(form_selector, error.metadata); } else { await Form_Utils.apply_form_errors(form_selector, error.message || 'An error occurred'); } @@ -345,7 +345,7 @@ class Form_Utils { */ static _apply_combined_error($parent, summary_msg, unmatched_errors) { const animations = []; - const $error_container = $parent.find('[data-id="error_container"]').first(); + const $error_container = $parent.find('[$sid="error_container"]').first(); const $target = $error_container.length > 0 ? $error_container : $parent; // Create alert with summary message and bulleted list of unmatched errors @@ -386,7 +386,7 @@ class Form_Utils { const animations = []; // Look for a specific error container div (e.g., in Rsx_Form component) - const $error_container = $parent.find('[data-id="error_container"]').first(); + const $error_container = $parent.find('[$sid="error_container"]').first(); const $target = $error_container.length > 0 ? $error_container : $parent; if (typeof messages === 'string') { diff --git a/app/RSpade/Core/Js/Rsx.js b/app/RSpade/Core/Js/Rsx.js index 76974f788..3733cbac1 100755 --- a/app/RSpade/Core/Js/Rsx.js +++ b/app/RSpade/Core/Js/Rsx.js @@ -857,10 +857,10 @@ class Rsx {

${Rsx._escape_html(message)}

`; - } else if (error.type === 'form_error' && error.details) { + } else if (error.code === Ajax.ERROR_VALIDATION && error.metadata) { // Validation errors - show unmatched errors only // (matched errors should be handled by Form_Utils.apply_form_errors) - const errors = error.details; + const errors = error.metadata; const error_list = []; for (const field in errors) { diff --git a/app/RSpade/man/ajax_error_handling.txt b/app/RSpade/man/ajax_error_handling.txt index a866521d0..cab57f9a7 100755 --- a/app/RSpade/man/ajax_error_handling.txt +++ b/app/RSpade/man/ajax_error_handling.txt @@ -26,9 +26,9 @@ RESPONSE FORMATS ----------------------------------------- { "_success": false, - "error_type": "response_form_error|response_auth_required|response_unauthorized", + "error_code": "validation|not_found|unauthorized|auth_required", "reason": "User-friendly message", - "details": { /* optional, e.g., field-specific validation errors */ }, + "metadata": { /* optional, e.g., field-specific validation errors */ }, "console_debug": [ /* optional debug messages */ ] } @@ -84,35 +84,42 @@ HTTP STATUS CODE STRATEGY ERROR TYPES - fatal - ----- + All error responses use the unified response_error() function with constants: + + Ajax::ERROR_FATAL + ----------------- Uncaught PHP exceptions, database errors, bugs in code. Dev mode: Shows file/line/error/backtrace Prod mode: Generic "An error occurred" message - response_form_error (validation) - -------------------------------- + Ajax::ERROR_VALIDATION + ---------------------- Validation failures with field-specific details. - Used via: return response_form_error($reason, $details); + Used via: return response_error(Ajax::ERROR_VALIDATION, $field_errors); Example: - return response_form_error('Validation failed', [ + return response_error(Ajax::ERROR_VALIDATION, [ 'email' => 'Email address is required', 'phone' => 'Invalid phone number format' ]); - response_auth_required - ---------------------- + Ajax::ERROR_AUTH_REQUIRED + ------------------------- User not logged in, needs authentication. - Used via: return response_auth_required($reason, $redirect); + Used via: return response_error(Ajax::ERROR_AUTH_REQUIRED); - response_unauthorized - --------------------- + Ajax::ERROR_UNAUTHORIZED + ------------------------ User logged in but lacks permission for this action. - Used via: return response_unauthorized($reason, $redirect); + Used via: return response_error(Ajax::ERROR_UNAUTHORIZED); - network - ------- - Client-side only. Server unreachable (xhr.status === 0). + Ajax::ERROR_NOT_FOUND + --------------------- + Resource not found. + Used via: return response_error(Ajax::ERROR_NOT_FOUND, 'Project not found'); + + network (client-side only) + -------------------------- + Server unreachable (xhr.status === 0). SERVER-SIDE IMPLEMENTATION @@ -127,7 +134,7 @@ SERVER-SIDE IMPLEMENTATION $user = User::find($params['id']); if (!$user) { - return response_form_error('User not found', ['id' => 'Invalid']); + return response_error(Ajax::ERROR_NOT_FOUND, 'User not found'); } return [ @@ -216,13 +223,17 @@ CLIENT-SIDE IMPLEMENTATION ---------------------- Rejected promises receive standard Error objects with additional properties: - error.type - 'fatal'|'form_error'|'auth_required'| - 'unauthorized'|'network' + error.code - 'validation'|'not_found'|'unauthorized'| + 'auth_required'|'fatal'|'network' error.message - User-displayable message - error.details - Full error data from server - (for form_error: field-specific errors) + error.metadata - Additional error data from server + (for validation: field-specific errors) (for fatal: file/line/backtrace) + Constants available on both server and client: + PHP: Ajax::ERROR_VALIDATION, Ajax::ERROR_NOT_FOUND, etc. + JS: Ajax.ERROR_VALIDATION, Ajax.ERROR_NOT_FOUND, etc. + Automatic Error Handling ------------------------ Uncaught Ajax errors automatically display via Modal.error(): @@ -253,7 +264,7 @@ CLIENT-SIDE IMPLEMENTATION }); Rsx_Form.render_error() handles all error types: - - form_error: Shows inline field errors + unmatched errors alert + - validation: Shows inline field errors + unmatched errors alert - fatal/network/auth: Shows error in form's error container Form_Utils Error Display @@ -264,8 +275,8 @@ CLIENT-SIDE IMPLEMENTATION const result = await Controller.save_user(form_data); await Modal.alert('User saved!'); } catch (error) { - if (error.type === 'form_error') { - await Form_Utils.apply_form_errors($form, error.details); + if (error.code === Ajax.ERROR_VALIDATION) { + await Form_Utils.apply_form_errors($form, error.metadata); } else { Rsx.render_error(error, '#error_container'); } @@ -289,7 +300,7 @@ CLIENT-SIDE IMPLEMENTATION Handles all error types: - fatal: Shows file:line and full message - - form_error: Shows bulleted list of unmatched validation errors + - validation: Shows bulleted list of unmatched validation errors - auth/network: Shows user-friendly message - generic: Shows error message in danger alert @@ -403,7 +414,7 @@ COMMON PATTERNS public static function save(Request $request, array $params = []): array { if (empty($params['email'])) { - return response_form_error('Validation failed', [ + return response_error(Ajax::ERROR_VALIDATION, [ 'email' => 'Email is required' ]); } diff --git a/docs/BREAKING_CHANGES.md b/docs/BREAKING_CHANGES.md index 00a7689ef..3426a2713 100755 --- a/docs/BREAKING_CHANGES.md +++ b/docs/BREAKING_CHANGES.md @@ -93,28 +93,15 @@ class Frontend_Clients_Edit { ## 2025-11-20: Unified Ajax Error Response System **Component**: Ajax error handling -**Impact**: Medium - Existing error handling code continues to work, but new pattern recommended +**Impact**: Documentation clarification - unified pattern is the only implemented pattern ### Change -Replaced fragmented error response helpers (`response_form_error()`, `response_auth_required()`, etc.) with unified `response_error()` function using constants for error codes. Same constant names on server and client for zero mental translation. +Adopted unified `response_error()` function with error code constants. Same constant names on server and client for zero mental translation. -### Previous Pattern +**Note**: The fragmented helper functions (`response_form_error()`, `response_auth_required()`, etc.) shown in earlier documentation were a planned design that was superseded before implementation. Only `response_error()` exists. -```php -// Server - different functions for each error type -return response_form_error('Validation failed', ['email' => 'Invalid']); -return response_not_found('Project not found'); -return response_unauthorized('Permission denied'); -``` - -```javascript -// Client - string matching with different names -if (error.type === 'form_error') { ... } -if (error.type === 'not_found') { ... } -``` - -### New Pattern +### Pattern ```php // Server - single function with constants @@ -129,13 +116,9 @@ if (e.code === Ajax.ERROR_VALIDATION) { ... } if (e.code === Ajax.ERROR_NOT_FOUND) { ... } ``` -### Migration Steps +### Documentation -1. **Update server-side error responses** to use `response_error()` with constants -2. **Update client-side error checks** to use `e.code === Ajax.ERROR_*` instead of `e.type === 'string'` -3. **Read updated documentation**: `php artisan rsx:man ajax_error_handling` - -Old helpers still work but are deprecated. Framework code being updated to new pattern. +See `php artisan rsx:man ajax_error_handling` for complete usage. ### Benefits diff --git a/node_modules/caniuse-lite/README.md b/node_modules/caniuse-lite/README.md old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/multibackgrounds.js b/node_modules/caniuse-lite/data/features/multibackgrounds.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/multicolumn.js b/node_modules/caniuse-lite/data/features/multicolumn.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/mutation-events.js b/node_modules/caniuse-lite/data/features/mutation-events.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/mutationobserver.js b/node_modules/caniuse-lite/data/features/mutationobserver.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/namevalue-storage.js b/node_modules/caniuse-lite/data/features/namevalue-storage.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/native-filesystem-api.js b/node_modules/caniuse-lite/data/features/native-filesystem-api.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/nav-timing.js b/node_modules/caniuse-lite/data/features/nav-timing.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/netinfo.js b/node_modules/caniuse-lite/data/features/netinfo.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/notifications.js b/node_modules/caniuse-lite/data/features/notifications.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/object-entries.js b/node_modules/caniuse-lite/data/features/object-entries.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/object-fit.js b/node_modules/caniuse-lite/data/features/object-fit.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/object-observe.js b/node_modules/caniuse-lite/data/features/object-observe.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/object-values.js b/node_modules/caniuse-lite/data/features/object-values.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/objectrtc.js b/node_modules/caniuse-lite/data/features/objectrtc.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/offline-apps.js b/node_modules/caniuse-lite/data/features/offline-apps.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/offscreencanvas.js b/node_modules/caniuse-lite/data/features/offscreencanvas.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/node_modules/caniuse-lite/data/features/ogg-vorbis.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/ogv.js b/node_modules/caniuse-lite/data/features/ogv.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/ol-reversed.js b/node_modules/caniuse-lite/data/features/ol-reversed.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/once-event-listener.js b/node_modules/caniuse-lite/data/features/once-event-listener.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/online-status.js b/node_modules/caniuse-lite/data/features/online-status.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/opus.js b/node_modules/caniuse-lite/data/features/opus.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/orientation-sensor.js b/node_modules/caniuse-lite/data/features/orientation-sensor.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/outline.js b/node_modules/caniuse-lite/data/features/outline.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/pad-start-end.js b/node_modules/caniuse-lite/data/features/pad-start-end.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/page-transition-events.js b/node_modules/caniuse-lite/data/features/page-transition-events.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/pagevisibility.js b/node_modules/caniuse-lite/data/features/pagevisibility.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/passive-event-listener.js b/node_modules/caniuse-lite/data/features/passive-event-listener.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/passkeys.js b/node_modules/caniuse-lite/data/features/passkeys.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/passwordrules.js b/node_modules/caniuse-lite/data/features/passwordrules.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/path2d.js b/node_modules/caniuse-lite/data/features/path2d.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/payment-request.js b/node_modules/caniuse-lite/data/features/payment-request.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/pdf-viewer.js b/node_modules/caniuse-lite/data/features/pdf-viewer.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/permissions-api.js b/node_modules/caniuse-lite/data/features/permissions-api.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/permissions-policy.js b/node_modules/caniuse-lite/data/features/permissions-policy.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/picture-in-picture.js b/node_modules/caniuse-lite/data/features/picture-in-picture.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/picture.js b/node_modules/caniuse-lite/data/features/picture.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/ping.js b/node_modules/caniuse-lite/data/features/ping.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/png-alpha.js b/node_modules/caniuse-lite/data/features/png-alpha.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/pointer-events.js b/node_modules/caniuse-lite/data/features/pointer-events.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/pointer.js b/node_modules/caniuse-lite/data/features/pointer.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/pointerlock.js b/node_modules/caniuse-lite/data/features/pointerlock.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/portals.js b/node_modules/caniuse-lite/data/features/portals.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/prefers-color-scheme.js b/node_modules/caniuse-lite/data/features/prefers-color-scheme.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js b/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/progress.js b/node_modules/caniuse-lite/data/features/progress.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/promise-finally.js b/node_modules/caniuse-lite/data/features/promise-finally.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/promises.js b/node_modules/caniuse-lite/data/features/promises.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/proximity.js b/node_modules/caniuse-lite/data/features/proximity.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/proxy.js b/node_modules/caniuse-lite/data/features/proxy.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/publickeypinning.js b/node_modules/caniuse-lite/data/features/publickeypinning.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/push-api.js b/node_modules/caniuse-lite/data/features/push-api.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/queryselector.js b/node_modules/caniuse-lite/data/features/queryselector.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/readonly-attr.js b/node_modules/caniuse-lite/data/features/readonly-attr.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/referrer-policy.js b/node_modules/caniuse-lite/data/features/referrer-policy.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/node_modules/caniuse-lite/data/features/registerprotocolhandler.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/rel-noopener.js b/node_modules/caniuse-lite/data/features/rel-noopener.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/node_modules/caniuse-lite/data/features/rel-noreferrer.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/rellist.js b/node_modules/caniuse-lite/data/features/rellist.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/rem.js b/node_modules/caniuse-lite/data/features/rem.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/requestanimationframe.js b/node_modules/caniuse-lite/data/features/requestanimationframe.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/requestidlecallback.js b/node_modules/caniuse-lite/data/features/requestidlecallback.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/resizeobserver.js b/node_modules/caniuse-lite/data/features/resizeobserver.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/resource-timing.js b/node_modules/caniuse-lite/data/features/resource-timing.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/rest-parameters.js b/node_modules/caniuse-lite/data/features/rest-parameters.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/node_modules/caniuse-lite/data/features/rtcpeerconnection.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/ruby.js b/node_modules/caniuse-lite/data/features/ruby.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/run-in.js b/node_modules/caniuse-lite/data/features/run-in.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/screen-orientation.js b/node_modules/caniuse-lite/data/features/screen-orientation.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/script-async.js b/node_modules/caniuse-lite/data/features/script-async.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/script-defer.js b/node_modules/caniuse-lite/data/features/script-defer.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/scrollintoview.js b/node_modules/caniuse-lite/data/features/scrollintoview.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/sdch.js b/node_modules/caniuse-lite/data/features/sdch.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/selection-api.js b/node_modules/caniuse-lite/data/features/selection-api.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/selectlist.js b/node_modules/caniuse-lite/data/features/selectlist.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/server-timing.js b/node_modules/caniuse-lite/data/features/server-timing.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/serviceworkers.js b/node_modules/caniuse-lite/data/features/serviceworkers.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/setimmediate.js b/node_modules/caniuse-lite/data/features/setimmediate.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/shadowdom.js b/node_modules/caniuse-lite/data/features/shadowdom.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/shadowdomv1.js b/node_modules/caniuse-lite/data/features/shadowdomv1.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/sharedarraybuffer.js b/node_modules/caniuse-lite/data/features/sharedarraybuffer.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/sharedworkers.js b/node_modules/caniuse-lite/data/features/sharedworkers.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/sni.js b/node_modules/caniuse-lite/data/features/sni.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/spdy.js b/node_modules/caniuse-lite/data/features/spdy.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/speech-recognition.js b/node_modules/caniuse-lite/data/features/speech-recognition.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/speech-synthesis.js b/node_modules/caniuse-lite/data/features/speech-synthesis.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/node_modules/caniuse-lite/data/features/spellcheck-attribute.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/sql-storage.js b/node_modules/caniuse-lite/data/features/sql-storage.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/srcset.js b/node_modules/caniuse-lite/data/features/srcset.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/stream.js b/node_modules/caniuse-lite/data/features/stream.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/streams.js b/node_modules/caniuse-lite/data/features/streams.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/node_modules/caniuse-lite/data/features/stricttransportsecurity.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/style-scoped.js b/node_modules/caniuse-lite/data/features/style-scoped.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/subresource-bundling.js b/node_modules/caniuse-lite/data/features/subresource-bundling.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/subresource-integrity.js b/node_modules/caniuse-lite/data/features/subresource-integrity.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-css.js b/node_modules/caniuse-lite/data/features/svg-css.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-filters.js b/node_modules/caniuse-lite/data/features/svg-filters.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-fonts.js b/node_modules/caniuse-lite/data/features/svg-fonts.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-fragment.js b/node_modules/caniuse-lite/data/features/svg-fragment.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-html.js b/node_modules/caniuse-lite/data/features/svg-html.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-html5.js b/node_modules/caniuse-lite/data/features/svg-html5.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-img.js b/node_modules/caniuse-lite/data/features/svg-img.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg-smil.js b/node_modules/caniuse-lite/data/features/svg-smil.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/svg.js b/node_modules/caniuse-lite/data/features/svg.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/sxg.js b/node_modules/caniuse-lite/data/features/sxg.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/tabindex-attr.js b/node_modules/caniuse-lite/data/features/tabindex-attr.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/template-literals.js b/node_modules/caniuse-lite/data/features/template-literals.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/template.js b/node_modules/caniuse-lite/data/features/template.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/temporal.js b/node_modules/caniuse-lite/data/features/temporal.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/testfeat.js b/node_modules/caniuse-lite/data/features/testfeat.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/text-decoration.js b/node_modules/caniuse-lite/data/features/text-decoration.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/text-emphasis.js b/node_modules/caniuse-lite/data/features/text-emphasis.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/text-overflow.js b/node_modules/caniuse-lite/data/features/text-overflow.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/text-size-adjust.js b/node_modules/caniuse-lite/data/features/text-size-adjust.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/text-stroke.js b/node_modules/caniuse-lite/data/features/text-stroke.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/textcontent.js b/node_modules/caniuse-lite/data/features/textcontent.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/textencoder.js b/node_modules/caniuse-lite/data/features/textencoder.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/tls1-1.js b/node_modules/caniuse-lite/data/features/tls1-1.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/tls1-2.js b/node_modules/caniuse-lite/data/features/tls1-2.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/tls1-3.js b/node_modules/caniuse-lite/data/features/tls1-3.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/touch.js b/node_modules/caniuse-lite/data/features/touch.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/transforms2d.js b/node_modules/caniuse-lite/data/features/transforms2d.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/transforms3d.js b/node_modules/caniuse-lite/data/features/transforms3d.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/trusted-types.js b/node_modules/caniuse-lite/data/features/trusted-types.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/ttf.js b/node_modules/caniuse-lite/data/features/ttf.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/typedarrays.js b/node_modules/caniuse-lite/data/features/typedarrays.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/u2f.js b/node_modules/caniuse-lite/data/features/u2f.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/unhandledrejection.js b/node_modules/caniuse-lite/data/features/unhandledrejection.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js b/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/url.js b/node_modules/caniuse-lite/data/features/url.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/urlsearchparams.js b/node_modules/caniuse-lite/data/features/urlsearchparams.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/use-strict.js b/node_modules/caniuse-lite/data/features/use-strict.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/user-select-none.js b/node_modules/caniuse-lite/data/features/user-select-none.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/user-timing.js b/node_modules/caniuse-lite/data/features/user-timing.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/variable-fonts.js b/node_modules/caniuse-lite/data/features/variable-fonts.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/vector-effect.js b/node_modules/caniuse-lite/data/features/vector-effect.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/vibration.js b/node_modules/caniuse-lite/data/features/vibration.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/video.js b/node_modules/caniuse-lite/data/features/video.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/videotracks.js b/node_modules/caniuse-lite/data/features/videotracks.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/view-transitions.js b/node_modules/caniuse-lite/data/features/view-transitions.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/viewport-unit-variants.js b/node_modules/caniuse-lite/data/features/viewport-unit-variants.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/viewport-units.js b/node_modules/caniuse-lite/data/features/viewport-units.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wai-aria.js b/node_modules/caniuse-lite/data/features/wai-aria.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wake-lock.js b/node_modules/caniuse-lite/data/features/wake-lock.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-bigint.js b/node_modules/caniuse-lite/data/features/wasm-bigint.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js b/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-extended-const.js b/node_modules/caniuse-lite/data/features/wasm-extended-const.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-gc.js b/node_modules/caniuse-lite/data/features/wasm-gc.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-multi-memory.js b/node_modules/caniuse-lite/data/features/wasm-multi-memory.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-multi-value.js b/node_modules/caniuse-lite/data/features/wasm-multi-value.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js b/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js b/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-reference-types.js b/node_modules/caniuse-lite/data/features/wasm-reference-types.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js b/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-signext.js b/node_modules/caniuse-lite/data/features/wasm-signext.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-simd.js b/node_modules/caniuse-lite/data/features/wasm-simd.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-tail-calls.js b/node_modules/caniuse-lite/data/features/wasm-tail-calls.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm-threads.js b/node_modules/caniuse-lite/data/features/wasm-threads.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wasm.js b/node_modules/caniuse-lite/data/features/wasm.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wav.js b/node_modules/caniuse-lite/data/features/wav.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wbr-element.js b/node_modules/caniuse-lite/data/features/wbr-element.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/web-animation.js b/node_modules/caniuse-lite/data/features/web-animation.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/web-app-manifest.js b/node_modules/caniuse-lite/data/features/web-app-manifest.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/web-bluetooth.js b/node_modules/caniuse-lite/data/features/web-bluetooth.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/web-serial.js b/node_modules/caniuse-lite/data/features/web-serial.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/web-share.js b/node_modules/caniuse-lite/data/features/web-share.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webauthn.js b/node_modules/caniuse-lite/data/features/webauthn.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webcodecs.js b/node_modules/caniuse-lite/data/features/webcodecs.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webgl.js b/node_modules/caniuse-lite/data/features/webgl.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webgl2.js b/node_modules/caniuse-lite/data/features/webgl2.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webgpu.js b/node_modules/caniuse-lite/data/features/webgpu.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webhid.js b/node_modules/caniuse-lite/data/features/webhid.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webkit-user-drag.js b/node_modules/caniuse-lite/data/features/webkit-user-drag.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webm.js b/node_modules/caniuse-lite/data/features/webm.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webnfc.js b/node_modules/caniuse-lite/data/features/webnfc.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webp.js b/node_modules/caniuse-lite/data/features/webp.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/websockets.js b/node_modules/caniuse-lite/data/features/websockets.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webtransport.js b/node_modules/caniuse-lite/data/features/webtransport.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webusb.js b/node_modules/caniuse-lite/data/features/webusb.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webvr.js b/node_modules/caniuse-lite/data/features/webvr.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webvtt.js b/node_modules/caniuse-lite/data/features/webvtt.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webworkers.js b/node_modules/caniuse-lite/data/features/webworkers.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/webxr.js b/node_modules/caniuse-lite/data/features/webxr.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/will-change.js b/node_modules/caniuse-lite/data/features/will-change.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/woff.js b/node_modules/caniuse-lite/data/features/woff.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/woff2.js b/node_modules/caniuse-lite/data/features/woff2.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/word-break.js b/node_modules/caniuse-lite/data/features/word-break.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/wordwrap.js b/node_modules/caniuse-lite/data/features/wordwrap.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/node_modules/caniuse-lite/data/features/x-doc-messaging.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/x-frame-options.js b/node_modules/caniuse-lite/data/features/x-frame-options.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/xhr2.js b/node_modules/caniuse-lite/data/features/xhr2.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/xhtml.js b/node_modules/caniuse-lite/data/features/xhtml.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/node_modules/caniuse-lite/data/features/xhtmlsmil.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/xml-serializer.js b/node_modules/caniuse-lite/data/features/xml-serializer.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/features/zstd.js b/node_modules/caniuse-lite/data/features/zstd.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/MU.js b/node_modules/caniuse-lite/data/regions/MU.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/MV.js b/node_modules/caniuse-lite/data/regions/MV.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/MW.js b/node_modules/caniuse-lite/data/regions/MW.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/MX.js b/node_modules/caniuse-lite/data/regions/MX.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/MY.js b/node_modules/caniuse-lite/data/regions/MY.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/MZ.js b/node_modules/caniuse-lite/data/regions/MZ.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NA.js b/node_modules/caniuse-lite/data/regions/NA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NC.js b/node_modules/caniuse-lite/data/regions/NC.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NE.js b/node_modules/caniuse-lite/data/regions/NE.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NF.js b/node_modules/caniuse-lite/data/regions/NF.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NG.js b/node_modules/caniuse-lite/data/regions/NG.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NI.js b/node_modules/caniuse-lite/data/regions/NI.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NL.js b/node_modules/caniuse-lite/data/regions/NL.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NO.js b/node_modules/caniuse-lite/data/regions/NO.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NP.js b/node_modules/caniuse-lite/data/regions/NP.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NR.js b/node_modules/caniuse-lite/data/regions/NR.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NU.js b/node_modules/caniuse-lite/data/regions/NU.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/NZ.js b/node_modules/caniuse-lite/data/regions/NZ.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/OM.js b/node_modules/caniuse-lite/data/regions/OM.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PA.js b/node_modules/caniuse-lite/data/regions/PA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PE.js b/node_modules/caniuse-lite/data/regions/PE.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PF.js b/node_modules/caniuse-lite/data/regions/PF.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PG.js b/node_modules/caniuse-lite/data/regions/PG.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PH.js b/node_modules/caniuse-lite/data/regions/PH.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PK.js b/node_modules/caniuse-lite/data/regions/PK.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PL.js b/node_modules/caniuse-lite/data/regions/PL.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PM.js b/node_modules/caniuse-lite/data/regions/PM.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PN.js b/node_modules/caniuse-lite/data/regions/PN.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PR.js b/node_modules/caniuse-lite/data/regions/PR.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PS.js b/node_modules/caniuse-lite/data/regions/PS.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PT.js b/node_modules/caniuse-lite/data/regions/PT.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PW.js b/node_modules/caniuse-lite/data/regions/PW.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/PY.js b/node_modules/caniuse-lite/data/regions/PY.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/QA.js b/node_modules/caniuse-lite/data/regions/QA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/RE.js b/node_modules/caniuse-lite/data/regions/RE.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/RO.js b/node_modules/caniuse-lite/data/regions/RO.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/RS.js b/node_modules/caniuse-lite/data/regions/RS.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/RU.js b/node_modules/caniuse-lite/data/regions/RU.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/RW.js b/node_modules/caniuse-lite/data/regions/RW.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SA.js b/node_modules/caniuse-lite/data/regions/SA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SB.js b/node_modules/caniuse-lite/data/regions/SB.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SC.js b/node_modules/caniuse-lite/data/regions/SC.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SD.js b/node_modules/caniuse-lite/data/regions/SD.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SE.js b/node_modules/caniuse-lite/data/regions/SE.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SG.js b/node_modules/caniuse-lite/data/regions/SG.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SH.js b/node_modules/caniuse-lite/data/regions/SH.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SI.js b/node_modules/caniuse-lite/data/regions/SI.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SK.js b/node_modules/caniuse-lite/data/regions/SK.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SL.js b/node_modules/caniuse-lite/data/regions/SL.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SM.js b/node_modules/caniuse-lite/data/regions/SM.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SN.js b/node_modules/caniuse-lite/data/regions/SN.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SO.js b/node_modules/caniuse-lite/data/regions/SO.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SR.js b/node_modules/caniuse-lite/data/regions/SR.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/ST.js b/node_modules/caniuse-lite/data/regions/ST.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SV.js b/node_modules/caniuse-lite/data/regions/SV.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SY.js b/node_modules/caniuse-lite/data/regions/SY.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/SZ.js b/node_modules/caniuse-lite/data/regions/SZ.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TC.js b/node_modules/caniuse-lite/data/regions/TC.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TD.js b/node_modules/caniuse-lite/data/regions/TD.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TG.js b/node_modules/caniuse-lite/data/regions/TG.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TH.js b/node_modules/caniuse-lite/data/regions/TH.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TJ.js b/node_modules/caniuse-lite/data/regions/TJ.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TL.js b/node_modules/caniuse-lite/data/regions/TL.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TM.js b/node_modules/caniuse-lite/data/regions/TM.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TN.js b/node_modules/caniuse-lite/data/regions/TN.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TO.js b/node_modules/caniuse-lite/data/regions/TO.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TR.js b/node_modules/caniuse-lite/data/regions/TR.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TT.js b/node_modules/caniuse-lite/data/regions/TT.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TV.js b/node_modules/caniuse-lite/data/regions/TV.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TW.js b/node_modules/caniuse-lite/data/regions/TW.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/TZ.js b/node_modules/caniuse-lite/data/regions/TZ.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/UA.js b/node_modules/caniuse-lite/data/regions/UA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/UG.js b/node_modules/caniuse-lite/data/regions/UG.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/US.js b/node_modules/caniuse-lite/data/regions/US.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/UY.js b/node_modules/caniuse-lite/data/regions/UY.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/UZ.js b/node_modules/caniuse-lite/data/regions/UZ.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VA.js b/node_modules/caniuse-lite/data/regions/VA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VC.js b/node_modules/caniuse-lite/data/regions/VC.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VE.js b/node_modules/caniuse-lite/data/regions/VE.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VG.js b/node_modules/caniuse-lite/data/regions/VG.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VI.js b/node_modules/caniuse-lite/data/regions/VI.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VN.js b/node_modules/caniuse-lite/data/regions/VN.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/VU.js b/node_modules/caniuse-lite/data/regions/VU.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/WF.js b/node_modules/caniuse-lite/data/regions/WF.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/WS.js b/node_modules/caniuse-lite/data/regions/WS.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/YE.js b/node_modules/caniuse-lite/data/regions/YE.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/YT.js b/node_modules/caniuse-lite/data/regions/YT.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/ZA.js b/node_modules/caniuse-lite/data/regions/ZA.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/ZM.js b/node_modules/caniuse-lite/data/regions/ZM.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/data/regions/ZW.js b/node_modules/caniuse-lite/data/regions/ZW.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/dist/lib/statuses.js b/node_modules/caniuse-lite/dist/lib/statuses.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/dist/lib/supported.js b/node_modules/caniuse-lite/dist/lib/supported.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/dist/unpacker/region.js b/node_modules/caniuse-lite/dist/unpacker/region.js old mode 100644 new mode 100755 diff --git a/node_modules/caniuse-lite/package.json b/node_modules/caniuse-lite/package.json old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/README.md b/node_modules/node-forge/README.md old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/dist/forge.all.min.js b/node_modules/node-forge/dist/forge.all.min.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/dist/forge.all.min.js.map b/node_modules/node-forge/dist/forge.all.min.js.map old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/dist/forge.min.js b/node_modules/node-forge/dist/forge.min.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/dist/forge.min.js.map b/node_modules/node-forge/dist/forge.min.js.map old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/dist/prime.worker.min.js b/node_modules/node-forge/dist/prime.worker.min.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/dist/prime.worker.min.js.map b/node_modules/node-forge/dist/prime.worker.min.js.map old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/des.js b/node_modules/node-forge/lib/des.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/ed25519.js b/node_modules/node-forge/lib/ed25519.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/forge.js b/node_modules/node-forge/lib/forge.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/form.js b/node_modules/node-forge/lib/form.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/hmac.js b/node_modules/node-forge/lib/hmac.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/http.js b/node_modules/node-forge/lib/http.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/index.all.js b/node_modules/node-forge/lib/index.all.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/index.js b/node_modules/node-forge/lib/index.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/jsbn.js b/node_modules/node-forge/lib/jsbn.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/kem.js b/node_modules/node-forge/lib/kem.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/log.js b/node_modules/node-forge/lib/log.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/md.all.js b/node_modules/node-forge/lib/md.all.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/md.js b/node_modules/node-forge/lib/md.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/md5.js b/node_modules/node-forge/lib/md5.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/mgf.js b/node_modules/node-forge/lib/mgf.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/mgf1.js b/node_modules/node-forge/lib/mgf1.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/oids.js b/node_modules/node-forge/lib/oids.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pbe.js b/node_modules/node-forge/lib/pbe.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pbkdf2.js b/node_modules/node-forge/lib/pbkdf2.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pem.js b/node_modules/node-forge/lib/pem.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pkcs1.js b/node_modules/node-forge/lib/pkcs1.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pkcs12.js b/node_modules/node-forge/lib/pkcs12.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pkcs7.js b/node_modules/node-forge/lib/pkcs7.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pkcs7asn1.js b/node_modules/node-forge/lib/pkcs7asn1.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pki.js b/node_modules/node-forge/lib/pki.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/prime.js b/node_modules/node-forge/lib/prime.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/prime.worker.js b/node_modules/node-forge/lib/prime.worker.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/prng.js b/node_modules/node-forge/lib/prng.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/pss.js b/node_modules/node-forge/lib/pss.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/random.js b/node_modules/node-forge/lib/random.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/rc2.js b/node_modules/node-forge/lib/rc2.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/rsa.js b/node_modules/node-forge/lib/rsa.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/sha1.js b/node_modules/node-forge/lib/sha1.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/sha256.js b/node_modules/node-forge/lib/sha256.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/sha512.js b/node_modules/node-forge/lib/sha512.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/socket.js b/node_modules/node-forge/lib/socket.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/ssh.js b/node_modules/node-forge/lib/ssh.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/tls.js b/node_modules/node-forge/lib/tls.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/tlssocket.js b/node_modules/node-forge/lib/tlssocket.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/util.js b/node_modules/node-forge/lib/util.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/x509.js b/node_modules/node-forge/lib/x509.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/lib/xhr.js b/node_modules/node-forge/lib/xhr.js old mode 100644 new mode 100755 diff --git a/node_modules/node-forge/package.json b/node_modules/node-forge/package.json old mode 100644 new mode 100755 diff --git a/node_modules/raw-body/LICENSE b/node_modules/raw-body/LICENSE old mode 100644 new mode 100755 diff --git a/node_modules/raw-body/README.md b/node_modules/raw-body/README.md old mode 100644 new mode 100755 diff --git a/node_modules/raw-body/index.d.ts b/node_modules/raw-body/index.d.ts old mode 100644 new mode 100755 diff --git a/node_modules/raw-body/index.js b/node_modules/raw-body/index.js old mode 100644 new mode 100755 diff --git a/node_modules/raw-body/package.json b/node_modules/raw-body/package.json old mode 100644 new mode 100755