diff --git a/.github/workflows/TestPWTCommands.yml b/.github/workflows/TestPWTCommands.yml index 4e01e749..65c3c8f6 100644 --- a/.github/workflows/TestPWTCommands.yml +++ b/.github/workflows/TestPWTCommands.yml @@ -2,7 +2,7 @@ name: Script tests on: push: - branches: + branches: - master paths: - 'pnpm-lock.yaml' @@ -24,7 +24,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node: [16, 18] + node: [18, 20] os: [windows-latest, ubuntu-latest] steps: - name: "Checking-out code" @@ -42,6 +42,11 @@ jobs: if: matrix.node == 18 with: version: 10 + - name: Setup pnpm + uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda #v4.1.0 + if: matrix.node == 20 + with: + version: 10 - name: "Defining node version" uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 diff --git a/packages/command-tests/commands.js b/packages/command-tests/commands.js index 2254e722..e4f02a34 100644 --- a/packages/command-tests/commands.js +++ b/packages/command-tests/commands.js @@ -14,12 +14,12 @@ const LIMIT_TESTS = !!process.env.LIMIT_TESTS; const PARALLELISM = 4; const CONFIGS = [ - ["web", "full", "ts", "8.0"], - ["native", "full", "ts", "8.6"], - ["web", "full", "ts", "8.6"], - ["web", "full", "js", "8.7"], - ["web", "full", "ts", "8.9"], - ["native", "full", "ts", "8.9"], + // ["web", "full", "ts", "8.0"], + // ["native", "full", "ts", "8.6"], + // ["web", "full", "ts", "8.6"], + // ["web", "full", "js", "8.7"], + // ["web", "full", "ts", "8.9"], + // ["native", "full", "ts", "8.9"], ["web", "full", "js", "latest"], ["web", "full", "ts", "latest"], ["native", "full", "js", "latest"], @@ -376,14 +376,15 @@ async function execFailedAsync(command, workDir) { function fixPackageJson(json) { const devDependencies = { "@types/jest": "^29.0.0", - "@types/react": "~18.2.0", - "@types/react-native": "~0.72.0", - "@types/react-dom": "~18.2.0", + "@types/react": "^19.0.0", + "@types/react-native": "0.78.2", + "@types/react-dom": "^19.0.0", "@types/react-test-renderer": "~18.0.0" }; const overrides = { - react: "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "0.78.2" }; Object.keys(devDependencies) diff --git a/packages/command-tests/package.json b/packages/command-tests/package.json index ecdedb4e..1725d5ea 100644 --- a/packages/command-tests/package.json +++ b/packages/command-tests/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@prettier/plugin-xml": "^2.2.0", "@types/jest-image-snapshot": "^4.3.1", - "@types/node": "^16.11.19", + "@types/node": "^18.0.0", "@types/node-fetch": "2.6.1", "@types/shelljs": "^0.8.9", "@types/xml2js": "^0.4.5", diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/.eslintrc.js b/packages/command-tests/projects/generated_8_0_ts_web_full/.eslintrc.js deleted file mode 100644 index ddae1632..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/eslint.ts.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/LICENSE b/packages/command-tests/projects/generated_8_0_ts_web_full/LICENSE deleted file mode 100644 index 59855fb5..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The Apache License v2.0 - -Copyright Mendix 2019 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/README.md b/packages/command-tests/projects/generated_8_0_ts_web_full/README.md deleted file mode 100644 index a223ce9b..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Generated -[My widget description] - -## Features -[feature highlights] - -## Usage -[step by step instructions] - -## Demo project -[link to sandbox] - -## Issues, suggestions and feature requests -[link to GitHub issues] - -## Development and contribution -[specify contribute] diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/package.json b/packages/command-tests/projects/generated_8_0_ts_web_full/package.json deleted file mode 100644 index 6b48af8a..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "generated_8_0_ts", - "widgetName": "Generated", - "version": "1.0.0", - "description": "My widget description", - "copyright": "Mendix 2019", - "author": "John", - "config": { - "widgetPath": "./dist/MxTestProject/widgets", - "projectPath": "./dist/MxTestProject/", - "mendixHost": "http://localhost:8080", - "developmentPort": "3000" - }, - "packagePath": "mendix", - "scripts": { - "start": "concurrently \"pluggable-widgets-tools start:server\" \"npm:dev\"", - "dev": "pluggable-widgets-tools start:ts", - "build": "pluggable-widgets-tools build:ts", - "lint": "pluggable-widgets-tools lint", - "lint:fix": "pluggable-widgets-tools lint:fix", - "pretest": "npm run lint && npm run build", - "test": "pluggable-widgets-tools test:unit --no-cache --ci", - "test:unit": "pluggable-widgets-tools test:unit --coverage", - "prerelease": "npm run lint", - "release": "pluggable-widgets-tools release:ts" - }, - "license": "Apache-2.0", - "devDependencies": { - "@mendix/pluggable-widgets-tools": "^8.0.4", - "@types/big.js": "^4.0.5", - "@types/classnames": "^2.2.4", - "@types/webdriverio": "^4.13.0", - "@types/enzyme": "^3.1.10", - "@types/enzyme-adapter-react-16": "^1.0.2", - "@types/jest": "^24.0.0", - "@types/react": "^16.8.17", - "@types/react-dom": "^16.8.4", - "@types/react-test-renderer": "^16.8.1" - }, - "dependencies": { - "big.js": "^5.2.2", - "classnames": "^2.2.6" - } -} diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/prettier.config.js b/packages/command-tests/projects/generated_8_0_ts_web_full/prettier.config.js deleted file mode 100644 index fea5f6ac..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/prettier.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/prettier.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.tsx b/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.tsx deleted file mode 100644 index 7fd5acf3..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; - -import { GeneratedContainerProps } from "../typings/GeneratedProps"; -import { BadgeSample } from "./components/BadgeSample"; -import "./ui/Generated.css"; - -export default class Generated extends Component { - private readonly onClickHandler = this.onClick.bind(this); - - render(): ReactNode { - return ( - - - ); - } - - private onClick(): void { - if (this.props.onClickAction && this.props.onClickAction.canExecute) { - this.props.onClickAction.execute(); - } - } -} diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.webmodeler.tsx b/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.webmodeler.tsx deleted file mode 100644 index 5e473b2f..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.webmodeler.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { BadgeSample, BadgeSampleProps } from "./components/BadgeSample"; -import { GeneratedPreviewProps } from "../typings/GeneratedProps"; - -declare function require(name: string): string; - -export class preview extends Component { - render(): ReactNode { - return ( -
- -
- ); - } - - private parentInline(node?: HTMLElement | null): void { - // Temporary fix, the web modeler add a containing div, to render inline we need to change it. - if (node && node.parentElement && node.parentElement.parentElement) { - node.parentElement.parentElement.style.display = "inline-block"; - } - } - - private transformProps(props: GeneratedPreviewProps): BadgeSampleProps { - return { - type: props.generatedType, - bootstrapStyle: props.bootstrapStyle, - className: props.className, // BREAKING CHANGE OF 9.0 - clickable: false, - style: undefined, // props.style, BREAKING CHANGE OF 8.6 (?) - defaultValue: props.generatedValue ? props.generatedValue : "", - value: props.valueAttribute - }; - } -} - -export function getPreviewCss(): string { - return require("./ui/Generated.css"); -} diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.xml b/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.xml deleted file mode 100644 index 19437738..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/Generated.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - Generated - My widget description - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABp1BMVEUAAABV//9mzP9LtP9Ms/9Jtv9NsvdJsfpLtPpJsfdJsfhJsvhJsvdKsvdJsPhKsPhJsfdJsPhJsfdIsfhJsfdIsPdJsfhJsfhJsPhJsPhIsfhIsPdJsPdKsPdKsfdNsvdOsvdPs/dQs/dRtPdStPdTtPdUtfdWtvdXtvdauPdcuPdeufdeufhguvhiu/hju/hkvPhmvfhnvfhpvvhrv/huwPhvwfhxwfhywvhzwvh4xfl5xfl6xfl8xvl9xvl9x/mByPmCyfmFyvmGyvmJzPmKzPmLzfmNzvqPzvqQz/qT0PqU0PqU0fqX0vqY0vqa0/qe1fqg1vqj1/uk1/un2fup2vut2/uv3Puw3Puw3fuz3vu13/u23/u34Pu44Pu64fu64fy84vy94vy+4/y/4/zD5fzE5fzG5vzH5vzI5/zK6PzL6PzR6/zT7P3U7P3V7f3W7f3Y7v3Z7v3c8P3e8f3f8f3g8f3i8v3l8/3l9P3n9P3r9v7t9/7u9/7v+P7w+P7x+f7y+f70+v71+v74/P75/P76/f77/f78/f78/v79/v7+/v7////6dMsRAAAAG3RSTlMAAwURGxwhMTNic3SEh4iVp7XBzejt7vH5/f6PsMNWAAABsklEQVR4AWIYfGAUjIJRMAqYuYREJKWJAqLCPGwY+jnFpEkBEryMqPr5pEkFgkwo9kuTDviR/S9GhgFSHAgDuKXJAQIIA4TIMkAcEY4i0mQBVrgBkuQZwA43QJo8wIFhQEhEOIBQOutHJozDOP5Crp4e1RhkJ0tKGJFd6oNEdtmJyEIzpaZl5nrRZgaHM/2Pf5/vwXXfyagXgG93bwSAlEolowLMm9w83gibhXH2gKKVdD67gTnWjwCk+VVjMQS4suSnnjMLRVFc9sAHvAX2A9fySaXNBMbEZVUWscaHIMRuqwBgD8hDEbnsRmfjUKJkAQZGCTlO/xWBwIADQLIZBlY441MvfoF1xlFS/4fy+bzXKh4dgNJE7L3eh3tmtuWa+AMcMIY3dgUvZQpGEYmMw2kD7HC+R29UqyoXLaBd0QZxzgXgikLLDSqJTKU5HOcS0MsbA9jPqtwCRvXm2eorBbNIJBw3KJ9O4Yl+AAXdnyaLt7PWN3jRWLvzmAVp94zO5+n41/onfo/UpExxZqI0O7NQr0DhIq9Io7hQpbRYp7hiobRqo6ByFcNWuY6CUTAKRgEAo8X0lBD3V30AAAAASUVORK5CYII= - - - - Value attribute - General - The attribute that contains the generated value - - - - - - - - - - Default value - General - The generated value shown when no value is provided via the attribute - - - Generated style - Display - The appearance of the generated - - Default - Primary - Success - Info - Inverse - Warning - Danger - - - - Type - Display - Render it as either a badge or a color label - - Badge - Label - - - - On click action - Events - Action to trigger when button / label is clicked - - - diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/Alert.tsx b/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/Alert.tsx deleted file mode 100644 index 5d28aa8f..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/Alert.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { FunctionComponent, createElement } from "react"; -import classNames from "classnames"; - -export interface AlertProps { - message?: string; - className?: string; - bootstrapStyle: "default" | "primary" | "success" | "info" | "inverse" | "warning" | "danger"; -} - -export const Alert: FunctionComponent = (props) => - props.message - ? (
{props.message}
) - : null; - -Alert.displayName = "Alert"; diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/BadgeSample.tsx b/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/BadgeSample.tsx deleted file mode 100644 index 8be0ec7b..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/BadgeSample.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import classNames from "classnames"; - -export interface BadgeSampleProps { - type: "badge" | "label"; - defaultValue?: string; - className?: string; - style?: object; - value?: string; - bootstrapStyle?: BootstrapStyle; - clickable?: boolean; - onClickAction?: () => void; - getRef?: (node: HTMLElement) => void; -} - -export type BootstrapStyle = "default" | "info" | "inverse" | "primary" | "danger" | "success" | "warning"; - -export class BadgeSample extends Component { - render(): ReactNode { - return ( - {this.props.value || this.props.defaultValue} - ); - } -} diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/__tests__/Alert.spec.tsx b/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/__tests__/Alert.spec.tsx deleted file mode 100644 index 35d240cf..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/__tests__/Alert.spec.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { Alert } from "../Alert"; - -describe("Alert", () => { - it("renders the structure when an alert message is specified", () => { - const message = "This is an error"; - const alert = shallow(); - - expect(alert.equals( -
{message}
- )).toEqual(true); - }); - - it("renders no structure when the alert message is not specified", () => { - const alert = shallow(); - - expect(alert.isEmptyRender()).toEqual(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx b/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx deleted file mode 100644 index 6023ef6f..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { BadgeSample, BadgeSampleProps } from "../BadgeSample"; - -describe("Badge", () => { - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type - const createBadge = (props: BadgeSampleProps) => shallow(); - - it("should render the structure", () => { - const badgeProps: BadgeSampleProps = { - type: "badge", - bootstrapStyle: "default", - value: "0" - }; - const badge = createBadge(badgeProps); - - expect( - badge.equals( - 0 - ) - ).toEqual(true); - }); - - it("should show value when no value or default value provided", () => { - const value = "value"; - const badge = createBadge({ type: "label", value, defaultValue: "default value" }); - - expect(badge.text()).toBe(value); - }); - - it("should show default value when no value is provided", () => { - const defaultValue = "default"; - const badge = createBadge({ type: "label", value: undefined, defaultValue }); - - expect(badge.text()).toBe(defaultValue); - }); - - it("should show no value when no value or default value provided", () => { - const badge = createBadge({ type: "label", value: undefined }); - - expect(badge.text()).toBe(""); - }); - - it("configured as a label should have the class label", () => { - const badge = createBadge({ type: "label" }); - - expect(badge.hasClass("label")).toBe(true); - }); - - it("configured as a badge should have the class badge", () => { - const badge = createBadge({ type: "badge" }); - - expect(badge.hasClass("badge")).toBe(true); - }); - - it("with a click action should respond to click events", () => { - const badgeProps: BadgeSampleProps = { onClickAction: jasmine.createSpy("onClick"), type: "badge" }; - const onClick = badgeProps.onClickAction = jasmine.createSpy("onClick"); - const badge = createBadge(badgeProps); - - badge.simulate("click"); - - expect(onClick).toHaveBeenCalledTimes(1); - }); - - it("with the Bootstrap style default should have the class label-default", () => { - const badge = createBadge({ bootstrapStyle: "default", type: "badge" }); - - expect(badge.hasClass("label-default")).toBe(true); - }); - - it("with the Bootstrap style primary should have the class label-primary", () => { - const badge = createBadge({ bootstrapStyle: "primary", type: "badge" }); - - expect(badge.hasClass("label-primary")).toBe(true); - }); - - it("with the Bootstrap style success should have the class label-success", () => { - const badge = createBadge({ bootstrapStyle: "success", type: "badge" }); - - expect(badge.hasClass("label-success")).toBe(true); - }); - - it("with the Bootstrap style info should have the class label-info", () => { - const badge = createBadge({ bootstrapStyle: "info", type: "badge" }); - - expect(badge.hasClass("label-info")).toBe(true); - }); - - it("with the Bootstrap style warning should have the class label-warning", () => { - const badge = createBadge({ bootstrapStyle: "warning", type: "badge" }); - - expect(badge.hasClass("label-warning")).toBe(true); - }); - - it("with the Bootstrap style danger should have the class label-danger", () => { - const badge = createBadge({ bootstrapStyle: "danger", type: "badge" }); - - expect(badge.hasClass("label-danger")).toBe(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/package.xml b/packages/command-tests/projects/generated_8_0_ts_web_full/src/package.xml deleted file mode 100644 index 6c9abc88..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/src/ui/Generated.css b/packages/command-tests/projects/generated_8_0_ts_web_full/src/ui/Generated.css deleted file mode 100644 index 1cd78db4..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/src/ui/Generated.css +++ /dev/null @@ -1,24 +0,0 @@ -.widget-generated-clickable { - cursor: pointer; -} - -.widget-generated { - display: inline-block; -} - -.widget-generated.badge:empty { - display: initial; - /* Fix padding to stay round */ - padding: 3px 10px; -} - -.widget-generated.label:empty { - display: initial; - /* Fix padding to stay square */ - padding: .2em .8em .3em; -} - -.widget-generated.badge { - min-width: 18px; - min-height: 18px; -} diff --git a/packages/command-tests/projects/generated_8_0_ts_web_full/tsconfig.json b/packages/command-tests/projects/generated_8_0_ts_web_full/tsconfig.json deleted file mode 100644 index 35baf90f..00000000 --- a/packages/command-tests/projects/generated_8_0_ts_web_full/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/@mendix/pluggable-widgets-tools/configs/tsconfig.base.json" -} diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/.eslintrc.js b/packages/command-tests/projects/generated_8_6_ts_native_full/.eslintrc.js deleted file mode 100644 index ddae1632..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/eslint.ts.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/.gitattributes b/packages/command-tests/projects/generated_8_6_ts_native_full/.gitattributes deleted file mode 100644 index 0cb70e40..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/.gitattributes +++ /dev/null @@ -1,15 +0,0 @@ -* text=auto -*.ts text eol=lf -*.tsx text eol=lf -*.js text eol=lf -*.jsx text eol=lf -*.css text eol=lf -*.scss text eol=lf -*.json text eol=lf -*.xml text eol=lf -*.md text eol=lf -*.gitattributes eol=lf -*.gitignore eol=lf -*.png binary -*.jpg binary -*.gif binary diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/.gitignore b/packages/command-tests/projects/generated_8_6_ts_native_full/.gitignore deleted file mode 100644 index 532113ec..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -dist/ -node_modules/ -*.log -.env diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/LICENSE b/packages/command-tests/projects/generated_8_6_ts_native_full/LICENSE deleted file mode 100644 index 59855fb5..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The Apache License v2.0 - -Copyright Mendix 2019 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/README.md b/packages/command-tests/projects/generated_8_6_ts_native_full/README.md deleted file mode 100644 index 57d03844..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Generated -[] - -## Features -[feature highlights] - -## Usage -[step by step instructions] - -## Demo project -[link to sandbox] - -## Issues, suggestions and feature requests -[link to GitHub issues] - -## Development and contribution -[specify contribute] diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/package.json b/packages/command-tests/projects/generated_8_6_ts_native_full/package.json deleted file mode 100644 index 594798e5..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "generated_8_6_ts_nat", - "widgetName": "Generated", - "version": "1.0.0", - "description": "", - "copyright": "Mendix 2019", - "author": "John", - "config": { - "widgetPath": "./dist/MxTestProject/widgets", - "projectPath": "./dist/MxTestProject/" - }, - "packagePath": "mendix", - "scripts": { - "start": "npm run dev", - "build": "pluggable-widgets-tools build:ts:native", - "dev": "pluggable-widgets-tools start:ts:native", - "lint": "pluggable-widgets-tools lint", - "lint:fix": "pluggable-widgets-tools lint:fix", - "pretest": "npm run lint && npm run build", - "test": "pluggable-widgets-tools test:unit:native --no-cache --ci", - "test:unit": "pluggable-widgets-tools test:unit:native --coverage", - "prerelease": "npm run lint", - "release": "pluggable-widgets-tools release:ts:native" - }, - "jest-junit": { - "output": "./dist/testresults/TESTS-Jest.xml" - }, - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/John/generated_8_6_ts_nat/issues" - }, - "devDependencies": { - "@mendix/pluggable-widgets-tools": "~8.6.0", - "@types/big.js": "^4.0.5", - "@types/classnames": "^2.2.6", - "@types/enzyme": "^3.1.14", - "@types/jest": "^24.0.0", - "@types/react": "^16.8.17", - "@types/react-dom": "^16.8.4", - "@types/react-native": "^0.57.56" - }, - "dependencies": { - "big.js": "^5.2.2" - } -} diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/prettier.config.js b/packages/command-tests/projects/generated_8_6_ts_native_full/prettier.config.js deleted file mode 100644 index fea5f6ac..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/prettier.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/prettier.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/Generated.tsx b/packages/command-tests/projects/generated_8_6_ts_native_full/src/Generated.tsx deleted file mode 100644 index d2417833..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/Generated.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { TextStyle, ViewStyle } from "react-native"; -import { BadgeSample } from "./components/BadgeSample"; -import { GeneratedProps } from "../typings/GeneratedProps"; -import { Style } from "./utils/common"; - -export interface BadgeStyle extends Style { - container: ViewStyle; - badge: ViewStyle; - label: TextStyle; -} - -export class Generated extends Component> { - private readonly onClickHandler = this.onClick.bind(this); - - render(): ReactNode { - return ( - - ); - } - - private onClick(): void { - if (this.props.onClickAction) { - this.props.onClickAction.execute(); - } - } -} diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/Generated.xml b/packages/command-tests/projects/generated_8_6_ts_native_full/src/Generated.xml deleted file mode 100644 index d5b70c1e..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/Generated.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Generated - - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABp1BMVEUAAABV//9mzP9LtP9Ms/9Jtv9NsvdJsfpLtPpJsfdJsfhJsvhJsvdKsvdJsPhKsPhJsfdJsPhJsfdIsfhJsfdIsPdJsfhJsfhJsPhJsPhIsfhIsPdJsPdKsPdKsfdNsvdOsvdPs/dQs/dRtPdStPdTtPdUtfdWtvdXtvdauPdcuPdeufdeufhguvhiu/hju/hkvPhmvfhnvfhpvvhrv/huwPhvwfhxwfhywvhzwvh4xfl5xfl6xfl8xvl9xvl9x/mByPmCyfmFyvmGyvmJzPmKzPmLzfmNzvqPzvqQz/qT0PqU0PqU0fqX0vqY0vqa0/qe1fqg1vqj1/uk1/un2fup2vut2/uv3Puw3Puw3fuz3vu13/u23/u34Pu44Pu64fu64fy84vy94vy+4/y/4/zD5fzE5fzG5vzH5vzI5/zK6PzL6PzR6/zT7P3U7P3V7f3W7f3Y7v3Z7v3c8P3e8f3f8f3g8f3i8v3l8/3l9P3n9P3r9v7t9/7u9/7v+P7w+P7x+f7y+f70+v71+v74/P75/P76/f77/f78/f78/v79/v7+/v7////6dMsRAAAAG3RSTlMAAwURGxwhMTNic3SEh4iVp7XBzejt7vH5/f6PsMNWAAABsklEQVR4AWIYfGAUjIJRMAqYuYREJKWJAqLCPGwY+jnFpEkBEryMqPr5pEkFgkwo9kuTDviR/S9GhgFSHAgDuKXJAQIIA4TIMkAcEY4i0mQBVrgBkuQZwA43QJo8wIFhQEhEOIBQOutHJozDOP5Crp4e1RhkJ0tKGJFd6oNEdtmJyEIzpaZl5nrRZgaHM/2Pf5/vwXXfyagXgG93bwSAlEolowLMm9w83gibhXH2gKKVdD67gTnWjwCk+VVjMQS4suSnnjMLRVFc9sAHvAX2A9fySaXNBMbEZVUWscaHIMRuqwBgD8hDEbnsRmfjUKJkAQZGCTlO/xWBwIADQLIZBlY441MvfoF1xlFS/4fy+bzXKh4dgNJE7L3eh3tmtuWa+AMcMIY3dgUvZQpGEYmMw2kD7HC+R29UqyoXLaBd0QZxzgXgikLLDSqJTKU5HOcS0MsbA9jPqtwCRvXm2eorBbNIJBw3KJ9O4Yl+AAXdnyaLt7PWN3jRWLvzmAVp94zO5+n41/onfo/UpExxZqI0O7NQr0DhIq9Io7hQpbRYp7hiobRqo6ByFcNWuY6CUTAKRgEAo8X0lBD3V30AAAAASUVORK5CYII= - - - - - Value attribute - The attribute that contains the generated value - - - - - - - - - - - - On click action - Action to trigger when button / label is clicked - - - - diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/components/BadgeSample.tsx b/packages/command-tests/projects/generated_8_6_ts_native_full/src/components/BadgeSample.tsx deleted file mode 100644 index 966e577f..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/components/BadgeSample.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { Platform, Text, TouchableNativeFeedback, TouchableOpacity, View } from "react-native"; -import { BadgeStyle } from "../Generated"; -import { styles } from "../ui/styles"; -import { flattenStyles } from "../utils/common"; - -export interface BadgeSampleProps { - value?: string; - style: BadgeStyle[]; - onClickAction?: () => void; -} - -const defaultBadgeStyle: BadgeStyle = { - container: styles.flex, - badge: styles.badge, - label: styles.label -}; - -export class BadgeSample extends Component { - private readonly styles = flattenStyles(defaultBadgeStyle, this.props.style); - - render(): ReactNode { - const isAndroid = Platform.OS === "android"; - - return ( - - {isAndroid ? ( - - {this.props.value} - - ) : ( - - {this.props.value} - - ) - } - - ); - } -} diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/components/__tests__/BadgeSample.spec.tsx b/packages/command-tests/projects/generated_8_6_ts_native_full/src/components/__tests__/BadgeSample.spec.tsx deleted file mode 100644 index 735de7d6..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/components/__tests__/BadgeSample.spec.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; -import { Platform, TouchableNativeFeedback, TouchableOpacity } from "react-native"; -import { BadgeSample, BadgeSampleProps } from "../BadgeSample"; - -describe("Badge", () => { - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type - const createBadge = (props: BadgeSampleProps): any => shallow(); - - it("it renders the structure correctly", () => { - const badgeProps: BadgeSampleProps = { - style: [{ container: { display: "flex" }, badge: { borderColor: "white" }, label: { color: "black" } }], - onClickAction: jasmine.createSpy("onPress"), - value: "0" - }; - const badge = createBadge(badgeProps); - - expect(badge).toMatchSnapshot(); - }); - - describe("for iOS", () => { - beforeEach(() => { - Platform.OS = "ios"; - Platform.select = jest.fn((dict: any) => dict[Platform.OS]); - }); - - it("it renders the structure correctly", () => { - const badgeProps: BadgeSampleProps = { - style: [], - onClickAction: jasmine.createSpy("onPress"), - value: "0" - }; - const badge = createBadge(badgeProps); - - expect(badge).toMatchSnapshot(); - }); - }); - - describe("when pressed", () => { - it("triggers the onPress event", () => { - const badgeProps: BadgeSampleProps = { - style: [], - onClickAction: jasmine.createSpy("onPress"), - value: "0" - }; - const badge = createBadge(badgeProps); - - const Touchable = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity; - - expect(badge.children() - .find(Touchable)).not.toBeNull(); - - badge.children().simulate("press"); - - expect(badgeProps.onClickAction).toHaveBeenCalled(); - - }); - }); - -}); diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/package.xml b/packages/command-tests/projects/generated_8_6_ts_native_full/src/package.xml deleted file mode 100644 index 6c9abc88..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/ui/styles.ts b/packages/command-tests/projects/generated_8_6_ts_native_full/src/ui/styles.ts deleted file mode 100644 index 28524486..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/ui/styles.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { StyleSheet } from "react-native"; - -export const styles: any = StyleSheet.create({ - flex: { - flexDirection: "row" - }, - badge: { - borderRadius: 30, - paddingLeft: 10, - paddingRight: 10, - paddingTop: 5, - paddingBottom: 5, - backgroundColor: "#D9534F" - }, - label: { - textAlign: "center", - fontSize: 15, - fontWeight: "bold", - color: "#FFFFFF" - } -}); diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/src/utils/common.ts b/packages/command-tests/projects/generated_8_6_ts_native_full/src/utils/common.ts deleted file mode 100644 index 9b43bbf2..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/src/utils/common.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ImageStyle, TextStyle, ViewStyle } from "react-native"; - -interface CustomStyle { - [key: string]: string | number; -} - -export interface Style { - [key: string]: CustomStyle | ViewStyle | TextStyle | ImageStyle; -} - -export function flattenStyles(defaultStyle: T, overrideStyles: Array<(T | undefined)>): T { - const styles = [defaultStyle, ...overrideStyles.filter((object): object is T => object !== undefined)]; - - return Object.keys(defaultStyle).reduce( - (flattened, currentKey) => { - const styleItems = styles.map(object => object[currentKey]); - return { - ...flattened, - [currentKey]: flattenObjects(styleItems) - }; - }, - {} as T - ); -} - -function flattenObjects(objects: T[]): T { - return objects.reduce((merged, object) => ({ ...merged, ...object }), {} as T); -} diff --git a/packages/command-tests/projects/generated_8_6_ts_native_full/tsconfig.json b/packages/command-tests/projects/generated_8_6_ts_native_full/tsconfig.json deleted file mode 100644 index 35baf90f..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_native_full/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/@mendix/pluggable-widgets-tools/configs/tsconfig.base.json" -} diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/.eslintrc.js b/packages/command-tests/projects/generated_8_6_ts_web_full/.eslintrc.js deleted file mode 100644 index ddae1632..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/eslint.ts.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/.gitattributes b/packages/command-tests/projects/generated_8_6_ts_web_full/.gitattributes deleted file mode 100644 index 0cb70e40..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/.gitattributes +++ /dev/null @@ -1,15 +0,0 @@ -* text=auto -*.ts text eol=lf -*.tsx text eol=lf -*.js text eol=lf -*.jsx text eol=lf -*.css text eol=lf -*.scss text eol=lf -*.json text eol=lf -*.xml text eol=lf -*.md text eol=lf -*.gitattributes eol=lf -*.gitignore eol=lf -*.png binary -*.jpg binary -*.gif binary diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/.gitignore b/packages/command-tests/projects/generated_8_6_ts_web_full/.gitignore deleted file mode 100644 index 532113ec..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -dist/ -node_modules/ -*.log -.env diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/LICENSE b/packages/command-tests/projects/generated_8_6_ts_web_full/LICENSE deleted file mode 100644 index 59855fb5..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The Apache License v2.0 - -Copyright Mendix 2019 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/README.md b/packages/command-tests/projects/generated_8_6_ts_web_full/README.md deleted file mode 100644 index a223ce9b..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Generated -[My widget description] - -## Features -[feature highlights] - -## Usage -[step by step instructions] - -## Demo project -[link to sandbox] - -## Issues, suggestions and feature requests -[link to GitHub issues] - -## Development and contribution -[specify contribute] diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/package.json b/packages/command-tests/projects/generated_8_6_ts_web_full/package.json deleted file mode 100644 index 204425a8..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "generated_8_6_ts_web", - "widgetName": "Generated", - "version": "1.0.0", - "description": "My widget description", - "copyright": "Mendix 2019", - "author": "John", - "config": { - "widgetPath": "./dist/MxTestProject/widgets", - "projectPath": "./dist/MxTestProject/", - "mendixHost": "http://localhost:8080", - "developmentPort": "3000" - }, - "packagePath": "mendix", - "scripts": { - "start": "concurrently \"pluggable-widgets-tools start:server\" \"npm:dev\"", - "dev": "pluggable-widgets-tools start:ts", - "build": "pluggable-widgets-tools build:ts", - "lint": "pluggable-widgets-tools lint", - "lint:fix": "pluggable-widgets-tools lint:fix", - "pretest": "npm run lint && npm run build", - "test": "pluggable-widgets-tools test:unit --no-cache --ci", - "test:unit": "pluggable-widgets-tools test:unit --coverage", - "prerelease": "npm run lint", - "release": "pluggable-widgets-tools release:ts" - }, - "license": "Apache-2.0", - "devDependencies": { - "@mendix/pluggable-widgets-tools": "~8.6.0", - "@types/big.js": "^4.0.5", - "@types/classnames": "^2.2.4", - "@types/webdriverio": "^4.13.0", - "@types/enzyme": "^3.1.10", - "@types/enzyme-adapter-react-16": "^1.0.2", - "@types/jasmine": "^3.4.0", - "@types/jest": "^24.0.0", - "@types/react": "^16.8.17", - "@types/react-dom": "^16.8.4", - "@types/react-test-renderer": "^16.8.1" - }, - "dependencies": { - "big.js": "^5.2.2", - "classnames": "^2.2.6" - } -} diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/prettier.config.js b/packages/command-tests/projects/generated_8_6_ts_web_full/prettier.config.js deleted file mode 100644 index fea5f6ac..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/prettier.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/prettier.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.tsx b/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.tsx deleted file mode 100644 index 7fd5acf3..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; - -import { GeneratedContainerProps } from "../typings/GeneratedProps"; -import { BadgeSample } from "./components/BadgeSample"; -import "./ui/Generated.css"; - -export default class Generated extends Component { - private readonly onClickHandler = this.onClick.bind(this); - - render(): ReactNode { - return ( - - - ); - } - - private onClick(): void { - if (this.props.onClickAction && this.props.onClickAction.canExecute) { - this.props.onClickAction.execute(); - } - } -} diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.webmodeler.tsx b/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.webmodeler.tsx deleted file mode 100644 index c6def6e1..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.webmodeler.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { BadgeSample, BadgeSampleProps } from "./components/BadgeSample"; -import { GeneratedPreviewProps } from "../typings/GeneratedProps"; - -declare function require(name: string): string; - -export class preview extends Component { - render(): ReactNode { - return ( -
- -
- ); - } - - private parentInline(node?: HTMLElement | null): void { - // Temporary fix, the web modeler add a containing div, to render inline we need to change it. - if (node && node.parentElement && node.parentElement.parentElement) { - node.parentElement.parentElement.style.display = "inline-block"; - } - } - - private transformProps(props: GeneratedPreviewProps): BadgeSampleProps { - return { - type: props.generatedType, - bootstrapStyle: props.bootstrapStyle, - className: props.className, // BREAKING CHANGE OF 9.0 - clickable: false, - style: undefined, // BREAKING CHANGE 8.9 props.styleObject, - defaultValue: props.generatedValue ? props.generatedValue : "", - value: props.valueAttribute - }; - } -} - -export function getPreviewCss(): string { - return require("./ui/Generated.css"); -} diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.xml b/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.xml deleted file mode 100644 index 714f8255..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/Generated.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Generated - My widget description - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABp1BMVEUAAABV//9mzP9LtP9Ms/9Jtv9NsvdJsfpLtPpJsfdJsfhJsvhJsvdKsvdJsPhKsPhJsfdJsPhJsfdIsfhJsfdIsPdJsfhJsfhJsPhJsPhIsfhIsPdJsPdKsPdKsfdNsvdOsvdPs/dQs/dRtPdStPdTtPdUtfdWtvdXtvdauPdcuPdeufdeufhguvhiu/hju/hkvPhmvfhnvfhpvvhrv/huwPhvwfhxwfhywvhzwvh4xfl5xfl6xfl8xvl9xvl9x/mByPmCyfmFyvmGyvmJzPmKzPmLzfmNzvqPzvqQz/qT0PqU0PqU0fqX0vqY0vqa0/qe1fqg1vqj1/uk1/un2fup2vut2/uv3Puw3Puw3fuz3vu13/u23/u34Pu44Pu64fu64fy84vy94vy+4/y/4/zD5fzE5fzG5vzH5vzI5/zK6PzL6PzR6/zT7P3U7P3V7f3W7f3Y7v3Z7v3c8P3e8f3f8f3g8f3i8v3l8/3l9P3n9P3r9v7t9/7u9/7v+P7w+P7x+f7y+f70+v71+v74/P75/P76/f77/f78/f78/v79/v7+/v7////6dMsRAAAAG3RSTlMAAwURGxwhMTNic3SEh4iVp7XBzejt7vH5/f6PsMNWAAABsklEQVR4AWIYfGAUjIJRMAqYuYREJKWJAqLCPGwY+jnFpEkBEryMqPr5pEkFgkwo9kuTDviR/S9GhgFSHAgDuKXJAQIIA4TIMkAcEY4i0mQBVrgBkuQZwA43QJo8wIFhQEhEOIBQOutHJozDOP5Crp4e1RhkJ0tKGJFd6oNEdtmJyEIzpaZl5nrRZgaHM/2Pf5/vwXXfyagXgG93bwSAlEolowLMm9w83gibhXH2gKKVdD67gTnWjwCk+VVjMQS4suSnnjMLRVFc9sAHvAX2A9fySaXNBMbEZVUWscaHIMRuqwBgD8hDEbnsRmfjUKJkAQZGCTlO/xWBwIADQLIZBlY441MvfoF1xlFS/4fy+bzXKh4dgNJE7L3eh3tmtuWa+AMcMIY3dgUvZQpGEYmMw2kD7HC+R29UqyoXLaBd0QZxzgXgikLLDSqJTKU5HOcS0MsbA9jPqtwCRvXm2eorBbNIJBw3KJ9O4Yl+AAXdnyaLt7PWN3jRWLvzmAVp94zO5+n41/onfo/UpExxZqI0O7NQr0DhIq9Io7hQpbRYp7hiobRqo6ByFcNWuY6CUTAKRgEAo8X0lBD3V30AAAAASUVORK5CYII= - - - - - Value attribute - The attribute that contains the generated value - - - - - - - - - - Default value - The generated value shown when no value is provided via the attribute - - - - - Generated style - The appearance of the generated - - Default - Primary - Success - Info - Inverse - Warning - Danger - - - - Type - Render it as either a badge or a color label - - Badge - Label - - - - - - On click action - Action to trigger when button / label is clicked - - - - diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/Alert.tsx b/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/Alert.tsx deleted file mode 100644 index 5d28aa8f..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/Alert.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { FunctionComponent, createElement } from "react"; -import classNames from "classnames"; - -export interface AlertProps { - message?: string; - className?: string; - bootstrapStyle: "default" | "primary" | "success" | "info" | "inverse" | "warning" | "danger"; -} - -export const Alert: FunctionComponent = (props) => - props.message - ? (
{props.message}
) - : null; - -Alert.displayName = "Alert"; diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/BadgeSample.tsx b/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/BadgeSample.tsx deleted file mode 100644 index 8be0ec7b..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/BadgeSample.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import classNames from "classnames"; - -export interface BadgeSampleProps { - type: "badge" | "label"; - defaultValue?: string; - className?: string; - style?: object; - value?: string; - bootstrapStyle?: BootstrapStyle; - clickable?: boolean; - onClickAction?: () => void; - getRef?: (node: HTMLElement) => void; -} - -export type BootstrapStyle = "default" | "info" | "inverse" | "primary" | "danger" | "success" | "warning"; - -export class BadgeSample extends Component { - render(): ReactNode { - return ( - {this.props.value || this.props.defaultValue} - ); - } -} diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/__tests__/Alert.spec.tsx b/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/__tests__/Alert.spec.tsx deleted file mode 100644 index 35d240cf..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/__tests__/Alert.spec.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { Alert } from "../Alert"; - -describe("Alert", () => { - it("renders the structure when an alert message is specified", () => { - const message = "This is an error"; - const alert = shallow(); - - expect(alert.equals( -
{message}
- )).toEqual(true); - }); - - it("renders no structure when the alert message is not specified", () => { - const alert = shallow(); - - expect(alert.isEmptyRender()).toEqual(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx b/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx deleted file mode 100644 index 6023ef6f..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { BadgeSample, BadgeSampleProps } from "../BadgeSample"; - -describe("Badge", () => { - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type - const createBadge = (props: BadgeSampleProps) => shallow(); - - it("should render the structure", () => { - const badgeProps: BadgeSampleProps = { - type: "badge", - bootstrapStyle: "default", - value: "0" - }; - const badge = createBadge(badgeProps); - - expect( - badge.equals( - 0 - ) - ).toEqual(true); - }); - - it("should show value when no value or default value provided", () => { - const value = "value"; - const badge = createBadge({ type: "label", value, defaultValue: "default value" }); - - expect(badge.text()).toBe(value); - }); - - it("should show default value when no value is provided", () => { - const defaultValue = "default"; - const badge = createBadge({ type: "label", value: undefined, defaultValue }); - - expect(badge.text()).toBe(defaultValue); - }); - - it("should show no value when no value or default value provided", () => { - const badge = createBadge({ type: "label", value: undefined }); - - expect(badge.text()).toBe(""); - }); - - it("configured as a label should have the class label", () => { - const badge = createBadge({ type: "label" }); - - expect(badge.hasClass("label")).toBe(true); - }); - - it("configured as a badge should have the class badge", () => { - const badge = createBadge({ type: "badge" }); - - expect(badge.hasClass("badge")).toBe(true); - }); - - it("with a click action should respond to click events", () => { - const badgeProps: BadgeSampleProps = { onClickAction: jasmine.createSpy("onClick"), type: "badge" }; - const onClick = badgeProps.onClickAction = jasmine.createSpy("onClick"); - const badge = createBadge(badgeProps); - - badge.simulate("click"); - - expect(onClick).toHaveBeenCalledTimes(1); - }); - - it("with the Bootstrap style default should have the class label-default", () => { - const badge = createBadge({ bootstrapStyle: "default", type: "badge" }); - - expect(badge.hasClass("label-default")).toBe(true); - }); - - it("with the Bootstrap style primary should have the class label-primary", () => { - const badge = createBadge({ bootstrapStyle: "primary", type: "badge" }); - - expect(badge.hasClass("label-primary")).toBe(true); - }); - - it("with the Bootstrap style success should have the class label-success", () => { - const badge = createBadge({ bootstrapStyle: "success", type: "badge" }); - - expect(badge.hasClass("label-success")).toBe(true); - }); - - it("with the Bootstrap style info should have the class label-info", () => { - const badge = createBadge({ bootstrapStyle: "info", type: "badge" }); - - expect(badge.hasClass("label-info")).toBe(true); - }); - - it("with the Bootstrap style warning should have the class label-warning", () => { - const badge = createBadge({ bootstrapStyle: "warning", type: "badge" }); - - expect(badge.hasClass("label-warning")).toBe(true); - }); - - it("with the Bootstrap style danger should have the class label-danger", () => { - const badge = createBadge({ bootstrapStyle: "danger", type: "badge" }); - - expect(badge.hasClass("label-danger")).toBe(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/package.xml b/packages/command-tests/projects/generated_8_6_ts_web_full/src/package.xml deleted file mode 100644 index 6c9abc88..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/src/ui/Generated.css b/packages/command-tests/projects/generated_8_6_ts_web_full/src/ui/Generated.css deleted file mode 100644 index 1cd78db4..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/src/ui/Generated.css +++ /dev/null @@ -1,24 +0,0 @@ -.widget-generated-clickable { - cursor: pointer; -} - -.widget-generated { - display: inline-block; -} - -.widget-generated.badge:empty { - display: initial; - /* Fix padding to stay round */ - padding: 3px 10px; -} - -.widget-generated.label:empty { - display: initial; - /* Fix padding to stay square */ - padding: .2em .8em .3em; -} - -.widget-generated.badge { - min-width: 18px; - min-height: 18px; -} diff --git a/packages/command-tests/projects/generated_8_6_ts_web_full/tsconfig.json b/packages/command-tests/projects/generated_8_6_ts_web_full/tsconfig.json deleted file mode 100644 index 35baf90f..00000000 --- a/packages/command-tests/projects/generated_8_6_ts_web_full/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/@mendix/pluggable-widgets-tools/configs/tsconfig.base.json" -} diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/.eslintrc.js b/packages/command-tests/projects/generated_8_7_js_web_full/.eslintrc.js deleted file mode 100644 index c878b8f8..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/eslint.js.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/LICENSE b/packages/command-tests/projects/generated_8_7_js_web_full/LICENSE deleted file mode 100644 index 59855fb5..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The Apache License v2.0 - -Copyright Mendix 2019 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/README.md b/packages/command-tests/projects/generated_8_7_js_web_full/README.md deleted file mode 100644 index a223ce9b..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Generated -[My widget description] - -## Features -[feature highlights] - -## Usage -[step by step instructions] - -## Demo project -[link to sandbox] - -## Issues, suggestions and feature requests -[link to GitHub issues] - -## Development and contribution -[specify contribute] diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/package.json b/packages/command-tests/projects/generated_8_7_js_web_full/package.json deleted file mode 100644 index a79eb235..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "generated_8_7_js_web", - "widgetName": "Generated", - "version": "1.0.0", - "description": "My widget description", - "copyright": "Mendix 2019", - "author": "John", - "config": { - "widgetPath": "./dist/MxTestProject/widgets", - "projectPath": "./dist/MxTestProject/", - "mendixHost": "http://localhost:8080", - "developmentPort": "3000" - }, - "packagePath": "mendix", - "scripts": { - "start": "concurrently \"pluggable-widgets-tools start:server\" \"npm:dev\"", - "dev": "pluggable-widgets-tools start:js", - "build": "pluggable-widgets-tools build:js", - "lint": "pluggable-widgets-tools lint", - "lint:fix": "pluggable-widgets-tools lint:fix", - "pretest": "npm run lint && npm run build", - "test": "pluggable-widgets-tools test:unit --no-cache --ci", - "test:unit": "pluggable-widgets-tools test:unit --coverage", - "prerelease": "npm run lint", - "release": "pluggable-widgets-tools release:js" - }, - "license": "Apache-2.0", - "devDependencies": { - "@mendix/pluggable-widgets-tools": "^8.7.0" - }, - "dependencies": { - "big.js": "^5.2.2", - "classnames": "^2.2.6" - } -} diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/prettier.config.js b/packages/command-tests/projects/generated_8_7_js_web_full/prettier.config.js deleted file mode 100644 index fea5f6ac..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/prettier.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/prettier.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.jsx b/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.jsx deleted file mode 100644 index 6d1e6cb1..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.jsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Component, createElement } from "react"; - -import { BadgeSample } from "./components/BadgeSample"; -import "./ui/Generated.css"; - -export default class Generated extends Component { - - constructor(props) { - super(props); - - this.onClickHandler = this.onClick.bind(this); - } - - render() { - return ( - - ); - } - - onClick() { - if (this.props.onClickAction && this.props.onClickAction.canExecute) { - this.props.onClickAction.execute(); - } - } -} diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.webmodeler.jsx b/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.webmodeler.jsx deleted file mode 100644 index 0d712033..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.webmodeler.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Component, createElement } from "react"; -import { BadgeSample } from "./components/BadgeSample"; - -export class preview extends Component { - render() { - return ( -
- -
- ); - } - - parentInline(node) { - // Temporary fix, the web modeler add a containing div, to render inline we need to change it. - if (node && node.parentElement && node.parentElement.parentElement) { - node.parentElement.parentElement.style.display = "inline-block"; - } - } - - transformProps(props) { - return { - type: props.generatedType, - bootstrapStyle: props.bootstrapStyle, - className: props.className, // BREAKING CHANGE OF 9.0 - clickable: false, - style: props.styleObject, - defaultValue: props.generatedValue ? props.generatedValue : "", - value: props.valueAttribute - }; - } -} - -export function getPreviewCss() { - return require("./ui/Generated.css"); -} - diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.xml b/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.xml deleted file mode 100644 index 714f8255..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/Generated.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Generated - My widget description - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABp1BMVEUAAABV//9mzP9LtP9Ms/9Jtv9NsvdJsfpLtPpJsfdJsfhJsvhJsvdKsvdJsPhKsPhJsfdJsPhJsfdIsfhJsfdIsPdJsfhJsfhJsPhJsPhIsfhIsPdJsPdKsPdKsfdNsvdOsvdPs/dQs/dRtPdStPdTtPdUtfdWtvdXtvdauPdcuPdeufdeufhguvhiu/hju/hkvPhmvfhnvfhpvvhrv/huwPhvwfhxwfhywvhzwvh4xfl5xfl6xfl8xvl9xvl9x/mByPmCyfmFyvmGyvmJzPmKzPmLzfmNzvqPzvqQz/qT0PqU0PqU0fqX0vqY0vqa0/qe1fqg1vqj1/uk1/un2fup2vut2/uv3Puw3Puw3fuz3vu13/u23/u34Pu44Pu64fu64fy84vy94vy+4/y/4/zD5fzE5fzG5vzH5vzI5/zK6PzL6PzR6/zT7P3U7P3V7f3W7f3Y7v3Z7v3c8P3e8f3f8f3g8f3i8v3l8/3l9P3n9P3r9v7t9/7u9/7v+P7w+P7x+f7y+f70+v71+v74/P75/P76/f77/f78/f78/v79/v7+/v7////6dMsRAAAAG3RSTlMAAwURGxwhMTNic3SEh4iVp7XBzejt7vH5/f6PsMNWAAABsklEQVR4AWIYfGAUjIJRMAqYuYREJKWJAqLCPGwY+jnFpEkBEryMqPr5pEkFgkwo9kuTDviR/S9GhgFSHAgDuKXJAQIIA4TIMkAcEY4i0mQBVrgBkuQZwA43QJo8wIFhQEhEOIBQOutHJozDOP5Crp4e1RhkJ0tKGJFd6oNEdtmJyEIzpaZl5nrRZgaHM/2Pf5/vwXXfyagXgG93bwSAlEolowLMm9w83gibhXH2gKKVdD67gTnWjwCk+VVjMQS4suSnnjMLRVFc9sAHvAX2A9fySaXNBMbEZVUWscaHIMRuqwBgD8hDEbnsRmfjUKJkAQZGCTlO/xWBwIADQLIZBlY441MvfoF1xlFS/4fy+bzXKh4dgNJE7L3eh3tmtuWa+AMcMIY3dgUvZQpGEYmMw2kD7HC+R29UqyoXLaBd0QZxzgXgikLLDSqJTKU5HOcS0MsbA9jPqtwCRvXm2eorBbNIJBw3KJ9O4Yl+AAXdnyaLt7PWN3jRWLvzmAVp94zO5+n41/onfo/UpExxZqI0O7NQr0DhIq9Io7hQpbRYp7hiobRqo6ByFcNWuY6CUTAKRgEAo8X0lBD3V30AAAAASUVORK5CYII= - - - - - Value attribute - The attribute that contains the generated value - - - - - - - - - - Default value - The generated value shown when no value is provided via the attribute - - - - - Generated style - The appearance of the generated - - Default - Primary - Success - Info - Inverse - Warning - Danger - - - - Type - Render it as either a badge or a color label - - Badge - Label - - - - - - On click action - Action to trigger when button / label is clicked - - - - diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/Alert.jsx b/packages/command-tests/projects/generated_8_7_js_web_full/src/components/Alert.jsx deleted file mode 100644 index 7bdcbb08..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/Alert.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import { createElement } from "react"; -import classNames from "classnames"; - -export const Alert = ({ className, bootstrapStyle, message }) => - message - ? (
{message}
) - : null; - -Alert.displayName = "Alert"; diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/BadgeSample.jsx b/packages/command-tests/projects/generated_8_7_js_web_full/src/components/BadgeSample.jsx deleted file mode 100644 index 72f4a607..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/BadgeSample.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Component, createElement } from "react"; -import classNames from "classnames"; - -export class BadgeSample extends Component { - render() { - return ( - {this.props.value || this.props.defaultValue} - ); - } -} diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/__tests__/Alert.spec.jsx b/packages/command-tests/projects/generated_8_7_js_web_full/src/components/__tests__/Alert.spec.jsx deleted file mode 100644 index 35d240cf..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/__tests__/Alert.spec.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { Alert } from "../Alert"; - -describe("Alert", () => { - it("renders the structure when an alert message is specified", () => { - const message = "This is an error"; - const alert = shallow(); - - expect(alert.equals( -
{message}
- )).toEqual(true); - }); - - it("renders no structure when the alert message is not specified", () => { - const alert = shallow(); - - expect(alert.isEmptyRender()).toEqual(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/__tests__/BadgeSample.spec.jsx b/packages/command-tests/projects/generated_8_7_js_web_full/src/components/__tests__/BadgeSample.spec.jsx deleted file mode 100644 index 1f8af74a..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/components/__tests__/BadgeSample.spec.jsx +++ /dev/null @@ -1,101 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { BadgeSample } from "../BadgeSample"; - -describe("Badge", () => { - const createBadge = (props) => shallow(); - - it("should render the structure", () => { - const badgeProps = { - type: "badge", - bootstrapStyle: "default", - value: "0" - }; - const badge = createBadge(badgeProps); - - expect( - badge.equals( - 0 - ) - ).toEqual(true); - }); - - it("should show value when no value or default value provided", () => { - const value = "value"; - const badge = createBadge({ type: "label", value, defaultValue: "default value" }); - - expect(badge.text()).toBe(value); - }); - - it("should show default value when no value is provided", () => { - const defaultValue = "default"; - const badge = createBadge({ type: "label", value: undefined, defaultValue }); - - expect(badge.text()).toBe(defaultValue); - }); - - it("should show no value when no value or default value provided", () => { - const badge = createBadge({ type: "label", value: undefined }); - - expect(badge.text()).toBe(""); - }); - - it("configured as a label should have the class label", () => { - const badge = createBadge({ type: "label" }); - - expect(badge.hasClass("label")).toBe(true); - }); - - it("configured as a badge should have the class badge", () => { - const badge = createBadge({ type: "badge" }); - - expect(badge.hasClass("badge")).toBe(true); - }); - - it("with a click action should respond to click events", () => { - const badgeProps = { onClickAction: jasmine.createSpy("onClick"), type: "badge" }; - const onClick = badgeProps.onClickAction = jasmine.createSpy("onClick"); - const badge = createBadge(badgeProps); - - badge.simulate("click"); - - expect(onClick).toHaveBeenCalledTimes(1); - }); - - it("with the Bootstrap style default should have the class label-default", () => { - const badge = createBadge({ bootstrapStyle: "default", type: "badge" }); - - expect(badge.hasClass("label-default")).toBe(true); - }); - - it("with the Bootstrap style primary should have the class label-primary", () => { - const badge = createBadge({ bootstrapStyle: "primary", type: "badge" }); - - expect(badge.hasClass("label-primary")).toBe(true); - }); - - it("with the Bootstrap style success should have the class label-success", () => { - const badge = createBadge({ bootstrapStyle: "success", type: "badge" }); - - expect(badge.hasClass("label-success")).toBe(true); - }); - - it("with the Bootstrap style info should have the class label-info", () => { - const badge = createBadge({ bootstrapStyle: "info", type: "badge" }); - - expect(badge.hasClass("label-info")).toBe(true); - }); - - it("with the Bootstrap style warning should have the class label-warning", () => { - const badge = createBadge({ bootstrapStyle: "warning", type: "badge" }); - - expect(badge.hasClass("label-warning")).toBe(true); - }); - - it("with the Bootstrap style danger should have the class label-danger", () => { - const badge = createBadge({ bootstrapStyle: "danger", type: "badge" }); - - expect(badge.hasClass("label-danger")).toBe(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/package.xml b/packages/command-tests/projects/generated_8_7_js_web_full/src/package.xml deleted file mode 100644 index 6c9abc88..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/command-tests/projects/generated_8_7_js_web_full/src/ui/Generated.css b/packages/command-tests/projects/generated_8_7_js_web_full/src/ui/Generated.css deleted file mode 100644 index 1cd78db4..00000000 --- a/packages/command-tests/projects/generated_8_7_js_web_full/src/ui/Generated.css +++ /dev/null @@ -1,24 +0,0 @@ -.widget-generated-clickable { - cursor: pointer; -} - -.widget-generated { - display: inline-block; -} - -.widget-generated.badge:empty { - display: initial; - /* Fix padding to stay round */ - padding: 3px 10px; -} - -.widget-generated.label:empty { - display: initial; - /* Fix padding to stay square */ - padding: .2em .8em .3em; -} - -.widget-generated.badge { - min-width: 18px; - min-height: 18px; -} diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/.eslintrc.js b/packages/command-tests/projects/generated_8_9_ts_native_full/.eslintrc.js deleted file mode 100644 index ddae1632..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/eslint.ts.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/.gitattributes b/packages/command-tests/projects/generated_8_9_ts_native_full/.gitattributes deleted file mode 100644 index 0cb70e40..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/.gitattributes +++ /dev/null @@ -1,15 +0,0 @@ -* text=auto -*.ts text eol=lf -*.tsx text eol=lf -*.js text eol=lf -*.jsx text eol=lf -*.css text eol=lf -*.scss text eol=lf -*.json text eol=lf -*.xml text eol=lf -*.md text eol=lf -*.gitattributes eol=lf -*.gitignore eol=lf -*.png binary -*.jpg binary -*.gif binary diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/.gitignore b/packages/command-tests/projects/generated_8_9_ts_native_full/.gitignore deleted file mode 100644 index 532113ec..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -dist/ -node_modules/ -*.log -.env diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/LICENSE b/packages/command-tests/projects/generated_8_9_ts_native_full/LICENSE deleted file mode 100644 index f07c9821..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The Apache License v2.0 - -Copyright 2020 Mendix Technology BV - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/README.md b/packages/command-tests/projects/generated_8_9_ts_native_full/README.md deleted file mode 100644 index a223ce9b..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Generated -[My widget description] - -## Features -[feature highlights] - -## Usage -[step by step instructions] - -## Demo project -[link to sandbox] - -## Issues, suggestions and feature requests -[link to GitHub issues] - -## Development and contribution -[specify contribute] diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/package.json b/packages/command-tests/projects/generated_8_9_ts_native_full/package.json deleted file mode 100644 index 8b26c879..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "generated_8_9_ts_native", - "widgetName": "Generated", - "version": "1.0.0", - "description": "My widget description", - "copyright": "2020 Mendix Technology BV", - "author": "John", - "config": { - "widgetPath": "./dist/MxTestProject/widgets", - "projectPath": "./dist/MxTestProject/" - }, - "packagePath": "mendix", - "scripts": { - "start": "npm run dev", - "build": "pluggable-widgets-tools build:ts:native", - "dev": "pluggable-widgets-tools start:ts:native", - "lint": "pluggable-widgets-tools lint", - "lint:fix": "pluggable-widgets-tools lint:fix", - "pretest": "npm run lint && npm run build", - "test": "pluggable-widgets-tools test:unit:native --no-cache --ci", - "test:unit": "pluggable-widgets-tools test:unit:native --coverage", - "prerelease": "npm run lint", - "release": "pluggable-widgets-tools release:ts:native" - }, - "jest-junit": { - "output": "./dist/testresults/TESTS-Jest.xml" - }, - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/John/generated_8_9_ts_native/issues" - }, - "devDependencies": { - "@mendix/pluggable-widgets-tools": "^8.9.2", - "@types/big.js": "^4.0.5", - "@types/classnames": "^2.2.6", - "@types/enzyme": "^3.1.14", - "@types/jest": "^24.0.0", - "@types/react": "~16.9.0", - "@types/react-dom": "~16.9.0", - "@types/react-native": "~0.61.23" - }, - "dependencies": { - - } -} diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/prettier.config.js b/packages/command-tests/projects/generated_8_9_ts_native_full/prettier.config.js deleted file mode 100644 index fea5f6ac..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/prettier.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/prettier.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/Generated.tsx b/packages/command-tests/projects/generated_8_9_ts_native_full/src/Generated.tsx deleted file mode 100644 index d2417833..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/Generated.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { TextStyle, ViewStyle } from "react-native"; -import { BadgeSample } from "./components/BadgeSample"; -import { GeneratedProps } from "../typings/GeneratedProps"; -import { Style } from "./utils/common"; - -export interface BadgeStyle extends Style { - container: ViewStyle; - badge: ViewStyle; - label: TextStyle; -} - -export class Generated extends Component> { - private readonly onClickHandler = this.onClick.bind(this); - - render(): ReactNode { - return ( - - ); - } - - private onClick(): void { - if (this.props.onClickAction) { - this.props.onClickAction.execute(); - } - } -} diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/Generated.xml b/packages/command-tests/projects/generated_8_9_ts_native_full/src/Generated.xml deleted file mode 100644 index 3ab15c81..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/Generated.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - Generated - My widget description - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABp1BMVEUAAABV//9mzP9LtP9Ms/9Jtv9NsvdJsfpLtPpJsfdJsfhJsvhJsvdKsvdJsPhKsPhJsfdJsPhJsfdIsfhJsfdIsPdJsfhJsfhJsPhJsPhIsfhIsPdJsPdKsPdKsfdNsvdOsvdPs/dQs/dRtPdStPdTtPdUtfdWtvdXtvdauPdcuPdeufdeufhguvhiu/hju/hkvPhmvfhnvfhpvvhrv/huwPhvwfhxwfhywvhzwvh4xfl5xfl6xfl8xvl9xvl9x/mByPmCyfmFyvmGyvmJzPmKzPmLzfmNzvqPzvqQz/qT0PqU0PqU0fqX0vqY0vqa0/qe1fqg1vqj1/uk1/un2fup2vut2/uv3Puw3Puw3fuz3vu13/u23/u34Pu44Pu64fu64fy84vy94vy+4/y/4/zD5fzE5fzG5vzH5vzI5/zK6PzL6PzR6/zT7P3U7P3V7f3W7f3Y7v3Z7v3c8P3e8f3f8f3g8f3i8v3l8/3l9P3n9P3r9v7t9/7u9/7v+P7w+P7x+f7y+f70+v71+v74/P75/P76/f77/f78/f78/v79/v7+/v7////6dMsRAAAAG3RSTlMAAwURGxwhMTNic3SEh4iVp7XBzejt7vH5/f6PsMNWAAABsklEQVR4AWIYfGAUjIJRMAqYuYREJKWJAqLCPGwY+jnFpEkBEryMqPr5pEkFgkwo9kuTDviR/S9GhgFSHAgDuKXJAQIIA4TIMkAcEY4i0mQBVrgBkuQZwA43QJo8wIFhQEhEOIBQOutHJozDOP5Crp4e1RhkJ0tKGJFd6oNEdtmJyEIzpaZl5nrRZgaHM/2Pf5/vwXXfyagXgG93bwSAlEolowLMm9w83gibhXH2gKKVdD67gTnWjwCk+VVjMQS4suSnnjMLRVFc9sAHvAX2A9fySaXNBMbEZVUWscaHIMRuqwBgD8hDEbnsRmfjUKJkAQZGCTlO/xWBwIADQLIZBlY441MvfoF1xlFS/4fy+bzXKh4dgNJE7L3eh3tmtuWa+AMcMIY3dgUvZQpGEYmMw2kD7HC+R29UqyoXLaBd0QZxzgXgikLLDSqJTKU5HOcS0MsbA9jPqtwCRvXm2eorBbNIJBw3KJ9O4Yl+AAXdnyaLt7PWN3jRWLvzmAVp94zO5+n41/onfo/UpExxZqI0O7NQr0DhIq9Io7hQpbRYp7hiobRqo6ByFcNWuY6CUTAKRgEAo8X0lBD3V30AAAAASUVORK5CYII= - - - - - Value attribute - The attribute that contains the generated value - - - - - - - - - - - - On click action - Action to trigger when button / label is clicked - - - - diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/components/BadgeSample.tsx b/packages/command-tests/projects/generated_8_9_ts_native_full/src/components/BadgeSample.tsx deleted file mode 100644 index 966e577f..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/components/BadgeSample.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { Platform, Text, TouchableNativeFeedback, TouchableOpacity, View } from "react-native"; -import { BadgeStyle } from "../Generated"; -import { styles } from "../ui/styles"; -import { flattenStyles } from "../utils/common"; - -export interface BadgeSampleProps { - value?: string; - style: BadgeStyle[]; - onClickAction?: () => void; -} - -const defaultBadgeStyle: BadgeStyle = { - container: styles.flex, - badge: styles.badge, - label: styles.label -}; - -export class BadgeSample extends Component { - private readonly styles = flattenStyles(defaultBadgeStyle, this.props.style); - - render(): ReactNode { - const isAndroid = Platform.OS === "android"; - - return ( - - {isAndroid ? ( - - {this.props.value} - - ) : ( - - {this.props.value} - - ) - } - - ); - } -} diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/components/__tests__/BadgeSample.spec.tsx b/packages/command-tests/projects/generated_8_9_ts_native_full/src/components/__tests__/BadgeSample.spec.tsx deleted file mode 100644 index 735de7d6..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/components/__tests__/BadgeSample.spec.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; -import { Platform, TouchableNativeFeedback, TouchableOpacity } from "react-native"; -import { BadgeSample, BadgeSampleProps } from "../BadgeSample"; - -describe("Badge", () => { - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type - const createBadge = (props: BadgeSampleProps): any => shallow(); - - it("it renders the structure correctly", () => { - const badgeProps: BadgeSampleProps = { - style: [{ container: { display: "flex" }, badge: { borderColor: "white" }, label: { color: "black" } }], - onClickAction: jasmine.createSpy("onPress"), - value: "0" - }; - const badge = createBadge(badgeProps); - - expect(badge).toMatchSnapshot(); - }); - - describe("for iOS", () => { - beforeEach(() => { - Platform.OS = "ios"; - Platform.select = jest.fn((dict: any) => dict[Platform.OS]); - }); - - it("it renders the structure correctly", () => { - const badgeProps: BadgeSampleProps = { - style: [], - onClickAction: jasmine.createSpy("onPress"), - value: "0" - }; - const badge = createBadge(badgeProps); - - expect(badge).toMatchSnapshot(); - }); - }); - - describe("when pressed", () => { - it("triggers the onPress event", () => { - const badgeProps: BadgeSampleProps = { - style: [], - onClickAction: jasmine.createSpy("onPress"), - value: "0" - }; - const badge = createBadge(badgeProps); - - const Touchable = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity; - - expect(badge.children() - .find(Touchable)).not.toBeNull(); - - badge.children().simulate("press"); - - expect(badgeProps.onClickAction).toHaveBeenCalled(); - - }); - }); - -}); diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/package.xml b/packages/command-tests/projects/generated_8_9_ts_native_full/src/package.xml deleted file mode 100644 index 6c9abc88..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/ui/styles.ts b/packages/command-tests/projects/generated_8_9_ts_native_full/src/ui/styles.ts deleted file mode 100644 index 28524486..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/ui/styles.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { StyleSheet } from "react-native"; - -export const styles: any = StyleSheet.create({ - flex: { - flexDirection: "row" - }, - badge: { - borderRadius: 30, - paddingLeft: 10, - paddingRight: 10, - paddingTop: 5, - paddingBottom: 5, - backgroundColor: "#D9534F" - }, - label: { - textAlign: "center", - fontSize: 15, - fontWeight: "bold", - color: "#FFFFFF" - } -}); diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/src/utils/common.ts b/packages/command-tests/projects/generated_8_9_ts_native_full/src/utils/common.ts deleted file mode 100644 index 9b43bbf2..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/src/utils/common.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ImageStyle, TextStyle, ViewStyle } from "react-native"; - -interface CustomStyle { - [key: string]: string | number; -} - -export interface Style { - [key: string]: CustomStyle | ViewStyle | TextStyle | ImageStyle; -} - -export function flattenStyles(defaultStyle: T, overrideStyles: Array<(T | undefined)>): T { - const styles = [defaultStyle, ...overrideStyles.filter((object): object is T => object !== undefined)]; - - return Object.keys(defaultStyle).reduce( - (flattened, currentKey) => { - const styleItems = styles.map(object => object[currentKey]); - return { - ...flattened, - [currentKey]: flattenObjects(styleItems) - }; - }, - {} as T - ); -} - -function flattenObjects(objects: T[]): T { - return objects.reduce((merged, object) => ({ ...merged, ...object }), {} as T); -} diff --git a/packages/command-tests/projects/generated_8_9_ts_native_full/tsconfig.json b/packages/command-tests/projects/generated_8_9_ts_native_full/tsconfig.json deleted file mode 100644 index 35baf90f..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_native_full/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/@mendix/pluggable-widgets-tools/configs/tsconfig.base.json" -} diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/.eslintrc.js b/packages/command-tests/projects/generated_8_9_ts_web_full/.eslintrc.js deleted file mode 100644 index ddae1632..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/eslint.ts.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/.gitattributes b/packages/command-tests/projects/generated_8_9_ts_web_full/.gitattributes deleted file mode 100644 index 0cb70e40..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/.gitattributes +++ /dev/null @@ -1,15 +0,0 @@ -* text=auto -*.ts text eol=lf -*.tsx text eol=lf -*.js text eol=lf -*.jsx text eol=lf -*.css text eol=lf -*.scss text eol=lf -*.json text eol=lf -*.xml text eol=lf -*.md text eol=lf -*.gitattributes eol=lf -*.gitignore eol=lf -*.png binary -*.jpg binary -*.gif binary diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/.gitignore b/packages/command-tests/projects/generated_8_9_ts_web_full/.gitignore deleted file mode 100644 index 532113ec..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -dist/ -node_modules/ -*.log -.env diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/LICENSE b/packages/command-tests/projects/generated_8_9_ts_web_full/LICENSE deleted file mode 100644 index f07c9821..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The Apache License v2.0 - -Copyright 2020 Mendix Technology BV - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/README.md b/packages/command-tests/projects/generated_8_9_ts_web_full/README.md deleted file mode 100644 index a223ce9b..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Generated -[My widget description] - -## Features -[feature highlights] - -## Usage -[step by step instructions] - -## Demo project -[link to sandbox] - -## Issues, suggestions and feature requests -[link to GitHub issues] - -## Development and contribution -[specify contribute] diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/package.json b/packages/command-tests/projects/generated_8_9_ts_web_full/package.json deleted file mode 100644 index 36b01211..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "generated_8_9_ts_web", - "widgetName": "Generated", - "version": "1.0.0", - "description": "My widget description", - "copyright": "2020 Mendix Technology BV", - "author": "John", - "config": { - "widgetPath": "./dist/MxTestProject/widgets", - "projectPath": "./dist/MxTestProject/", - "mendixHost": "http://localhost:8080", - "developmentPort": "3000" - }, - "packagePath": "mendix", - "scripts": { - "start": "concurrently \"pluggable-widgets-tools start:server\" \"npm:dev\"", - "dev": "pluggable-widgets-tools start:ts", - "build": "pluggable-widgets-tools build:ts", - "lint": "pluggable-widgets-tools lint", - "lint:fix": "pluggable-widgets-tools lint:fix", - "pretest": "npm run lint && npm run build", - "test": "pluggable-widgets-tools test:unit --no-cache --ci", - "test:unit": "pluggable-widgets-tools test:unit --coverage", - "prerelease": "npm run lint", - "release": "pluggable-widgets-tools release:ts" - }, - "license": "Apache-2.0", - "devDependencies": { - "@mendix/pluggable-widgets-tools": "^8.9.2", - "@types/big.js": "^4.0.5", - "@types/classnames": "^2.2.4", - "@types/enzyme": "^3.1.10", - "@types/enzyme-adapter-react-16": "^1.0.2", - "@types/jest": "^24.0.0", - "@types/react": "~16.9.0", - "@types/react-dom": "~16.9.0", - "@types/react-test-renderer": "~16.9.0" - }, - "dependencies": { - "classnames": "^2.2.6" - } -} diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/prettier.config.js b/packages/command-tests/projects/generated_8_9_ts_web_full/prettier.config.js deleted file mode 100644 index fea5f6ac..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/prettier.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const base = require("./node_modules/@mendix/pluggable-widgets-tools/configs/prettier.base.json"); - -module.exports = { - ...base -}; diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.editorPreview.tsx b/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.editorPreview.tsx deleted file mode 100644 index 885e27a3..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.editorPreview.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { BadgeSample, BadgeSampleProps } from "./components/BadgeSample"; -import { GeneratedPreviewProps } from "../typings/GeneratedProps"; - -declare function require(name: string): string; - -export class preview extends Component { - render(): ReactNode { - return ( -
- -
- ); - } - - private parentInline(node?: HTMLElement | null): void { - // Temporary fix, the web modeler add a containing div, to render inline we need to change it. - if (node && node.parentElement && node.parentElement.parentElement) { - node.parentElement.parentElement.style.display = "inline-block"; - } - } - - private transformProps(props: GeneratedPreviewProps): BadgeSampleProps { - return { - type: props.generatedType, - bootstrapStyle: props.bootstrapStyle, - className: props.className, // BREAKING CHANGE OF 9.0 - clickable: false, - style: this.parseStyle(props.style), - defaultValue: props.generatedValue ? props.generatedValue : "", - value: props.valueAttribute - }; - } - - private parseStyle(style = ""): { [key: string]: string } { - try { - return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { - const pair = line.split(":"); - if (pair.length === 2) { - const name = pair[0].trim().replace(/(-.)/g, match => match[1].toUpperCase()); - styleObject[name] = pair[1].trim(); - } - return styleObject; - }, {}); - } catch (_) { - return {}; - } - } -} - -export function getPreviewCss(): string { - return require("./ui/Generated.css"); -} diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.tsx b/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.tsx deleted file mode 100644 index 545c1521..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import { hot } from "react-hot-loader/root"; - -import { GeneratedContainerProps } from "../typings/GeneratedProps"; -import { BadgeSample } from "./components/BadgeSample"; -import "./ui/Generated.css"; - -class Generated extends Component { - private readonly onClickHandler = this.onClick.bind(this); - - render(): ReactNode { - return ( - - - ); - } - - private onClick(): void { - if (this.props.onClickAction && this.props.onClickAction.canExecute) { - this.props.onClickAction.execute(); - } - } -} - -export default hot(Generated); diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.xml b/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.xml deleted file mode 100644 index 714f8255..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/Generated.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - Generated - My widget description - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABp1BMVEUAAABV//9mzP9LtP9Ms/9Jtv9NsvdJsfpLtPpJsfdJsfhJsvhJsvdKsvdJsPhKsPhJsfdJsPhJsfdIsfhJsfdIsPdJsfhJsfhJsPhJsPhIsfhIsPdJsPdKsPdKsfdNsvdOsvdPs/dQs/dRtPdStPdTtPdUtfdWtvdXtvdauPdcuPdeufdeufhguvhiu/hju/hkvPhmvfhnvfhpvvhrv/huwPhvwfhxwfhywvhzwvh4xfl5xfl6xfl8xvl9xvl9x/mByPmCyfmFyvmGyvmJzPmKzPmLzfmNzvqPzvqQz/qT0PqU0PqU0fqX0vqY0vqa0/qe1fqg1vqj1/uk1/un2fup2vut2/uv3Puw3Puw3fuz3vu13/u23/u34Pu44Pu64fu64fy84vy94vy+4/y/4/zD5fzE5fzG5vzH5vzI5/zK6PzL6PzR6/zT7P3U7P3V7f3W7f3Y7v3Z7v3c8P3e8f3f8f3g8f3i8v3l8/3l9P3n9P3r9v7t9/7u9/7v+P7w+P7x+f7y+f70+v71+v74/P75/P76/f77/f78/f78/v79/v7+/v7////6dMsRAAAAG3RSTlMAAwURGxwhMTNic3SEh4iVp7XBzejt7vH5/f6PsMNWAAABsklEQVR4AWIYfGAUjIJRMAqYuYREJKWJAqLCPGwY+jnFpEkBEryMqPr5pEkFgkwo9kuTDviR/S9GhgFSHAgDuKXJAQIIA4TIMkAcEY4i0mQBVrgBkuQZwA43QJo8wIFhQEhEOIBQOutHJozDOP5Crp4e1RhkJ0tKGJFd6oNEdtmJyEIzpaZl5nrRZgaHM/2Pf5/vwXXfyagXgG93bwSAlEolowLMm9w83gibhXH2gKKVdD67gTnWjwCk+VVjMQS4suSnnjMLRVFc9sAHvAX2A9fySaXNBMbEZVUWscaHIMRuqwBgD8hDEbnsRmfjUKJkAQZGCTlO/xWBwIADQLIZBlY441MvfoF1xlFS/4fy+bzXKh4dgNJE7L3eh3tmtuWa+AMcMIY3dgUvZQpGEYmMw2kD7HC+R29UqyoXLaBd0QZxzgXgikLLDSqJTKU5HOcS0MsbA9jPqtwCRvXm2eorBbNIJBw3KJ9O4Yl+AAXdnyaLt7PWN3jRWLvzmAVp94zO5+n41/onfo/UpExxZqI0O7NQr0DhIq9Io7hQpbRYp7hiobRqo6ByFcNWuY6CUTAKRgEAo8X0lBD3V30AAAAASUVORK5CYII= - - - - - Value attribute - The attribute that contains the generated value - - - - - - - - - - Default value - The generated value shown when no value is provided via the attribute - - - - - Generated style - The appearance of the generated - - Default - Primary - Success - Info - Inverse - Warning - Danger - - - - Type - Render it as either a badge or a color label - - Badge - Label - - - - - - On click action - Action to trigger when button / label is clicked - - - - diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/Alert.tsx b/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/Alert.tsx deleted file mode 100644 index 5d28aa8f..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/Alert.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { FunctionComponent, createElement } from "react"; -import classNames from "classnames"; - -export interface AlertProps { - message?: string; - className?: string; - bootstrapStyle: "default" | "primary" | "success" | "info" | "inverse" | "warning" | "danger"; -} - -export const Alert: FunctionComponent = (props) => - props.message - ? (
{props.message}
) - : null; - -Alert.displayName = "Alert"; diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/BadgeSample.tsx b/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/BadgeSample.tsx deleted file mode 100644 index 8be0ec7b..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/BadgeSample.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Component, ReactNode, createElement } from "react"; -import classNames from "classnames"; - -export interface BadgeSampleProps { - type: "badge" | "label"; - defaultValue?: string; - className?: string; - style?: object; - value?: string; - bootstrapStyle?: BootstrapStyle; - clickable?: boolean; - onClickAction?: () => void; - getRef?: (node: HTMLElement) => void; -} - -export type BootstrapStyle = "default" | "info" | "inverse" | "primary" | "danger" | "success" | "warning"; - -export class BadgeSample extends Component { - render(): ReactNode { - return ( - {this.props.value || this.props.defaultValue} - ); - } -} diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/__tests__/Alert.spec.tsx b/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/__tests__/Alert.spec.tsx deleted file mode 100644 index 35d240cf..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/__tests__/Alert.spec.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { Alert } from "../Alert"; - -describe("Alert", () => { - it("renders the structure when an alert message is specified", () => { - const message = "This is an error"; - const alert = shallow(); - - expect(alert.equals( -
{message}
- )).toEqual(true); - }); - - it("renders no structure when the alert message is not specified", () => { - const alert = shallow(); - - expect(alert.isEmptyRender()).toEqual(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx b/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx deleted file mode 100644 index 6023ef6f..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/components/__tests__/BadgeSample.spec.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import { createElement } from "react"; -import { shallow } from "enzyme"; - -import { BadgeSample, BadgeSampleProps } from "../BadgeSample"; - -describe("Badge", () => { - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type - const createBadge = (props: BadgeSampleProps) => shallow(); - - it("should render the structure", () => { - const badgeProps: BadgeSampleProps = { - type: "badge", - bootstrapStyle: "default", - value: "0" - }; - const badge = createBadge(badgeProps); - - expect( - badge.equals( - 0 - ) - ).toEqual(true); - }); - - it("should show value when no value or default value provided", () => { - const value = "value"; - const badge = createBadge({ type: "label", value, defaultValue: "default value" }); - - expect(badge.text()).toBe(value); - }); - - it("should show default value when no value is provided", () => { - const defaultValue = "default"; - const badge = createBadge({ type: "label", value: undefined, defaultValue }); - - expect(badge.text()).toBe(defaultValue); - }); - - it("should show no value when no value or default value provided", () => { - const badge = createBadge({ type: "label", value: undefined }); - - expect(badge.text()).toBe(""); - }); - - it("configured as a label should have the class label", () => { - const badge = createBadge({ type: "label" }); - - expect(badge.hasClass("label")).toBe(true); - }); - - it("configured as a badge should have the class badge", () => { - const badge = createBadge({ type: "badge" }); - - expect(badge.hasClass("badge")).toBe(true); - }); - - it("with a click action should respond to click events", () => { - const badgeProps: BadgeSampleProps = { onClickAction: jasmine.createSpy("onClick"), type: "badge" }; - const onClick = badgeProps.onClickAction = jasmine.createSpy("onClick"); - const badge = createBadge(badgeProps); - - badge.simulate("click"); - - expect(onClick).toHaveBeenCalledTimes(1); - }); - - it("with the Bootstrap style default should have the class label-default", () => { - const badge = createBadge({ bootstrapStyle: "default", type: "badge" }); - - expect(badge.hasClass("label-default")).toBe(true); - }); - - it("with the Bootstrap style primary should have the class label-primary", () => { - const badge = createBadge({ bootstrapStyle: "primary", type: "badge" }); - - expect(badge.hasClass("label-primary")).toBe(true); - }); - - it("with the Bootstrap style success should have the class label-success", () => { - const badge = createBadge({ bootstrapStyle: "success", type: "badge" }); - - expect(badge.hasClass("label-success")).toBe(true); - }); - - it("with the Bootstrap style info should have the class label-info", () => { - const badge = createBadge({ bootstrapStyle: "info", type: "badge" }); - - expect(badge.hasClass("label-info")).toBe(true); - }); - - it("with the Bootstrap style warning should have the class label-warning", () => { - const badge = createBadge({ bootstrapStyle: "warning", type: "badge" }); - - expect(badge.hasClass("label-warning")).toBe(true); - }); - - it("with the Bootstrap style danger should have the class label-danger", () => { - const badge = createBadge({ bootstrapStyle: "danger", type: "badge" }); - - expect(badge.hasClass("label-danger")).toBe(true); - }); -}); diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/package.xml b/packages/command-tests/projects/generated_8_9_ts_web_full/src/package.xml deleted file mode 100644 index 6c9abc88..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/package.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/src/ui/Generated.css b/packages/command-tests/projects/generated_8_9_ts_web_full/src/ui/Generated.css deleted file mode 100644 index 1cd78db4..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/src/ui/Generated.css +++ /dev/null @@ -1,24 +0,0 @@ -.widget-generated-clickable { - cursor: pointer; -} - -.widget-generated { - display: inline-block; -} - -.widget-generated.badge:empty { - display: initial; - /* Fix padding to stay round */ - padding: 3px 10px; -} - -.widget-generated.label:empty { - display: initial; - /* Fix padding to stay square */ - padding: .2em .8em .3em; -} - -.widget-generated.badge { - min-width: 18px; - min-height: 18px; -} diff --git a/packages/command-tests/projects/generated_8_9_ts_web_full/tsconfig.json b/packages/command-tests/projects/generated_8_9_ts_web_full/tsconfig.json deleted file mode 100644 index 35baf90f..00000000 --- a/packages/command-tests/projects/generated_8_9_ts_web_full/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/@mendix/pluggable-widgets-tools/configs/tsconfig.base.json" -} diff --git a/packages/generator-widget/CHANGELOG.md b/packages/generator-widget/CHANGELOG.md index 5c155505..b69fdc70 100644 --- a/packages/generator-widget/CHANGELOG.md +++ b/packages/generator-widget/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We upgraded React Native to version 0.78.2 for generated widgets. + ## [11.3.1] - 2026-02-04 ### Changed diff --git a/packages/generator-widget/generators/app/index.js b/packages/generator-widget/generators/app/index.js index 5fd93bf8..719c7523 100644 --- a/packages/generator-widget/generators/app/index.js +++ b/packages/generator-widget/generators/app/index.js @@ -64,7 +64,7 @@ class MxGenerator extends Generator { install() { this.log(text.INSTALL_FINISH_MSG); - this.npmInstall(undefined, { legacyPeerDeps: true }); + this.npmInstall(undefined, { legacyPeerDeps: false }); } async end() { diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json index 65df1bc6..0898ff1e 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json @@ -27,17 +27,19 @@ "output": "./dist/testresults/TESTS-Jest.xml" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1" + "@mendix/pluggable-widgets-tools": "^11.6.0" }, "dependencies": { }, "resolutions": { - "react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json index 587b4aa6..9aac6f64 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json @@ -22,17 +22,19 @@ "release": "pluggable-widgets-tools release:native" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1" + "@mendix/pluggable-widgets-tools": "^11.6.0" }, "dependencies": { }, "resolutions": { - "react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json index 79bc6516..c8cee3f8 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json @@ -27,7 +27,7 @@ "output": "./dist/testresults/TESTS-Jest.xml" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "@types/big.js": "^6.0.2", "@types/jest": "^29.0.0" }, @@ -35,13 +35,17 @@ }, "resolutions": { - "react": "^18.2.0", - "@types/react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "@types/react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json index 3c3f57bc..62a4134c 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json @@ -22,20 +22,24 @@ "release": "pluggable-widgets-tools release:native" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "@types/big.js": "^6.0.2" }, "dependencies": { }, "resolutions": { - "react": "^18.2.0", - "@types/react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "@types/react": "^18.2.0", - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-e2e.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-e2e.json index 68dbd879..2f0775af 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-e2e.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-e2e.json @@ -26,20 +26,20 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "cypress": "^10.10.0" }, "dependencies": { "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit-e2e.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit-e2e.json index 186b01ac..f65cc652 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit-e2e.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit-e2e.json @@ -28,20 +28,20 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "cypress": "^10.10.0" }, "dependencies": { "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit.json index e2926c06..96b1e771 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js-unit.json @@ -27,19 +27,19 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1" + "@mendix/pluggable-widgets-tools": "^11.6.0" }, "dependencies": { "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js.json index 4173776e..37606d34 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-js.json @@ -25,19 +25,19 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1" + "@mendix/pluggable-widgets-tools": "^11.6.0" }, "dependencies": { "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-e2e.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-e2e.json index 5363bcd8..045a15a2 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-e2e.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-e2e.json @@ -26,7 +26,7 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "@types/big.js": "^6.0.2", "@types/jasmine": "^3.6.9", "cypress": "^10.10.0" @@ -35,17 +35,17 @@ "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit-e2e.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit-e2e.json index 17a991db..13138988 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit-e2e.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit-e2e.json @@ -28,7 +28,7 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "@types/big.js": "^6.0.2", "@types/jasmine": "^3.6.9", "@types/jest": "^29.0.0", @@ -38,17 +38,17 @@ "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit.json index 593e92bd..49c0e256 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts-unit.json @@ -27,7 +27,7 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "@types/big.js": "^6.0.2", "@types/jest": "^29.0.0" }, @@ -35,17 +35,17 @@ "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts.json index 920493cc..c17f594c 100644 --- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts.json +++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_web.json-ts.json @@ -25,24 +25,24 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1", + "@mendix/pluggable-widgets-tools": "^11.6.0", "@types/big.js": "^6.0.2" }, "dependencies": { "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0", - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0", - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs b/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs index a73aaecd..69f6a984 100644 --- a/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs +++ b/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs @@ -27,7 +27,7 @@ "output": "./dist/testresults/TESTS-Jest.xml" },<% } %> "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1"<% if (isLanguageTS) { %>, + "@mendix/pluggable-widgets-tools": "^11.6.0"<% if (isLanguageTS) { %>, "@types/big.js": "^6.0.2"<% if (hasUnitTests) { %>, "@types/jest": "^29.0.0"<% } %><% } %> }, @@ -35,13 +35,17 @@ }, "resolutions": { - "react": "^18.2.0",<% if (isLanguageTS) { %> - "@types/react": "^18.2.0",<% } %> - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0",<% if (isLanguageTS) { %> + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0",<% } %> + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0",<% if (isLanguageTS) { %> - "@types/react": "^18.2.0",<% } %> - "react-native": "0.77.3" + "react": "^19.0.0", + "react-dom": "^19.0.0",<% if (isLanguageTS) { %> + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0",<% } %> + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs b/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs index ff973923..bb8b9762 100644 --- a/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs +++ b/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs @@ -28,7 +28,7 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.3.1"<% if (isLanguageTS) { %>, + "@mendix/pluggable-widgets-tools": "^11.6.0"<% if (isLanguageTS) { %>, "@types/big.js": "^6.0.2"<% if (hasE2eTests) { %>, "@types/jasmine": "^3.6.9"<% } %><% if (hasUnitTests) { %>, "@types/jest": "^29.0.0"<% } %><% } %><% if (hasE2eTests) { %>, @@ -38,17 +38,17 @@ "classnames": "^2.2.6" }, "resolutions": { - "react": "^18.2.0", - "react-dom": "18.2.0",<% if (isLanguageTS) { %> - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0",<% } %> - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0",<% if (isLanguageTS) { %> + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0",<% } %> + "react-native": "~0.78.2" }, "overrides": { - "react": "^18.2.0", - "react-dom": "18.2.0",<% if (isLanguageTS) { %> - "@types/react": "^18.2.0", - "@types/react-dom": "18.2.0",<% } %> - "react-native": "0.72.7" + "react": "^19.0.0", + "react-dom": "^19.0.0",<% if (isLanguageTS) { %> + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0",<% } %> + "react-native": "~0.78.2" } } diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/WidgetName.jsx.ejs index 861a6b4f..a249b0b5 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/WidgetName.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { HelloWorld } from "./components/HelloWorld"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/HelloWorld.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/HelloWorld.jsx.ejs index 0d8b99af..3119b09a 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/HelloWorld.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/HelloWorld.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { Text, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs index 605f0cb5..7b915e76 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/WidgetName.jsx.ejs index f04b9b8f..b5628cf9 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/WidgetName.jsx.ejs @@ -1,5 +1,3 @@ -import { createElement } from "react"; - import { HelloWorld } from "./components/HelloWorld"; export function <%- name %>({ yourName, style }) { diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/HelloWorld.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/HelloWorld.jsx.ejs index a46b36a4..8ce20f24 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/HelloWorld.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/HelloWorld.jsx.ejs @@ -1,4 +1,3 @@ -import { createElement } from "react"; import { Text, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs index 605f0cb5..7b915e76 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/WidgetName.tsx.ejs index 062cd1f2..0b272063 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { TextStyle, ViewStyle } from "react-native"; import { Style } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/HelloWorld.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/HelloWorld.tsx.ejs index ae9ecefe..deab8222 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/HelloWorld.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/HelloWorld.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { Text, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs index ba9aa0e3..1e056810 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/WidgetName.tsx.ejs index 450e851e..95b1e0f1 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; import { TextStyle, ViewStyle } from "react-native"; import { Style } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/HelloWorld.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/HelloWorld.tsx.ejs index 6dabbe43..ac2e92bd 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/HelloWorld.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/HelloWorld.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; import { Text, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs index ba9aa0e3..1e056810 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/WidgetName.jsx.ejs index 0ecf7d43..f4d9a2ca 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/WidgetName.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { Badge } from "./components/Badge"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs index 4fa94b2d..baa112df 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { Platform, Text, TouchableNativeFeedback, TouchableOpacity, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs index 5d146d8b..6790b47a 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render, fireEvent } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/WidgetName.jsx.ejs index 48be08fd..a6fd57f9 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/WidgetName.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement, useCallback } from "react"; +import { useCallback } from "react"; import { Badge } from "./components/Badge"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs index 752af8f7..ccd12828 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement, useMemo } from "react"; +import { useMemo } from "react"; import { Platform, Text, TouchableNativeFeedback, TouchableOpacity, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs index 5d146d8b..6790b47a 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render, fireEvent } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/WidgetName.tsx.ejs index de004424..d3b5b857 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { Badge } from "./components/Badge"; import { BadgeStyle } from "./ui/styles"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs index 0bb264db..7832016c 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement, ElementType } from "react"; +import { Component, ReactNode } from "react"; import { Platform, Text, TouchableNativeFeedback, TouchableOpacity, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; @@ -14,25 +14,41 @@ export interface BadgeProps { export class Badge extends Component { private readonly styles = mergeNativeStyles(defaultBadgeStyle, this.props.style); + // React 19 + RN 0.78.x: RN's built-in types still expect legacy component typings (e.g. `refs`). + // We return and assert `ReactNode` here to avoid JSX element type errors until upstream types align. render(): ReactNode { - const Touchable: ElementType = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity; + const isAndroid = Platform.OS === "android"; return ( - - {this.renderContent()} - + {isAndroid ? ( + + {this.renderContent()} + + ) : ( + + {this.renderContent()} + + )} - ); + ) as ReactNode; } private renderContent(): ReactNode { const text = {this.props.value}; if (Platform.OS === "android") { - return {text}; + return ({text}) as ReactNode; } - return text; + return text as ReactNode; } } diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs index 91dca169..3566dafa 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render, fireEvent } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/WidgetName.tsx.ejs index a0fef4c6..36e2a3f7 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement, useCallback } from "react"; +import { ReactElement, useCallback } from "react"; import { Badge } from "./components/Badge"; import { BadgeStyle } from "./ui/styles"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs index 3f42fd81..5d932708 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement, ElementType, useMemo } from "react"; +import { ReactElement, useMemo } from "react"; import { Platform, Text, TouchableNativeFeedback, TouchableOpacity, View } from "react-native"; import { mergeNativeStyles } from "@mendix/pluggable-widgets-tools"; @@ -14,7 +14,7 @@ export interface BadgeProps { export function Badge({ value, style, onClick }: BadgeProps): ReactElement { const styles = mergeNativeStyles(defaultBadgeStyle, style); - const Touchable: ElementType = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity; + const isAndroid = Platform.OS === "android"; const renderContent = useMemo(() => { const text = {value}; @@ -28,9 +28,19 @@ export function Badge({ value, style, onClick }: BadgeProps): ReactElement { return ( - - {renderContent} - + {isAndroid ? ( + + {renderContent} + + ) : ( + + {renderContent} + + )} ); diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs index 91dca169..3566dafa 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render, fireEvent } from "@testing-library/react-native"; import { Platform } from "react-native"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.editorPreview.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.editorPreview.jsx.ejs index 5ad4f987..994c9b4f 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.editorPreview.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.editorPreview.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; export class preview extends Component { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.jsx.ejs index 41162667..6f430ef6 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/WidgetName.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; import "./ui/<%- name %>.css"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/HelloWorldSample.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/HelloWorldSample.jsx.ejs index 207821f7..e22ee289 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/HelloWorldSample.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/HelloWorldSample.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; export class HelloWorldSample extends Component { render() { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/__tests__/HelloWorldSample.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/__tests__/HelloWorldSample.spec.jsx.ejs index 2e475334..f044ed85 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/__tests__/HelloWorldSample.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJs/src/components/__tests__/HelloWorldSample.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs index cbf9178f..31ed4bea 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs @@ -1,4 +1,3 @@ -import { createElement } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; export function preview({ sampleText }) { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.jsx.ejs index e57df971..197b928f 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/WidgetName.jsx.ejs @@ -1,5 +1,3 @@ -import { createElement } from "react"; - import { HelloWorldSample } from "./components/HelloWorldSample"; import "./ui/<%- name %>.css"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/HelloWorldSample.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/HelloWorldSample.jsx.ejs index 802cbfad..5c92166b 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/HelloWorldSample.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/HelloWorldSample.jsx.ejs @@ -1,5 +1,3 @@ -import { createElement } from "react"; - export function HelloWorldSample({ sampleText }) { return
Hello {sampleText}
; } diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/__tests__/HelloWorldSample.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/__tests__/HelloWorldSample.spec.jsx.ejs index 2e475334..f044ed85 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/__tests__/HelloWorldSample.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateJsFn/src/components/__tests__/HelloWorldSample.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.editorPreview.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.editorPreview.tsx.ejs index 62349dc8..791bb53c 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.editorPreview.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.editorPreview.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; import { <%- name %>PreviewProps } from "../typings/<%- name %>Props"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.tsx.ejs index c7370b80..75e093f7 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; import { <%- name %>ContainerProps } from "../typings/<%- name %>Props"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/HelloWorldSample.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/HelloWorldSample.tsx.ejs index ac2f10ba..be0f1947 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/HelloWorldSample.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/HelloWorldSample.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; export interface HelloWorldSampleProps { sampleText?: string; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/__tests__/HelloWorldSample.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/__tests__/HelloWorldSample.spec.tsx.ejs index 2b7d9f0e..d4dd2cd1 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/__tests__/HelloWorldSample.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTs/src/components/__tests__/HelloWorldSample.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs index 25952654..ca163aa7 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; import { <%- name %>PreviewProps } from "../typings/<%- name %>Props"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.tsx.ejs index 6cb14726..2eba33a7 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; import { HelloWorldSample } from "./components/HelloWorldSample"; import { <%- name %>ContainerProps } from "../typings/<%- name %>Props"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/HelloWorldSample.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/HelloWorldSample.tsx.ejs index a43ac3e9..015c4a54 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/HelloWorldSample.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/HelloWorldSample.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; export interface HelloWorldSampleProps { sampleText?: string; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/__tests__/HelloWorldSample.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/__tests__/HelloWorldSample.spec.tsx.ejs index 2b7d9f0e..d4dd2cd1 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/__tests__/HelloWorldSample.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/emptyTemplateTsFn/src/components/__tests__/HelloWorldSample.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.editorPreview.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.editorPreview.jsx.ejs index abe5cd0a..f3734843 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.editorPreview.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.editorPreview.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import { BadgeSample } from "./components/BadgeSample"; import { parseInlineStyle } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.jsx.ejs index c904ab38..de2becc5 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/WidgetName.jsx.ejs @@ -1,5 +1,5 @@ import "./ui/<%- name %>.css"; -import { Component, createElement } from "react"; +import { Component } from "react"; import { BadgeSample } from "./components/BadgeSample"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/Alert.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/Alert.jsx.ejs index 82675ead..ee156c45 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/Alert.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/Alert.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import classNames from "classnames"; export class Alert extends Component { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/BadgeSample.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/BadgeSample.jsx.ejs index fd732176..899719c6 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/BadgeSample.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/BadgeSample.jsx.ejs @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component } from "react"; import classNames from "classnames"; export class BadgeSample extends Component { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/Alert.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/Alert.spec.jsx.ejs index 2a166139..d2b3cafc 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/Alert.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/Alert.spec.jsx.ejs @@ -1,6 +1,6 @@ import "@testing-library/jest-dom"; import { Alert } from "../Alert"; -import { createElement } from "react"; + import { render } from "@testing-library/react"; describe("Alert", () => { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/BadgeSample.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/BadgeSample.spec.jsx.ejs index fa70f623..04e8309a 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/BadgeSample.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJs/src/components/__tests__/BadgeSample.spec.jsx.ejs @@ -1,6 +1,6 @@ import "@testing-library/jest-dom"; import { BadgeSample } from "../BadgeSample"; -import { createElement } from "react"; + import { render } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs index 9eb8b495..1eb55b89 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.editorPreview.jsx.ejs @@ -1,5 +1,3 @@ -import { createElement } from "react"; - import { parseInlineStyle } from "@mendix/pluggable-widgets-tools"; import { BadgeSample } from "./components/BadgeSample"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.jsx.ejs index 20675d8f..81327eb2 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/WidgetName.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement, useCallback } from "react"; +import { useCallback } from "react"; import { BadgeSample } from "./components/BadgeSample"; import "./ui/<%- name %>.css"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/Alert.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/Alert.jsx.ejs index f5fce88b..20d4f93a 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/Alert.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/Alert.jsx.ejs @@ -1,4 +1,3 @@ -import { createElement } from "react"; import classNames from "classnames"; export function Alert({ className, bootstrapStyle, message }) { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/BadgeSample.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/BadgeSample.jsx.ejs index 5f8f0f71..23ec3070 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/BadgeSample.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/BadgeSample.jsx.ejs @@ -1,4 +1,3 @@ -import { createElement } from "react"; import classNames from "classnames"; export function BadgeSample(props) { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/Alert.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/Alert.spec.jsx.ejs index 66ae1cdd..52ae11c6 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/Alert.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/Alert.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/BadgeSample.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/BadgeSample.spec.jsx.ejs index e65f0047..e227f3ce 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/BadgeSample.spec.jsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateJsFn/src/components/__tests__/BadgeSample.spec.jsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.editorPreview.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.editorPreview.tsx.ejs index d01572f2..4e6b4377 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.editorPreview.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.editorPreview.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { parseInlineStyle } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.tsx.ejs index 0cf6f0de..9e266e76 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import { <%- name %>ContainerProps } from "../typings/<%- name %>Props"; import { BadgeSample } from "./components/BadgeSample"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/Alert.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/Alert.tsx.ejs index ba30811b..63399065 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/Alert.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/Alert.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, ReactNode } from "react"; import classNames from "classnames"; export interface AlertProps { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/BadgeSample.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/BadgeSample.tsx.ejs index bf06f6ca..cd48e4a8 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/BadgeSample.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/BadgeSample.tsx.ejs @@ -1,4 +1,4 @@ -import { Component, ReactNode, CSSProperties, createElement } from "react"; +import { Component, ReactNode, CSSProperties } from "react"; import classNames from "classnames"; export interface BadgeSampleProps { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/Alert.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/Alert.spec.tsx.ejs index a8f1b29d..fc029715 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/Alert.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/Alert.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/BadgeSample.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/BadgeSample.spec.tsx.ejs index 12038ed3..150085ac 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/BadgeSample.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTs/src/components/__tests__/BadgeSample.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs index d51a4075..8f586a5e 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.editorPreview.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; import { parseInlineStyle } from "@mendix/pluggable-widgets-tools"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.tsx.ejs index 2832153b..ea55ea65 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/WidgetName.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement, useCallback } from "react"; +import { ReactElement, useCallback } from "react"; import { <%- name %>ContainerProps } from "../typings/<%- name %>Props"; import { BadgeSample } from "./components/BadgeSample"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/Alert.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/Alert.tsx.ejs index 4d094ec7..dab38d1d 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/Alert.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/Alert.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, createElement } from "react"; +import { ReactElement } from "react"; import classNames from "classnames"; export interface AlertProps { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/BadgeSample.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/BadgeSample.tsx.ejs index 5fd530a0..eb29b467 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/BadgeSample.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/BadgeSample.tsx.ejs @@ -1,4 +1,4 @@ -import { ReactElement, CSSProperties, createElement } from "react"; +import { ReactElement, CSSProperties } from "react"; import classNames from "classnames"; export interface BadgeSampleProps { diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/Alert.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/Alert.spec.tsx.ejs index 66ae1cdd..52ae11c6 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/Alert.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/Alert.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/BadgeSample.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/BadgeSample.spec.tsx.ejs index 12038ed3..150085ac 100644 --- a/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/BadgeSample.spec.tsx.ejs +++ b/packages/generator-widget/generators/app/templates/pluggable/web/fullTemplateTsFn/src/components/__tests__/BadgeSample.spec.tsx.ejs @@ -1,4 +1,4 @@ -import { createElement } from "react"; + import { render } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import "@testing-library/jest-dom"; diff --git a/packages/generator-widget/package.json b/packages/generator-widget/package.json index bc98848b..f80b5599 100644 --- a/packages/generator-widget/package.json +++ b/packages/generator-widget/package.json @@ -1,6 +1,6 @@ { "name": "@mendix/generator-widget", - "version": "11.3.1", + "version": "11.6.0", "description": "Mendix Pluggable Widgets Generator", "engines": { "node": ">=16" @@ -22,7 +22,7 @@ }, "devDependencies": { "@prettier/plugin-xml": "^2.2.0", - "babel-eslint": "^10.1.0", + "@babel/eslint-parser": "^7.25.9", "deepmerge": "^4.2.2", "ejs": "^3.1.9", "eslint": "^7.20.0", diff --git a/packages/pluggable-widgets-tools/configs/eslint.js.base.json b/packages/pluggable-widgets-tools/configs/eslint.js.base.json index f614583f..3bb47dfb 100644 --- a/packages/pluggable-widgets-tools/configs/eslint.js.base.json +++ b/packages/pluggable-widgets-tools/configs/eslint.js.base.json @@ -19,8 +19,12 @@ "plugin:prettier/recommended", "plugin:react-hooks/recommended" ], - "parser": "babel-eslint", + "parser": "@babel/eslint-parser", "parserOptions": { + "requireConfigFile": false, + "babelOptions": { + "presets": ["@babel/preset-react"] + }, "ecmaFeatures": { "jsx": true }, @@ -29,18 +33,12 @@ }, "plugins": ["jest", "react"], "rules": { - "no-unused-vars": [ - "warn", - { - "varsIgnorePattern": "createElement", - "args": "none" - } - ], - + "no-unused-vars": "warn", "react/prop-types": "off", "react/no-deprecated": "warn", "react/jsx-uses-vars": "error", "react/jsx-uses-react": "off", + "react/react-in-jsx-scope": "off", "jest/no-disabled-tests": "warn", "jest/no-focused-tests": "error", diff --git a/packages/pluggable-widgets-tools/configs/eslint.ts.base.json b/packages/pluggable-widgets-tools/configs/eslint.ts.base.json index 297192c2..f7f18e71 100644 --- a/packages/pluggable-widgets-tools/configs/eslint.ts.base.json +++ b/packages/pluggable-widgets-tools/configs/eslint.ts.base.json @@ -32,26 +32,14 @@ "plugins": ["@typescript-eslint", "react", "jest"], "rules": { "linebreak-style": ["error", "unix"], - "no-unused-vars": [ - "warn", - { - "varsIgnorePattern": "createElement", - "args": "none" - } - ], - "@typescript-eslint/no-unused-vars": [ - "warn", - { - "varsIgnorePattern": "createElement", - "args": "none" - } - ], - "@typescript-eslint/ban-types": "warn", + "no-unused-vars": "warn", + "@typescript-eslint/no-unused-vars": "warn", "@typescript-eslint/ban-ts-comment": "warn", "@typescript-eslint/camelcase": "off", "@typescript-eslint/class-name-casing": "off", "@typescript-eslint/indent": "off", "@typescript-eslint/no-object-literal-type-assertion": "off", + "@typescript-eslint/no-require-imports": "warn", "@typescript-eslint/no-use-before-define": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-var-requires": "warn", @@ -94,6 +82,7 @@ "react/no-deprecated": "warn", "react/jsx-uses-vars": "error", "react/jsx-uses-react": "off", + "react/react-in-jsx-scope": "off", "array-callback-return": "error", "curly": "error", diff --git a/packages/pluggable-widgets-tools/configs/tsconfig.base.json b/packages/pluggable-widgets-tools/configs/tsconfig.base.json index 5cee5d4d..62627fd5 100644 --- a/packages/pluggable-widgets-tools/configs/tsconfig.base.json +++ b/packages/pluggable-widgets-tools/configs/tsconfig.base.json @@ -16,8 +16,7 @@ "skipLibCheck": true, "noUnusedLocals": true, "noUnusedParameters": true, - "jsx": "react", - "jsxFactory": "createElement", + "jsx": "react-jsx", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "useUnknownInCatchVariables": false, diff --git a/packages/pluggable-widgets-tools/package.json b/packages/pluggable-widgets-tools/package.json index b68e7087..a11b0789 100644 --- a/packages/pluggable-widgets-tools/package.json +++ b/packages/pluggable-widgets-tools/package.json @@ -1,6 +1,6 @@ { "name": "@mendix/pluggable-widgets-tools", - "version": "11.3.1", + "version": "11.6.0", "description": "Mendix Pluggable Widgets Tools", "engines": { "node": ">=20" @@ -48,21 +48,21 @@ "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^14.4.3", "@testing-library/react-native": "^13.3.3", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", "@types/testing-library__jest-dom": "^5.14.5", - "@typescript-eslint/eslint-plugin": "^5.8.1", - "@typescript-eslint/parser": "^5.8.1", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "ansi-colors": "4.1.1", - "babel-eslint": "^10.1.0", + "@babel/eslint-parser": "^7.25.9", "babel-jest": "^29.0.0", "big.js": "^6.0.2", "concurrently": "^6.0.0", "core-js": "^3.6.5", "dotenv": "^8.2.0", - "eslint": "^7.20.0", + "eslint": "^8.0.0", "eslint-config-prettier": "^8.0.0", - "eslint-plugin-jest": "^24.1.5", + "eslint-plugin-jest": "^29.0.0", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-promise": "^4.3.1", "eslint-plugin-react": "~7.28.0", @@ -78,14 +78,14 @@ "jest-jasmine2": "^29.0.3", "jest-junit": "^13.0.0", "make-dir": "^3.1.0", - "mendix": "^10.21.64362", + "mendix": "^11.0.0", "mime": "^3.0.0", "node-fetch": "^2.6.1", "postcss": "^8.3.11", "postcss-import": "^14.0.2", "postcss-url": "^10.1.0", "prettier": "^2.5.1", - "react-test-renderer": "18.3.1", + "react-test-renderer": "^19.2.4", "recursive-copy": "^2.0.11", "resolve": "^1.19.0", "rollup": "^3.29.5", @@ -111,9 +111,9 @@ "@types/node": "^16.18.126", "@types/xml2js": "^0.4.5", "async-mutex": "^0.2.4", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-native": "~0.77.3", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "~0.78.2", "tree-kill": "^1.2.2", "yeoman-test": "^6.2.0" }, diff --git a/packages/pluggable-widgets-tools/utils/migration.js b/packages/pluggable-widgets-tools/utils/migration.js index b7521f8e..ac727029 100644 --- a/packages/pluggable-widgets-tools/utils/migration.js +++ b/packages/pluggable-widgets-tools/utils/migration.js @@ -23,7 +23,7 @@ const dependencies = [ { name: "@types/react-native", version: "remove", check: CheckType.MINOR }, { name: "@types/react-native-push-notification", version: "8.1.1", check: CheckType.MAJOR_MINOR }, { name: "@types/react-dom", version: "remove", check: CheckType.MAJOR }, - { name: "@types/react-test-renderer", version: "18.0.0", check: CheckType.MAJOR }, + { name: "@types/react-test-renderer", version: "19.0.0", check: CheckType.MAJOR }, { name: "@types/enzyme-adapter-react-16", version: "remove", check: CheckType.MAJOR }, { name: "@react-native-firebase/app", version: "17.3.0", check: CheckType.MAJOR_MINOR }, { name: "@react-native-firebase/messaging", version: "17.3.0", check: CheckType.MAJOR_MINOR }, @@ -46,9 +46,9 @@ const dependencies = [ { name: "react-native-webview", version: "11.26.1", check: CheckType.MAJOR_MINOR } ]; -const reactPackage = { version: "18.2.0", check: CheckType.MAJOR_MINOR }; -const reactDomPackage = { version: "18.2.0", check: CheckType.MAJOR_MINOR }; -const reactNativePackage = { version: "0.72.7", check: CheckType.MINOR }; +const reactPackage = { version: "19.0.0", check: CheckType.MAJOR_MINOR }; +const reactDomPackage = { version: "19.0.0", check: CheckType.MAJOR_MINOR }; +const reactNativePackage = { version: "0.78.2", check: CheckType.MINOR }; const resolutionsOverrides = [ { name: "react", ...reactPackage }, @@ -226,6 +226,7 @@ async function checkMigration() { execSync("shx rm -rf ./{node_modules,package-lock.json}", { cwd: process.cwd(), stdio: "inherit" }); console.log("Done."); execSync(`npm install`, { cwd: process.cwd(), stdio: "inherit" }); + execSync(`npx eslint --no-eslintrc --rule '@typescript-eslint/no-unused-vars: ["error", { enableAutofixRemoval: { imports: true } }]' --ext ts,tsx,js,jsx --parser @typescript-eslint/parser --plugin '@typescript-eslint' --fix ./src`, { cwd: process.cwd(), stdio: "inherit" }) } catch (e) { console.log(red("An error occurred while auto updating your dependencies")); console.error(e); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2bc8124..e531084d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,8 +17,8 @@ importers: specifier: ^4.3.1 version: 4.3.2 '@types/node': - specifier: ^16.11.19 - version: 16.18.126 + specifier: ^18.0.0 + version: 18.19.130 '@types/node-fetch': specifier: 2.6.1 version: 2.6.1 @@ -30,7 +30,7 @@ importers: version: 0.4.14 '@typescript-eslint/eslint-plugin': specifier: ^5.40.1 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) async-mutex: specifier: ^0.4.0 version: 0.4.1 @@ -72,7 +72,7 @@ importers: version: 1.2.2 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@16.18.126)(typescript@4.9.5) + version: 10.9.2(@types/node@18.19.130)(typescript@4.9.5) typescript: specifier: ^4.8.4 version: 4.9.5 @@ -98,12 +98,12 @@ importers: specifier: ^5.4.2 version: 5.10.0(encoding@0.1.13)(mem-fs@2.3.0)(yeoman-environment@3.19.3) devDependencies: + '@babel/eslint-parser': + specifier: ^7.25.9 + version: 7.28.6(@babel/core@7.28.0)(eslint@7.32.0) '@prettier/plugin-xml': specifier: ^2.2.0 version: 2.2.0 - babel-eslint: - specifier: ^10.1.0 - version: 10.1.0(eslint@7.32.0) deepmerge: specifier: ^4.2.2 version: 4.3.1 @@ -118,7 +118,7 @@ importers: version: 8.10.0(eslint@7.32.0) eslint-plugin-jest: specifier: ^27.1.3 - version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(jest@29.7.0)(typescript@5.8.3) + version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.56.1(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(typescript@5.8.3) eslint-plugin-prettier: specifier: ^3.3.1 version: 3.4.1(eslint-config-prettier@8.10.0(eslint@7.32.0))(eslint@7.32.0)(prettier@2.8.8) @@ -140,6 +140,9 @@ importers: '@babel/core': specifier: ^7.26.0 version: 7.28.0 + '@babel/eslint-parser': + specifier: ^7.25.9 + version: 7.28.6(@babel/core@7.28.0)(eslint@8.57.1) '@babel/plugin-transform-class-properties': specifier: ^7.25.9 version: 7.27.1(@babel/core@7.28.0) @@ -163,34 +166,34 @@ importers: version: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0)) '@rollup/plugin-alias': specifier: ^5.1.1 - version: 5.1.1(rollup@3.29.5) + version: 5.1.1(rollup@3.30.0) '@rollup/plugin-babel': specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.28.0)(@types/babel__core@7.20.5)(rollup@3.29.5) + version: 6.0.4(@babel/core@7.28.0)(@types/babel__core@7.20.5)(rollup@3.30.0) '@rollup/plugin-commonjs': specifier: ^28.0.1 - version: 28.0.6(rollup@3.29.5) + version: 28.0.6(rollup@3.30.0) '@rollup/plugin-image': specifier: ^3.0.3 - version: 3.0.3(rollup@3.29.5) + version: 3.0.3(rollup@3.30.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@3.29.5) + version: 6.1.0(rollup@3.30.0) '@rollup/plugin-node-resolve': specifier: ^15.3.0 - version: 15.3.1(rollup@3.29.5) + version: 15.3.1(rollup@3.30.0) '@rollup/plugin-terser': specifier: ^0.4.4 - version: 0.4.4(rollup@3.29.5) + version: 0.4.4(rollup@3.30.0) '@rollup/plugin-typescript': specifier: ^12.1.1 - version: 12.1.4(rollup@3.29.5)(tslib@2.8.1)(typescript@5.8.3) + version: 12.1.4(rollup@3.30.0)(tslib@2.8.1)(typescript@5.8.3) '@rollup/plugin-url': specifier: ^8.0.2 - version: 8.0.2(rollup@3.29.5) + version: 8.0.2(rollup@3.30.0) '@rollup/pluginutils': specifier: ^5.1.3 - version: 5.2.0(rollup@3.29.5) + version: 5.2.0(rollup@3.30.0) '@testing-library/dom': specifier: ^8.20.0 version: 8.20.1 @@ -199,34 +202,31 @@ importers: version: 5.17.0 '@testing-library/react': specifier: ^13.4.0 - version: 13.4.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 13.4.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@testing-library/react-native': specifier: ^13.3.3 - version: 13.3.3(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react-test-renderer@18.3.1(react@18.3.1))(react@18.3.1) + version: 13.3.3(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(react-native@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4))(react-test-renderer@19.2.4(react@19.2.4))(react@19.2.4) '@testing-library/user-event': specifier: ^14.4.3 version: 14.6.1(@testing-library/dom@8.20.1) '@types/react': - specifier: ^18.2.0 - version: 18.3.23 + specifier: ^19.0.0 + version: 19.2.14 '@types/react-dom': - specifier: ^18.2.0 - version: 18.3.7(@types/react@18.3.23) + specifier: ^19.0.0 + version: 19.2.3(@types/react@19.2.14) '@types/testing-library__jest-dom': specifier: ^5.14.5 version: 5.14.9 '@typescript-eslint/eslint-plugin': - specifier: ^5.8.1 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3) + specifier: ^8.0.0 + version: 8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/parser': - specifier: ^5.8.1 - version: 5.62.0(eslint@7.32.0)(typescript@5.8.3) + specifier: ^8.0.0 + version: 8.56.1(eslint@8.57.1)(typescript@5.8.3) ansi-colors: specifier: 4.1.1 version: 4.1.1 - babel-eslint: - specifier: ^10.1.0 - version: 10.1.0(eslint@7.32.0) babel-jest: specifier: ^29.0.0 version: 29.7.0(@babel/core@7.28.0) @@ -243,26 +243,26 @@ importers: specifier: ^8.2.0 version: 8.6.0 eslint: - specifier: ^7.20.0 - version: 7.32.0 + specifier: ^8.0.0 + version: 8.57.1 eslint-config-prettier: specifier: ^8.0.0 - version: 8.10.0(eslint@7.32.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-jest: - specifier: ^24.1.5 - version: 24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3) + specifier: ^29.0.0 + version: 29.15.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(typescript@5.8.3) eslint-plugin-prettier: specifier: ^3.3.1 - version: 3.4.1(eslint-config-prettier@8.10.0(eslint@7.32.0))(eslint@7.32.0)(prettier@2.8.8) + version: 3.4.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-promise: specifier: ^4.3.1 version: 4.3.1 eslint-plugin-react: specifier: ~7.28.0 - version: 7.28.0(eslint@7.32.0) + version: 7.28.0(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.2.0 - version: 4.6.2(eslint@7.32.0) + version: 4.6.2(eslint@8.57.1) fast-glob: specifier: ^3.0.0 version: 3.3.3 @@ -297,8 +297,8 @@ importers: specifier: ^3.1.0 version: 3.1.0 mendix: - specifier: ^10.21.64362 - version: 10.24.74050 + specifier: ^11.0.0 + version: 11.7.0 mime: specifier: ^3.0.0 version: 3.0.0 @@ -318,8 +318,8 @@ importers: specifier: ^2.5.1 version: 2.8.8 react-test-renderer: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.2.4 + version: 19.2.4(react@19.2.4) recursive-copy: specifier: ^2.0.11 version: 2.0.14 @@ -328,7 +328,7 @@ importers: version: 1.22.10 rollup: specifier: ^3.29.5 - version: 3.29.5 + version: 3.30.0 rollup-plugin-clear: specifier: ^2.0.7 version: 2.0.7 @@ -337,7 +337,7 @@ importers: version: 1.1.3 rollup-plugin-license: specifier: ^3.5.3 - version: 3.6.0(picomatch@4.0.3)(rollup@3.29.5) + version: 3.6.0(picomatch@4.0.3)(rollup@3.30.0) rollup-plugin-livereload: specifier: ^2.0.5 version: 2.0.5 @@ -391,14 +391,14 @@ importers: specifier: ^0.2.4 version: 0.2.6 react: - specifier: ^18.2.0 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.2.4 react-dom: - specifier: ^18.2.0 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.2.4(react@19.2.4) react-native: - specifier: ~0.77.3 - version: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1) + specifier: ~0.78.2 + version: 0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4) tree-kill: specifier: ^1.2.2 version: 1.2.2 @@ -455,10 +455,6 @@ packages: '@babel/code-frame@7.12.11': resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -471,6 +467,13 @@ packages: resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} engines: {node: '>=6.9.0'} + '@babel/eslint-parser@7.28.6': + resolution: {integrity: sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + '@babel/generator@7.28.0': resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} engines: {node: '>=6.9.0'} @@ -550,10 +553,6 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} @@ -1214,10 +1213,20 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/eslintrc@0.4.3': resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1418,6 +1427,9 @@ packages: engines: {node: '>=16'} hasBin: true + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1579,36 +1591,42 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -1680,28 +1698,44 @@ packages: engines: {node: '>=16'} hasBin: true - '@react-native/assets-registry@0.77.3': - resolution: {integrity: sha512-kLocY1mlQjCdrX0y4eYQblub9NDdX+rkNii3F2rumri532ILjMAvkdpehf2PwQDj0X6PZYF1XFjszPw5uzq0Aw==} + '@react-native/assets-registry@0.78.3': + resolution: {integrity: sha512-gQGoxEq7CuY/LjnHjORrNnJzUkx0YH7r/U1bvdznaaZ4CLcRFa1nKZEmZMv0h9moVqzr7GUbphJzS+RwqoGYIg==} engines: {node: '>=18'} '@react-native/babel-plugin-codegen@0.77.3': resolution: {integrity: sha512-UbjQY8vFCVD4Aw4uSRWslKa26l1uOZzYhhKzWWOrV36f2NnP9Siid2rPkLa+MIJk16G2UzDRtUrMhGuejxp9cQ==} engines: {node: '>=18'} + '@react-native/babel-plugin-codegen@0.78.3': + resolution: {integrity: sha512-yKs7KR9CzqGaM8mZi4vdjgaNgqomj094U325h2GWqsdj9+m/lf8e/Crd9sLDFtK0W2UCbcVw2L+M8okqXJ3oHw==} + engines: {node: '>=18'} + '@react-native/babel-preset@0.77.3': resolution: {integrity: sha512-Cy1RoL5/nh2S/suWgfTuhUwkERoDN/Q2O6dZd3lcNcBrjd5Y++sBJGyBnHd9pqlSmOy8RLLBJZ9dOylycBOqzQ==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' + '@react-native/babel-preset@0.78.3': + resolution: {integrity: sha512-L1DRY8CYbrnpFoqVgeRW1FO8ZfgagYd3nx0M+9oaqG/VFX5rrfoMt011ZDeoYpmNayZS7klkqCFQLXVWAMPNBA==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + '@react-native/codegen@0.77.3': resolution: {integrity: sha512-Q6ZJCE7h6Z3v3DiEZUnqzHbgwF3ZILN+ACTx6qu/x2X1cL96AatKwdX92e0+7J9RFg6gdoFYJgRrW8Q6VnWZsQ==} engines: {node: '>=18'} peerDependencies: '@babel/preset-env': ^7.1.6 - '@react-native/community-cli-plugin@0.77.3': - resolution: {integrity: sha512-8OKvow2jHojl1d3PW/84uTBPMnmxRyPtfhBL0sQxrWP5Kgooe5XALoWsoBIFk+aIFu/fV7Pv0AAd0cdLC0NtOg==} + '@react-native/codegen@0.78.3': + resolution: {integrity: sha512-p6mbFm6vvDskMj3zBzFIhHc85i2G/f47HwkFLJYSdWUITrPaVlXLSjSoCQPhYSNqrMv2g376OZZ+QXjp50XnTQ==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/community-cli-plugin@0.78.3': + resolution: {integrity: sha512-Ax4mYFHxWH7xDsfPr7UR+WHBXAv3rXNzROEc7xVNsbNtpNVTHSqawUfDzH8jCO4rJEYQU18RARHwhBIXKwLFew==} engines: {node: '>=18'} peerDependencies: '@react-native-community/cli': '*' @@ -1709,36 +1743,36 @@ packages: '@react-native-community/cli': optional: true - '@react-native/debugger-frontend@0.77.3': - resolution: {integrity: sha512-FTERmc43r/3IpTvUZTr9gVVTgOIrg1hrkN57POr/CiL8RbcY/nv6vfNM7/CXG5WF8ckHiLeWTcRHzJUl1+rFkw==} + '@react-native/debugger-frontend@0.78.3': + resolution: {integrity: sha512-ImYGtEI9zsF/pietY45M8vd3OVWEkECbOngOhul0GVHECBsSHuOaQ/8PoxWl9Rps+8p1048aIMsPT9QzEtGwtQ==} engines: {node: '>=18'} - '@react-native/dev-middleware@0.77.3': - resolution: {integrity: sha512-tCylGMjibJAEl2r2nWX5L5CvK6XFLGbjhe7Su7OcxRGrynHin87rAmcaTeoTtbtsREFlFM0f4qxcmwCxmbZHJw==} + '@react-native/dev-middleware@0.78.3': + resolution: {integrity: sha512-7upCJUYTFt3AwDQqByWDmTdlHYU93AdU+rsndis2xsJI4h7DrEjKtvvEgFOJG+jGHcyct9vNu1S+Jj2g8DRguQ==} engines: {node: '>=18'} - '@react-native/gradle-plugin@0.77.3': - resolution: {integrity: sha512-GRVNBDowaFub9j+WBLGI09bDbCq+f7ugaNRr6lmZnLx/xdmiKUj9YKyARt4zn8m65MRK2JGlJk0OqmQOvswpzQ==} + '@react-native/gradle-plugin@0.78.3': + resolution: {integrity: sha512-Nrg3TRd/kjE+qOvukqeP5GqD1/oMd25X2yv370lWHBt9d0RJ0d008almkb5fHxQa+vKPeiAEhK726qCX8YXvIQ==} engines: {node: '>=18'} - '@react-native/js-polyfills@0.77.3': - resolution: {integrity: sha512-XqxnQRyKD11u5ZYG5LPnElThWYJf3HMosqqkJGB4nwx6nc6WKxj1sR9snptibExDMGioZ2OyvPWCF8tX+qggrw==} + '@react-native/js-polyfills@0.78.3': + resolution: {integrity: sha512-RvWAV2qU+XgMRVF+WIJQIqKdfrth1ghhdzAoKkXpXRKgWPps/6ZSCFgxkSjYaxAwXREOEx8/HunSmXDCsW+0ag==} engines: {node: '>=18'} - '@react-native/metro-babel-transformer@0.77.3': - resolution: {integrity: sha512-eBX5ibF1ovuZGwo08UOhnnkZDnhl8DdrCulJ8V/LCnpC6CihhQyxtolO+BmzXjUFyGiH7ImoxX7+mpXI74NYGg==} + '@react-native/metro-babel-transformer@0.78.3': + resolution: {integrity: sha512-VSzAJ5G7uD1F5nG6NagHZFq6Q6dpsCU6LH+2j7iTsXZ9QUSds54f+WP5RC0UHZcVkQavSfqzu3+wj4pYGv5Pzg==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/normalize-colors@0.77.3': - resolution: {integrity: sha512-9gHhvK0EKskgIN4JiwzQdxiKhLCgH2LpCp+v38ZxWQpXTMbTDDE4AJRqYgWp2v9WUFQB/S5+XqBDZDgn/MGq9A==} + '@react-native/normalize-colors@0.78.3': + resolution: {integrity: sha512-/Nbuhc65xSVE3KFCejQEI9pgF+uwArj6EMHMVCkRtUqkM88Ng+f+8E7PyNN0hDUnj2Vr30FwBczdwm1kQLTWZA==} - '@react-native/virtualized-lists@0.77.3': - resolution: {integrity: sha512-3B0TPbLp7ZMWTlsOf+MzcuKuqF2HZzqh94+tPvw1thF5PxPaO2yZjVxfjrQ9EtdhQisG4siwiXVHB9DD6VkU4A==} + '@react-native/virtualized-lists@0.78.3': + resolution: {integrity: sha512-LgZYG6GmKXGoEEIvWyK8HCka4O4th5aWurB4Ah7XH9WI2ZDvIZLwJNhOU+rbCK4kKCS175/rOioajMAI/U/3iA==} engines: {node: '>=18'} peerDependencies: - '@types/react': ^18.2.6 + '@types/react': ^19.0.0 react: '*' react-native: '*' peerDependenciesMeta: @@ -2026,32 +2060,34 @@ packages: '@types/node@16.18.126': resolution: {integrity: sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==} + '@types/node@18.19.130': + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} '@types/pixelmatch@5.2.6': resolution: {integrity: sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/react-dom@18.3.7': resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} peerDependencies: '@types/react': ^18.0.0 - '@types/react@18.0.38': - resolution: {integrity: sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==} + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.0.14': + resolution: {integrity: sha512-ixLZ7zG7j1fM0DijL9hDArwhwcCb4vqmePgwtV0GfnkHRSCUEv4LvzarcTdhoqgyMznUx/EhoTUv31CKZzkQlw==} - '@types/react@18.3.23': - resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} + '@types/react@19.2.14': + resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - '@types/scheduler@0.26.0': - resolution: {integrity: sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA==} - '@types/semver@7.7.0': resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} @@ -2099,11 +2135,13 @@ packages: typescript: optional: true - '@typescript-eslint/experimental-utils@4.33.0': - resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} - engines: {node: ^10.12.0 || >=12.0.0} + '@typescript-eslint/eslint-plugin@8.56.1': + resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '*' + '@typescript-eslint/parser': ^8.56.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/parser@5.62.0': resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} @@ -2115,14 +2153,33 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@4.33.0': - resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + '@typescript-eslint/parser@8.56.1': + resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.56.1': + resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.56.1': + resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.56.1': + resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/type-utils@5.62.0': resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2133,22 +2190,20 @@ packages: typescript: optional: true - '@typescript-eslint/types@4.33.0': - resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + '@typescript-eslint/type-utils@8.56.1': + resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/typescript-estree@4.33.0': - resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@8.56.1': + resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -2159,20 +2214,33 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.56.1': + resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/visitor-keys@4.33.0': - resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + '@typescript-eslint/utils@8.56.1': + resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@8.56.1': + resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -2425,13 +2493,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - babel-eslint@10.1.0: - resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==} - engines: {node: '>=6'} - deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. - peerDependencies: - eslint: '>= 4.12.1' - babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2489,6 +2550,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2522,6 +2587,10 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.3: + resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} + engines: {node: 18 || 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -2656,9 +2725,6 @@ packages: ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - ci-info@3.5.0: - resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -2923,6 +2989,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + cuint@0.2.2: resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} @@ -2973,6 +3042,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debuglog@1.0.1: resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -3247,16 +3325,6 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-jest@24.7.0: - resolution: {integrity: sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==} - engines: {node: '>=10'} - peerDependencies: - '@typescript-eslint/eslint-plugin': '>= 4' - eslint: '>=5' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - eslint-plugin-jest@27.9.0: resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3270,6 +3338,22 @@ packages: jest: optional: true + eslint-plugin-jest@29.15.0: + resolution: {integrity: sha512-ZCGr7vTH2WSo2hrK5oM2RULFmMruQ7W3cX7YfwoTiPfzTGTFBMmrVIz45jZHd++cGKj/kWf02li/RhTGcANJSA==} + engines: {node: ^20.12.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + jest: '*' + typescript: '>=4.8.4 <6.0.0' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + typescript: + optional: true + eslint-plugin-prettier@3.4.1: resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==} engines: {node: '>=6.0.0'} @@ -3326,12 +3410,6 @@ packages: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -3344,6 +3422,10 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3474,6 +3556,15 @@ packages: picomatch: optional: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -3652,6 +3743,7 @@ packages: glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@11.0.3: @@ -3666,7 +3758,7 @@ packages: glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} @@ -3684,9 +3776,6 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -3834,6 +3923,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + image-size@1.2.1: resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} engines: {node: '>=16.x'} @@ -4307,10 +4400,6 @@ packages: resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-util@29.4.1: - resolution: {integrity: sha512-bQy9FPGxVutgpN4VRc0hk6w7Hx/m6L53QxpDreTZgJd9gfx/AV2MjyPde9tGyZRINAUrSv57p2inGBu2dRLmkQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-util@29.7.0: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4362,9 +4451,6 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsc-android@250231.0.0: - resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} - jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} @@ -4658,8 +4744,8 @@ packages: memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - mendix@10.24.74050: - resolution: {integrity: sha512-H5cIWJQJtqM/rbJhlBlG5jTxIYbgQEuoeXsZjarehlBcBmEzrHMe6LU07xa1a/kwp+aHOcT/cQpaHM6Xkh648w==} + mendix@11.7.0: + resolution: {integrity: sha512-zapmcUnSbnYq0BcV7Bbx1S6wXoC1AuNqUl0PeSlYa9a3ymDfNoOxHqQotg7QvAhRZklmRAYz7QOwgNe8SeedWA==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -4736,6 +4822,7 @@ packages: metro-react-native-babel-preset@0.76.9: resolution: {integrity: sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ==} engines: {node: '>=16'} + deprecated: Use @react-native/babel-preset instead peerDependencies: '@babel/core': '*' @@ -4857,6 +4944,10 @@ packages: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} + minimatch@10.2.3: + resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} + engines: {node: 18 || 20 || >=22} + minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} @@ -5347,10 +5438,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} @@ -5734,10 +5821,10 @@ packages: react-devtools-core@6.1.5: resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.2.4: + resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} peerDependencies: - react: ^18.3.1 + react: ^19.2.4 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -5748,13 +5835,16 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-native@0.77.3: - resolution: {integrity: sha512-fIYZ9+zX+iGcb/xGZA6oN3Uq9x46PdqVYtlyG+WmOIFQPVXgryaS9FJLdTvoTpsEA2JXGSGgNOdm640IdAW3cA==} + react-is@19.2.4: + resolution: {integrity: sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==} + + react-native@0.78.3: + resolution: {integrity: sha512-e8fMZ/hUHWest9VUaM7tz8AghfekwfSEbZOBrrN2dVt+wYvzEMWYPY3RopUf3M1UhKUdIlNBuCX0eQ8VDhdXGA==} engines: {node: '>=18'} hasBin: true peerDependencies: - '@types/react': ^18.2.6 - react: ^18.2.0 + '@types/react': ^19.0.0 + react: ^19.0.0 peerDependenciesMeta: '@types/react': optional: true @@ -5767,18 +5857,13 @@ packages: resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==} engines: {node: '>=0.10.0'} - react-shallow-renderer@16.15.0: - resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} - peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - - react-test-renderer@18.3.1: - resolution: {integrity: sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==} + react-test-renderer@19.2.4: + resolution: {integrity: sha512-Ttl5D7Rnmi6JGMUpri4UjB4BAN0FPs4yRDnu2XSsigCWOLm11o8GwRlVsh27ER+4WFqsGtrBuuv5zumUaRCmKw==} peerDependencies: - react: ^18.3.1 + react: ^19.2.4 - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.2.4: + resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -5986,8 +6071,8 @@ packages: rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - rollup@3.29.5: - resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} + rollup@3.30.0: + resolution: {integrity: sha512-kQvGasUgN+AlWGliFn2POSajRQEsULVYFGTvOZmK06d7vCD+YhZztt70kGk3qaeAXeWYL5eO7zx+rAubBc55eA==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true @@ -6041,11 +6126,11 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} - scheduler@0.24.0-canary-efb381bbf-20230505: - resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} scoped-regex@2.1.0: resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} @@ -6068,6 +6153,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} @@ -6470,6 +6560,10 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -6507,6 +6601,12 @@ packages: treeverse@1.0.4: resolution: {integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==} + ts-api-utils@2.4.0: + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-jest@29.4.0: resolution: {integrity: sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} @@ -6636,6 +6736,9 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -7015,12 +7118,6 @@ snapshots: dependencies: '@babel/highlight': 7.25.9 - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -7049,6 +7146,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/eslint-parser@7.28.6(@babel/core@7.28.0)(eslint@7.32.0)': + dependencies: + '@babel/core': 7.28.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/eslint-parser@7.28.6(@babel/core@7.28.0)(eslint@8.57.1)': + dependencies: + '@babel/core': 7.28.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.1 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + '@babel/generator@7.28.0': dependencies: '@babel/parser': 7.28.0 @@ -7094,7 +7207,7 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.1 + debug: 4.4.3 lodash.debounce: 4.0.8 resolve: 1.22.10 transitivePeerDependencies: @@ -7163,8 +7276,6 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.25.9': {} - '@babel/helper-validator-identifier@7.27.1': {} '@babel/helper-validator-option@7.27.1': {} @@ -7948,7 +8059,7 @@ snapshots: '@babel/parser': 7.28.0 '@babel/template': 7.27.2 '@babel/types': 7.28.1 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -7973,12 +8084,19 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.1': {} + '@eslint-community/regexpp@4.12.2': {} + '@eslint/eslintrc@0.4.3': dependencies: ajv: 6.12.6 - debug: 4.4.1 + debug: 4.4.3 espree: 7.3.1 globals: 13.24.0 ignore: 4.0.6 @@ -7992,7 +8110,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.4.1 + debug: 4.4.3 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -8018,7 +8136,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.1 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -8026,7 +8144,7 @@ snapshots: '@humanwhocodes/config-array@0.5.0': dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.4.1 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -8317,6 +8435,10 @@ snapshots: - mem-fs - supports-color + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + dependencies: + eslint-scope: 5.1.1 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -8359,7 +8481,7 @@ snapshots: read-package-json-fast: 2.0.3 readdir-scoped-modules: 1.1.0 rimraf: 3.0.2 - semver: 7.7.2 + semver: 7.7.4 ssri: 8.0.1 treeverse: 1.0.4 walk-up-path: 1.0.0 @@ -8370,16 +8492,16 @@ snapshots: '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.2 + semver: 7.7.4 '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.2 + semver: 7.7.4 '@npmcli/fs@3.1.1': dependencies: - semver: 7.7.2 + semver: 7.7.4 '@npmcli/git@2.1.0': dependencies: @@ -8389,7 +8511,7 @@ snapshots: npm-pick-manifest: 6.1.1 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.7.2 + semver: 7.7.4 which: 2.0.2 transitivePeerDependencies: - bluebird @@ -8402,7 +8524,7 @@ snapshots: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.7.2 + semver: 7.7.4 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -8429,7 +8551,7 @@ snapshots: cacache: 15.3.0 json-parse-even-better-errors: 2.3.1 pacote: 12.0.3 - semver: 7.7.2 + semver: 7.7.4 transitivePeerDependencies: - bluebird - supports-color @@ -8677,7 +8799,7 @@ snapshots: node-stream-zip: 1.15.0 ora: 5.4.1 prompts: 2.4.2 - semver: 7.7.2 + semver: 7.7.4 strip-ansi: 5.2.0 sudo-prompt: 9.2.1 wcwidth: 1.0.1 @@ -8767,7 +8889,7 @@ snapshots: node-fetch: 2.7.0(encoding@0.1.13) open: 6.4.0 ora: 5.4.1 - semver: 7.7.2 + semver: 7.7.4 shell-quote: 1.8.3 transitivePeerDependencies: - encoding @@ -8796,7 +8918,7 @@ snapshots: fs-extra: 8.1.0 graceful-fs: 4.2.11 prompts: 2.4.2 - semver: 7.7.2 + semver: 7.7.4 transitivePeerDependencies: - '@babel/core' - bufferutil @@ -8805,7 +8927,7 @@ snapshots: - utf-8-validate optional: true - '@react-native/assets-registry@0.77.3': {} + '@react-native/assets-registry@0.78.3': {} '@react-native/babel-plugin-codegen@0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))': dependencies: @@ -8815,6 +8937,14 @@ snapshots: - '@babel/preset-env' - supports-color + '@react-native/babel-plugin-codegen@0.78.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))': + dependencies: + '@babel/traverse': 7.28.0 + '@react-native/codegen': 0.78.3(@babel/preset-env@7.28.0(@babel/core@7.28.0)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + '@react-native/babel-preset@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))': dependencies: '@babel/core': 7.28.0 @@ -8866,6 +8996,57 @@ snapshots: - '@babel/preset-env' - supports-color + '@react-native/babel-preset@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.28.1(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/template': 7.27.2 + '@react-native/babel-plugin-codegen': 0.78.3(@babel/preset-env@7.28.0(@babel/core@7.28.0)) + babel-plugin-syntax-hermes-parser: 0.25.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + '@react-native/codegen@0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))': dependencies: '@babel/parser': 7.28.0 @@ -8879,10 +9060,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))': + '@react-native/codegen@0.78.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))': dependencies: - '@react-native/dev-middleware': 0.77.3 - '@react-native/metro-babel-transformer': 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0)) + '@babel/parser': 7.28.0 + '@babel/preset-env': 7.28.0(@babel/core@7.28.0) + glob: 7.2.3 + hermes-parser: 0.25.1 + invariant: 2.2.4 + jscodeshift: 17.3.0(@babel/preset-env@7.28.0(@babel/core@7.28.0)) + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@react-native/community-cli-plugin@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))': + dependencies: + '@react-native/dev-middleware': 0.78.3 + '@react-native/metro-babel-transformer': 0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0)) chalk: 4.1.2 debug: 2.6.9 invariant: 2.2.4 @@ -8890,7 +9084,7 @@ snapshots: metro-config: 0.81.5 metro-core: 0.81.5 readline: 1.3.0 - semver: 7.7.2 + semver: 7.7.4 optionalDependencies: '@react-native-community/cli': 11.4.1(@babel/core@7.28.0)(encoding@0.1.13) transitivePeerDependencies: @@ -8900,12 +9094,12 @@ snapshots: - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.77.3': {} + '@react-native/debugger-frontend@0.78.3': {} - '@react-native/dev-middleware@0.77.3': + '@react-native/dev-middleware@0.78.3': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.77.3 + '@react-native/debugger-frontend': 0.78.3 chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 @@ -8921,49 +9115,49 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.77.3': {} + '@react-native/gradle-plugin@0.78.3': {} - '@react-native/js-polyfills@0.77.3': {} + '@react-native/js-polyfills@0.78.3': {} - '@react-native/metro-babel-transformer@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))': + '@react-native/metro-babel-transformer@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))': dependencies: '@babel/core': 7.28.0 - '@react-native/babel-preset': 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0)) + '@react-native/babel-preset': 0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0)) hermes-parser: 0.25.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/normalize-colors@0.77.3': {} + '@react-native/normalize-colors@0.78.3': {} - '@react-native/virtualized-lists@0.77.3(@types/react@18.3.23)(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react@18.3.1)': + '@react-native/virtualized-lists@0.78.3(@types/react@19.2.14)(react-native@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react: 18.3.1 - react-native: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1) + react: 19.2.4 + react-native: 0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 19.2.14 - '@rollup/plugin-alias@5.1.1(rollup@3.29.5)': + '@rollup/plugin-alias@5.1.1(rollup@3.30.0)': optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/plugin-babel@6.0.4(@babel/core@7.28.0)(@types/babel__core@7.20.5)(rollup@3.29.5)': + '@rollup/plugin-babel@6.0.4(@babel/core@7.28.0)(@types/babel__core@7.20.5)(rollup@3.30.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) optionalDependencies: '@types/babel__core': 7.20.5 - rollup: 3.29.5 + rollup: 3.30.0 transitivePeerDependencies: - supports-color - '@rollup/plugin-commonjs@28.0.6(rollup@3.29.5)': + '@rollup/plugin-commonjs@28.0.6(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.6(picomatch@4.0.3) @@ -8971,63 +9165,63 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.3 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/plugin-image@3.0.3(rollup@3.29.5)': + '@rollup/plugin-image@3.0.3(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) mini-svg-data-uri: 1.4.4 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/plugin-json@6.1.0(rollup@3.29.5)': + '@rollup/plugin-json@6.1.0(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/plugin-node-resolve@15.3.1(rollup@3.29.5)': + '@rollup/plugin-node-resolve@15.3.1(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/plugin-terser@0.4.4(rollup@3.29.5)': + '@rollup/plugin-terser@0.4.4(rollup@3.30.0)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.43.1 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/plugin-typescript@12.1.4(rollup@3.29.5)(tslib@2.8.1)(typescript@5.8.3)': + '@rollup/plugin-typescript@12.1.4(rollup@3.30.0)(tslib@2.8.1)(typescript@5.8.3)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) resolve: 1.22.10 typescript: 5.8.3 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 tslib: 2.8.1 - '@rollup/plugin-url@8.0.2(rollup@3.29.5)': + '@rollup/plugin-url@8.0.2(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@3.29.5) + '@rollup/pluginutils': 5.2.0(rollup@3.30.0) make-dir: 3.1.0 mime: 3.0.0 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 - '@rollup/pluginutils@5.2.0(rollup@3.29.5)': + '@rollup/pluginutils@5.2.0(rollup@3.30.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 3.29.5 + rollup: 3.30.0 '@sideway/address@4.1.5': dependencies: @@ -9116,25 +9310,25 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react-native@13.3.3(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react-test-renderer@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react-native@13.3.3(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(react-native@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4))(react-test-renderer@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: jest-matcher-utils: 30.0.5 picocolors: 1.1.1 pretty-format: 30.0.5 - react: 18.3.1 - react-native: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1) - react-test-renderer: 18.3.1(react@18.3.1) + react: 19.2.4 + react-native: 0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4) + react-test-renderer: 19.2.4(react@19.2.4) redent: 3.0.0 optionalDependencies: jest: 29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)) - '@testing-library/react@13.4.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@13.4.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@babel/runtime': 7.27.6 '@testing-library/dom': 8.20.1 - '@types/react-dom': 18.3.7(@types/react@18.3.23) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@types/react-dom': 18.3.7(@types/react@19.2.14) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) transitivePeerDependencies: - '@types/react' @@ -9245,33 +9439,34 @@ snapshots: '@types/node@16.18.126': {} + '@types/node@18.19.130': + dependencies: + undici-types: 5.26.5 + '@types/normalize-package-data@2.4.4': {} '@types/pixelmatch@5.2.6': dependencies: '@types/node': 16.18.126 - '@types/prop-types@15.7.15': {} + '@types/react-dom@18.3.7(@types/react@19.2.14)': + dependencies: + '@types/react': 19.2.14 - '@types/react-dom@18.3.7(@types/react@18.3.23)': + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: - '@types/react': 18.3.23 + '@types/react': 19.2.14 - '@types/react@18.0.38': + '@types/react@19.0.14': dependencies: - '@types/prop-types': 15.7.15 - '@types/scheduler': 0.26.0 csstype: 3.1.3 - '@types/react@18.3.23': + '@types/react@19.2.14': dependencies: - '@types/prop-types': 15.7.15 - csstype: 3.1.3 + csstype: 3.2.3 '@types/resolve@1.20.2': {} - '@types/scheduler@0.26.0': {} - '@types/semver@7.7.0': {} '@types/shelljs@0.8.17': @@ -9314,10 +9509,29 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + debug: 4.4.1 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare-lite: 1.4.0 + semver: 7.7.2 + tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.56.1(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.56.1(eslint@7.32.0)(typescript@5.8.3) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@7.32.0)(typescript@5.8.3) '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.8.3) @@ -9332,11 +9546,12 @@ snapshots: typescript: 5.8.3 transitivePeerDependencies: - supports-color + optional: true - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/parser': 8.56.1(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) @@ -9352,70 +9567,125 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/experimental-utils@4.33.0(eslint@7.32.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@types/json-schema': 7.0.15 - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@5.8.3) - eslint: 7.32.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@7.32.0) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.56.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/type-utils': 8.56.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.1 + eslint: 8.57.1 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3)': + '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) debug: 4.4.1 - eslint: 7.32.0 + eslint: 8.57.1 optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.56.1(eslint@7.32.0)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 + eslint: 7.32.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color + optional: true - '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.4.1 + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 eslint: 8.57.1 - optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@4.33.0': + '@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 + eslint: 8.57.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.56.1(typescript@4.9.5)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@4.9.5) + '@typescript-eslint/types': 8.56.1 + debug: 4.4.3 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.56.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.8.3) + '@typescript-eslint/types': 8.56.1 + debug: 4.4.3 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/scope-manager@8.56.1': + dependencies: + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@4.9.5)': + dependencies: + typescript: 4.9.5 + + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + '@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.8.3) - debug: 4.4.1 + debug: 4.4.3 eslint: 7.32.0 tsutils: 3.21.0(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color + optional: true '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.4.1 + debug: 4.4.3 eslint: 8.57.1 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: @@ -9423,32 +9693,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@4.33.0': {} - - '@typescript-eslint/types@5.62.0': {} - - '@typescript-eslint/typescript-estree@4.33.0(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.56.1(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.4.1 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.7.2 - tsutils: 3.21.0(typescript@5.8.3) - optionalDependencies: + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.8.3) + debug: 4.4.3 + eslint: 8.57.1 + ts-api-utils: 2.4.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/types@5.62.0': {} + + '@typescript-eslint/types@8.56.1': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.1 + debug: 4.4.3 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.7.2 + semver: 7.7.4 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: typescript: 4.9.5 @@ -9459,16 +9727,46 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.1 + debug: 4.4.3 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.7.2 + semver: 7.7.4 tsutils: 3.21.0(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.56.1(typescript@4.9.5)': + dependencies: + '@typescript-eslint/project-service': 8.56.1(typescript@4.9.5) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@4.9.5) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 + minimatch: 10.2.3 + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.56.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.8.3) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 + minimatch: 10.2.3 + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@5.62.0(eslint@7.32.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@7.32.0) @@ -9479,7 +9777,7 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) eslint: 7.32.0 eslint-scope: 5.1.1 - semver: 7.7.2 + semver: 7.7.4 transitivePeerDependencies: - supports-color - typescript @@ -9494,21 +9792,32 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) eslint: 8.57.1 eslint-scope: 5.1.1 - semver: 7.7.2 + semver: 7.7.4 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@4.33.0': + '@typescript-eslint/utils@8.56.1(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) + eslint: 8.57.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.56.1': + dependencies: + '@typescript-eslint/types': 8.56.1 + eslint-visitor-keys: 5.0.1 + '@ungap/structured-clone@1.3.0': {} '@xml-tools/parser@1.0.11': @@ -9551,7 +9860,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -9781,18 +10090,6 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - babel-eslint@10.1.0(eslint@7.32.0): - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.0 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.1 - eslint: 7.32.0 - eslint-visitor-keys: 1.3.0 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - babel-jest@29.7.0(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 @@ -9921,6 +10218,8 @@ snapshots: balanced-match@1.0.2: {} + balanced-match@4.0.4: {} + base64-js@1.5.1: {} before-after-hook@2.2.3: {} @@ -9957,6 +10256,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.3: + dependencies: + balanced-match: 4.0.4 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -10162,8 +10465,6 @@ snapshots: ci-info@2.0.0: {} - ci-info@3.5.0: {} - ci-info@3.9.0: {} ci-info@4.3.0: {} @@ -10462,6 +10763,8 @@ snapshots: csstype@3.1.3: {} + csstype@3.2.3: {} + cuint@0.2.2: {} dargs@7.0.0: {} @@ -10507,6 +10810,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + debuglog@1.0.1: {} decamelize@1.2.0: @@ -10836,26 +11143,27 @@ snapshots: dependencies: eslint: 8.57.1 - eslint-plugin-jest@24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.56.1(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(typescript@5.8.3): dependencies: - '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@5.8.3) + '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.8.3) eslint: 7.32.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@8.56.1(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3) + jest: 29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(jest@29.7.0)(typescript@5.8.3): + eslint-plugin-jest@29.15.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(typescript@5.8.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.8.3) - eslint: 7.32.0 + '@typescript-eslint/utils': 8.56.1(eslint@8.57.1)(typescript@5.8.3) + eslint: 8.57.1 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.8.3))(eslint@7.32.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) jest: 29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - - typescript eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.10.0(eslint@7.32.0))(eslint@7.32.0)(prettier@2.8.8): dependencies: @@ -10865,6 +11173,14 @@ snapshots: optionalDependencies: eslint-config-prettier: 8.10.0(eslint@7.32.0) + eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8): + dependencies: + eslint: 8.57.1 + prettier: 2.8.8 + prettier-linter-helpers: 1.0.0 + optionalDependencies: + eslint-config-prettier: 8.10.0(eslint@8.57.1) + eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8): dependencies: eslint: 8.57.1 @@ -10879,12 +11195,16 @@ snapshots: dependencies: eslint: 7.32.0 - eslint-plugin-react@7.28.0(eslint@7.32.0): + eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + + eslint-plugin-react@7.28.0(eslint@8.57.1): dependencies: array-includes: 3.1.9 array.prototype.flatmap: 1.3.3 doctrine: 2.1.0 - eslint: 7.32.0 + eslint: 8.57.1 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -10933,17 +11253,14 @@ snapshots: dependencies: eslint-visitor-keys: 1.3.0 - eslint-utils@3.0.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-visitor-keys: 2.1.0 - eslint-visitor-keys@1.3.0: {} eslint-visitor-keys@2.1.0: {} eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@5.0.1: {} + eslint@7.32.0: dependencies: '@babel/code-frame': 7.12.11 @@ -11092,7 +11409,7 @@ snapshots: jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.4.1 - jest-util: 29.4.1 + jest-util: 29.7.0 expect@29.7.0: dependencies: @@ -11153,6 +11470,10 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -11429,8 +11750,6 @@ snapshots: gopd@1.2.0: {} - graceful-fs@4.2.10: {} - graceful-fs@4.2.11: {} graphemer@1.4.0: {} @@ -11514,7 +11833,7 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -11522,14 +11841,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -11571,6 +11890,8 @@ snapshots: ignore@5.3.2: {} + ignore@7.0.5: {} + image-size@1.2.1: dependencies: queue: 6.0.2 @@ -11846,7 +12167,7 @@ snapshots: '@babel/parser': 7.28.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.7.2 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -11858,7 +12179,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.1 + debug: 4.4.3 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -12102,11 +12423,11 @@ snapshots: jest-message-util@29.4.1: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 @@ -12252,7 +12573,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.7.2 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -12266,15 +12587,6 @@ snapshots: picomatch: 2.3.1 optional: true - jest-util@29.4.1: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 16.18.126 - chalk: 4.1.2 - ci-info: 3.5.0 - graceful-fs: 4.2.10 - picomatch: 2.3.1 - jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 @@ -12291,7 +12603,7 @@ snapshots: chalk: 4.1.2 ci-info: 4.3.0 graceful-fs: 4.2.11 - picomatch: 4.0.2 + picomatch: 4.0.3 jest-validate@29.7.0: dependencies: @@ -12361,8 +12673,6 @@ snapshots: jsbn@1.1.0: {} - jsc-android@250231.0.0: {} - jsc-safe-url@0.2.4: {} jscodeshift@17.3.0(@babel/preset-env@7.28.0(@babel/core@7.28.0)): @@ -12616,7 +12926,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.4 make-error@1.3.6: {} @@ -12725,10 +13035,10 @@ snapshots: memoize-one@5.2.1: {} - mendix@10.24.74050: + mendix@11.7.0: dependencies: '@types/big.js': 6.2.2 - '@types/react': 18.0.38 + '@types/react': 19.0.14 merge-stream@2.0.0: {} @@ -13203,6 +13513,10 @@ snapshots: dependencies: '@isaacs/brace-expansion': 5.0.0 + minimatch@10.2.3: + dependencies: + brace-expansion: 5.0.3 + minimatch@3.0.8: dependencies: brace-expansion: 1.1.12 @@ -13357,7 +13671,7 @@ snapshots: nopt: 5.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.7.2 + semver: 7.7.4 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -13374,7 +13688,7 @@ snapshots: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.7.2 + semver: 7.7.4 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -13407,7 +13721,7 @@ snapshots: dependencies: hosted-git-info: 6.1.3 is-core-module: 2.16.1 - semver: 7.7.2 + semver: 7.7.4 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -13424,11 +13738,11 @@ snapshots: npm-install-checks@4.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.4 npm-install-checks@6.3.0: dependencies: - semver: 7.7.2 + semver: 7.7.4 npm-normalize-package-bin@1.0.1: {} @@ -13440,13 +13754,13 @@ snapshots: dependencies: hosted-git-info: 6.1.3 proc-log: 3.0.0 - semver: 7.7.2 + semver: 7.7.4 validate-npm-package-name: 5.0.1 npm-package-arg@8.1.5: dependencies: hosted-git-info: 4.1.0 - semver: 7.7.2 + semver: 7.7.4 validate-npm-package-name: 3.0.0 npm-packlist@3.0.0: @@ -13465,14 +13779,14 @@ snapshots: npm-install-checks: 4.0.0 npm-normalize-package-bin: 1.0.1 npm-package-arg: 8.1.5 - semver: 7.7.2 + semver: 7.7.4 npm-pick-manifest@8.0.2: dependencies: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 - semver: 7.7.2 + semver: 7.7.4 npm-registry-fetch@12.0.2: dependencies: @@ -13675,7 +13989,7 @@ snapshots: p-transform@1.3.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 p-queue: 6.6.2 transitivePeerDependencies: - supports-color @@ -13793,8 +14107,6 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.2: {} - picomatch@4.0.3: {} pify@2.3.0: {} @@ -14154,11 +14466,10 @@ snapshots: - bufferutil - utf-8-validate - react-dom@18.3.1(react@18.3.1): + react-dom@19.2.4(react@19.2.4): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.2.4 + scheduler: 0.27.0 react-is@16.13.1: {} @@ -14166,16 +14477,18 @@ snapshots: react-is@18.3.1: {} - react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1): + react-is@19.2.4: {} + + react-native@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4): dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native/assets-registry': 0.77.3 - '@react-native/codegen': 0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0)) - '@react-native/community-cli-plugin': 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13)) - '@react-native/gradle-plugin': 0.77.3 - '@react-native/js-polyfills': 0.77.3 - '@react-native/normalize-colors': 0.77.3 - '@react-native/virtualized-lists': 0.77.3(@types/react@18.3.23)(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react@18.3.1) + '@react-native/assets-registry': 0.78.3 + '@react-native/codegen': 0.78.3(@babel/preset-env@7.28.0(@babel/core@7.28.0)) + '@react-native/community-cli-plugin': 0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13)) + '@react-native/gradle-plugin': 0.78.3 + '@react-native/js-polyfills': 0.78.3 + '@react-native/normalize-colors': 0.78.3 + '@react-native/virtualized-lists': 0.78.3(@types/react@19.2.14)(react-native@0.78.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -14189,25 +14502,24 @@ snapshots: glob: 7.2.3 invariant: 2.2.4 jest-environment-node: 29.7.0 - jsc-android: 250231.0.0 memoize-one: 5.2.1 metro-runtime: 0.81.5 metro-source-map: 0.81.5 nullthrows: 1.1.1 pretty-format: 29.7.0 promise: 8.3.0 - react: 18.3.1 + react: 19.2.4 react-devtools-core: 6.1.5 react-refresh: 0.14.2 regenerator-runtime: 0.13.11 - scheduler: 0.24.0-canary-efb381bbf-20230505 + scheduler: 0.25.0 semver: 7.7.2 stacktrace-parser: 0.1.11 whatwg-fetch: 3.6.20 ws: 6.2.3 yargs: 17.7.2 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 19.2.14 transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -14221,22 +14533,13 @@ snapshots: react-refresh@0.4.3: optional: true - react-shallow-renderer@16.15.0(react@18.3.1): + react-test-renderer@19.2.4(react@19.2.4): dependencies: - object-assign: 4.1.1 - react: 18.3.1 - react-is: 18.3.1 + react: 19.2.4 + react-is: 19.2.4 + scheduler: 0.27.0 - react-test-renderer@18.3.1(react@18.3.1): - dependencies: - react: 18.3.1 - react-is: 18.3.1 - react-shallow-renderer: 16.15.0(react@18.3.1) - scheduler: 0.23.2 - - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + react@19.2.4: {} read-cache@1.0.0: dependencies: @@ -14449,7 +14752,7 @@ snapshots: rollup-plugin-command@1.1.3: {} - rollup-plugin-license@3.6.0(picomatch@4.0.3)(rollup@3.29.5): + rollup-plugin-license@3.6.0(picomatch@4.0.3)(rollup@3.30.0): dependencies: commenting: 1.1.0 fdir: 6.4.6(picomatch@4.0.3) @@ -14457,7 +14760,7 @@ snapshots: magic-string: 0.30.17 moment: 2.30.1 package-name-regex: 2.0.6 - rollup: 3.29.5 + rollup: 3.30.0 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 transitivePeerDependencies: @@ -14498,7 +14801,7 @@ snapshots: dependencies: estree-walker: 0.6.1 - rollup@3.29.5: + rollup@3.30.0: optionalDependencies: fsevents: 2.3.3 @@ -14557,13 +14860,9 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.25.0: {} - scheduler@0.24.0-canary-efb381bbf-20230505: - dependencies: - loose-envify: 1.4.0 + scheduler@0.27.0: {} scoped-regex@2.1.0: {} @@ -14578,6 +14877,8 @@ snapshots: semver@7.7.2: {} + semver@7.7.4: {} + send@0.19.0: dependencies: debug: 2.6.9 @@ -14737,7 +15038,7 @@ snapshots: socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 socks: 2.8.6 transitivePeerDependencies: - supports-color @@ -14745,7 +15046,7 @@ snapshots: socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 socks: 2.8.6 transitivePeerDependencies: - supports-color @@ -15059,6 +15360,11 @@ snapshots: tiny-invariant@1.3.3: {} + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -15090,6 +15396,14 @@ snapshots: treeverse@1.0.4: {} + ts-api-utils@2.4.0(typescript@4.9.5): + dependencies: + typescript: 4.9.5 + + ts-api-utils@2.4.0(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + ts-jest@29.4.0(@babel/core@7.28.0)(@jest/transform@29.7.0)(@jest/types@30.0.5)(babel-jest@29.7.0(@babel/core@7.28.0))(jest-util@30.0.5)(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 @@ -15146,6 +15460,24 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + ts-node@10.9.2(@types/node@18.19.130)(typescript@4.9.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.19.130 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tslib@1.14.1: {} tslib@2.8.1: {} @@ -15163,7 +15495,7 @@ snapshots: tuf-js@1.1.7: dependencies: '@tufjs/models': 1.0.4 - debug: 4.4.1 + debug: 4.4.3 make-fetch-happen: 11.1.1 transitivePeerDependencies: - supports-color @@ -15238,6 +15570,8 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 + undici-types@5.26.5: {} + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: