diff --git a/README.md b/README.md index 78a9b6125..2536e53a7 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ Iterable's React Native SDK relies on: ```ruby use_frameworks! :linkage => :dynamic ``` + - **Xcode 27:** `run-ios` needs `@react-native-community/cli` **20.2.0+** so it opens Device Hub (`DeviceHub.app`) instead of `Simulator.app`. `xcode-select` must point at the Xcode you are using when more than one version is installed. Xcode 27 also refuses CocoaPods resource-bundle targets below iOS **15.0** (this SDK's `IterableSDKResources` bundle still inherits **12.0** from Iterable-iOS-SDK 6.6.7). Lift generated Pods targets to **15.1** in the app `Podfile` `post_install` — see this repo's `example/ios/Podfile`. That is a **host** workaround until Iterable's iOS SDK publishes a ≥ 15.1 minimum and this SDK depends on it. It does not change the published Iterable iOS support range. - **Android** - [`minSdkVersion` 21+, `compileSdkVersion` 31+](https://medium.com/androiddevelopers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd) diff --git a/example/README.md b/example/README.md index 819bc6826..965591ead 100644 --- a/example/README.md +++ b/example/README.md @@ -11,27 +11,15 @@ React Native application. >"Creating a new application" step, before proceeding. ## Step 1: Install dependencies -To install the app dependencies, run the following command from the -_example app directory_ (the directory in which this document resides): -```bash -yarn install -``` - -Once this is done, you will need to install the pods in the _ios_ folder in the -_example app directory_. To do so, run the following: +From the **SDK repo root** (the parent of this `example/` directory): ```bash -cd ios -bundle install -bundle exec pod install +yarn install +(cd example/ios && bundle install && bundle exec pod install) ``` -Once this is done, `cd` back into the _example app directory_: - -```bash -cd .. -``` +`yarn install` at the root installs the Yarn workspace (SDK + example). The `example/ios` step is **iOS only** — skip it if you are only running Android. ## Step 2: Add your environment variables In the _example app directory_, there is a file called **.env.example**. Make a @@ -69,36 +57,26 @@ To add an API key, do the following: 6. Copy the generated API key and JWT secret into your _.env_ file -## Step 3: Start the Metro Server +## Step 3: Start your Application -First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. - -To start Metro, run the following command from the _example app directory_: +From the **SDK repo root**, run one of: ```bash -yarn start +yarn example android ``` -## Step 4: Start your Application - -Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _example app directory_. Run the following command to start your _Android_ or _iOS_ app: - -### For Android - ```bash -yarn android +yarn example ios ``` -### For iOS +`run-android` / `run-ios` start **Metro** in a separate terminal by default. You do not need to run `yarn start` first. Pass `--no-packager` if you already have Metro running and do not want a second window. -```bash -yarn ios -``` +On **Xcode 27**, the CLI opens **Device Hub** (`DeviceHub.app`) instead of Simulator. This example pins `@react-native-community/cli` **20.2.0+** for that path. If several Xcode versions are installed, `xcode-select -p` must point at the one you intend to use. **NOTE**: If you are getting an error when running ios, make sure that *Xcode > Project Navigator > ReactNativeSdkExample > Build Settings > User Script Sandboxing* is set to **No** -If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. +If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or on iOS (Simulator on Xcode 26 and earlier, Device Hub on Xcode 27) shortly provided you have set up your emulator/simulator correctly. This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. @@ -218,6 +196,12 @@ gem install xcodeproj -v '< 1.26.0' gem install concurrent-ruby -v '< 1.3.4' ``` +## Xcode 27 + +Xcode 27 replaces `Simulator.app` with Device Hub. `yarn ios` / `yarn example ios` require `@react-native-community/cli` **20.2.0+** (this example already pins it). A `Simulator.app does not exist` error means an older CLI is still on the path, or `xcode-select` points at a different Xcode. + +Xcode 27's iOS SDK also rejects any target with `IPHONEOS_DEPLOYMENT_TARGET` below **15.0**, including CocoaPods resource bundles such as `Iterable-iOS-SDK-IterableSDKResources` (12.0 from Iterable-iOS-SDK 6.6.7). This example's `ios/Podfile` `post_install` lifts generated Pods targets to **15.1**. Copy that lift into a host app Podfile if you hit the same `xcodebuild` 65 error. It does not change Iterable-iOS-SDK's published minimum; that wait is a later iOS SDK release and an RN pin off 6.6.7. + ## Xcode 16.3 Issue There is a [known issue](https://github.com/facebook/react-native/issues/50411) diff --git a/example/ios/Podfile b/example/ios/Podfile index 752f8c2ff..a2e34b15e 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -34,17 +34,22 @@ target 'ReactNativeSdkExample' do ) - ## Temporary workaround for Xcode 26.4 + # Temporary workaround for Xcode 26.x / 27. + # fmt 11.0.2 fails consteval checks under Apple Clang 21; compile fmt as C++17 only. + # All other pods stay in C++20 (React-perflogger needs std::unordered_map::contains). + # Xcode 27 rejects Pods resource-bundle targets below iOS 15.0 (e.g. + # Iterable-iOS-SDK-IterableSDKResources at 12.0). Lift those generated targets + # to RN's min; do not change published podspec support ranges. installer.pods_project.targets.each do |target| target.build_configurations.each do |config| - # fmt/base.h unconditionally redefines FMT_USE_CONSTEVAL based on __cplusplus, - # so preprocessor defines are overwritten. The reliable fix is to compile fmt - # in C++17 mode: FMT_CPLUSPLUS (201703L) < 201709L → FMT_USE_CONSTEVAL = 0. - # All other pods stay in C++20 (React-perflogger needs std::unordered_map::contains). if target.name == 'fmt' config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17' end + current = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] + if current.nil? || current.to_f < 15.1 + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1' + end end end end diff --git a/example/package.json b/example/package.json index 32b63d96c..64d0dfb51 100644 --- a/example/package.json +++ b/example/package.json @@ -25,9 +25,9 @@ "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.3", "@babel/runtime": "^7.25.0", - "@react-native-community/cli": "20.1.0", - "@react-native-community/cli-platform-android": "20.1.0", - "@react-native-community/cli-platform-ios": "20.1.0", + "@react-native-community/cli": "20.2.0", + "@react-native-community/cli-platform-android": "20.2.0", + "@react-native-community/cli-platform-ios": "20.2.0", "@react-native/babel-preset": "0.85.3", "@react-native/eslint-config": "0.85.3", "@react-native/jest-preset": "0.85.3", diff --git a/package.json b/package.json index 686e9cc09..a08ef9ec6 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "devDependencies": { "@commitlint/config-conventional": "^19.6.0", "@evilmartians/lefthook": "^1.5.0", - "@react-native-community/cli": "20.1.0", + "@react-native-community/cli": "20.2.0", "@react-native/babel-preset": "0.85.3", "@react-native/eslint-config": "0.85.3", "@react-native/jest-preset": "0.85.3", diff --git a/yarn.lock b/yarn.lock index 890382ffb..c7d6dc1dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3562,9 +3562,9 @@ __metadata: "@babel/core": ^7.25.2 "@babel/preset-env": ^7.25.3 "@babel/runtime": ^7.25.0 - "@react-native-community/cli": 20.1.0 - "@react-native-community/cli-platform-android": 20.1.0 - "@react-native-community/cli-platform-ios": 20.1.0 + "@react-native-community/cli": 20.2.0 + "@react-native-community/cli-platform-android": 20.2.0 + "@react-native-community/cli-platform-ios": 20.2.0 "@react-native/babel-preset": 0.85.3 "@react-native/eslint-config": 0.85.3 "@react-native/jest-preset": 0.85.3 @@ -3596,7 +3596,7 @@ __metadata: dependencies: "@commitlint/config-conventional": ^19.6.0 "@evilmartians/lefthook": ^1.5.0 - "@react-native-community/cli": 20.1.0 + "@react-native-community/cli": 20.2.0 "@react-native/babel-preset": 0.85.3 "@react-native/eslint-config": 0.85.3 "@react-native/jest-preset": 0.85.3 @@ -3992,6 +3992,13 @@ __metadata: languageName: node linkType: hard +"@nodable/entities@npm:^3.0.0": + version: 3.0.0 + resolution: "@nodable/entities@npm:3.0.0" + checksum: ac37bc86140f8e0074a4595598b553aecd607889abdf996f24cdb37e220973c8d233a56af79fe1b6b35319512ca986c442018eb22e7a6c3c6a51352d77718b92 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -4187,65 +4194,65 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-clean@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-clean@npm:20.1.0" +"@react-native-community/cli-clean@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-clean@npm:20.2.0" dependencies: - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-tools": 20.2.0 execa: ^5.0.0 fast-glob: ^3.3.2 picocolors: ^1.1.1 - checksum: 697fe513380955b8a0590e23769378044d16d26fed5a71c4655f7ba2796b8653523b9fad0476882c02c73c1d2bc89f84f6459c0f3eba3346dbf7c287dff8a413 + checksum: fb460bb18ab257ab8e5f80e3a42448459342f615dfb975bbdac030ed79ecf0ac1c84b130ed0f86cae7165a3ea9f13dd0e811d19f255f63d481655f0913c097bb languageName: node linkType: hard -"@react-native-community/cli-config-android@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-config-android@npm:20.1.0" +"@react-native-community/cli-config-android@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-config-android@npm:20.2.0" dependencies: - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-tools": 20.2.0 fast-glob: ^3.3.2 - fast-xml-parser: ^4.4.1 + fast-xml-parser: ^5.3.6 picocolors: ^1.1.1 - checksum: 71e5e55dc683d8dea944e1c92de821e7371d6d6ac445b9a36f293322545c4e6fdc0cea75f1887993ae424427fe573cbc8ed58fdce04e9ecced004e86ab9fbca2 + checksum: f85f9b6481e3a2c8c5819e99afe162779decd3199a650559cf8fb0ec1fd3f3b95172021aaf066e6ec497c5807d86ea14c494c93df63442151aafe7d01275a3a7 languageName: node linkType: hard -"@react-native-community/cli-config-apple@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-config-apple@npm:20.1.0" +"@react-native-community/cli-config-apple@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-config-apple@npm:20.2.0" dependencies: - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-tools": 20.2.0 execa: ^5.0.0 fast-glob: ^3.3.2 picocolors: ^1.1.1 - checksum: 4dc9bd588ddb297b32dfb97df344da53d5734606eeb99747d1058908688dca9acbbfcced406b375eda2663c49277aa762c500a497eb2700b4caeb85c58f6fe87 + checksum: f610f36a9847c10160a9e6575c38b4e38c8cf548091ceb56eb4c211a85db0efbb31c983a32a4fc0cbdcb108ea6f997038df6d08035534814ae51f0ef2de0fd7b languageName: node linkType: hard -"@react-native-community/cli-config@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-config@npm:20.1.0" +"@react-native-community/cli-config@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-config@npm:20.2.0" dependencies: - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-tools": 20.2.0 cosmiconfig: ^9.0.0 deepmerge: ^4.3.0 fast-glob: ^3.3.2 joi: ^17.2.1 picocolors: ^1.1.1 - checksum: ff904fd5d160c675ce641f6fe1d2d43c5a7d451d63481051945d7c2e9c5ab4e189de324f443c19af96c1bc8f8cd5642675a5645ce6948c1c3a05fc80b7d1b470 + checksum: d0acbbc63aec3abf0dd022aa05c64e84a0629d594c283c8ee976341a54b953efa82980a828842471d2a317cef95b32fa171e1294a5bc5039eecf82cec2a0f872 languageName: node linkType: hard -"@react-native-community/cli-doctor@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-doctor@npm:20.1.0" +"@react-native-community/cli-doctor@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-doctor@npm:20.2.0" dependencies: - "@react-native-community/cli-config": 20.1.0 - "@react-native-community/cli-platform-android": 20.1.0 - "@react-native-community/cli-platform-apple": 20.1.0 - "@react-native-community/cli-platform-ios": 20.1.0 - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-config": 20.2.0 + "@react-native-community/cli-platform-android": 20.2.0 + "@react-native-community/cli-platform-apple": 20.2.0 + "@react-native-community/cli-platform-ios": 20.2.0 + "@react-native-community/cli-tools": 20.2.0 command-exists: ^1.2.8 deepmerge: ^4.3.0 envinfo: ^7.13.0 @@ -4256,51 +4263,51 @@ __metadata: semver: ^7.5.2 wcwidth: ^1.0.1 yaml: ^2.2.1 - checksum: fd2cd1892cb5ff4c1111cdf684225827b5975d7251fa23bd8df7b8611d288c8c33cd192268c6345bce6639927d63d3a6594baf667de49e64510f1fb1cf9e6c43 + checksum: 065c85149b05954e032622cb6be2a97f2cea0b776d87017b0d631df42f449b42e80469f2e2392ee039b9d63afb3f49477c8b3a263162d4294b145eb967f71c6d languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-platform-android@npm:20.1.0" +"@react-native-community/cli-platform-android@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-platform-android@npm:20.2.0" dependencies: - "@react-native-community/cli-config-android": 20.1.0 - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-config-android": 20.2.0 + "@react-native-community/cli-tools": 20.2.0 execa: ^5.0.0 logkitty: ^0.7.1 picocolors: ^1.1.1 - checksum: 200974fc1425ee66482e547e875fb91d911dad11321dc897361da223c4b41828d1a04d5239b9f628db46f0e205c35a502548ff856d44b780e1f3072d102e43da + checksum: 0051a73be6173e7349f9ec90766004959db15e7d4851a6d1445878571a59e644cfd1bdbca69d22391f31269815e6f12c8365868fb5182f92e88bff570d2bc981 languageName: node linkType: hard -"@react-native-community/cli-platform-apple@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-platform-apple@npm:20.1.0" +"@react-native-community/cli-platform-apple@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-platform-apple@npm:20.2.0" dependencies: - "@react-native-community/cli-config-apple": 20.1.0 - "@react-native-community/cli-tools": 20.1.0 + "@react-native-community/cli-config-apple": 20.2.0 + "@react-native-community/cli-tools": 20.2.0 execa: ^5.0.0 - fast-xml-parser: ^4.4.1 + fast-xml-parser: ^5.3.6 picocolors: ^1.1.1 - checksum: 63c8ce8c215c74d4517408d108568d5400d639437dc5d5bbca305bbf052f3a43334fb1bc035a524714fa2be682eb8fbe8fd95201cb122fcff55ca1bd8953daa4 + checksum: 4d3461ca3a48781d6fe352648cb22cd02fe58084da0309cf9c1cc508310665af5e4dd85e5e3988d19895c37f1fb0ededb54426078e3c16db1acb50d6b9f15422 languageName: node linkType: hard -"@react-native-community/cli-platform-ios@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-platform-ios@npm:20.1.0" +"@react-native-community/cli-platform-ios@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-platform-ios@npm:20.2.0" dependencies: - "@react-native-community/cli-platform-apple": 20.1.0 - checksum: da425c68bb20ade47f6283eba247d210206ddd651c9f80191c1b6e92ee5978a35b69df7a96c323dad9a0cf4dce7236ab84f34d9a6c51aa1d776d61de48f657eb + "@react-native-community/cli-platform-apple": 20.2.0 + checksum: 5ccec2a92842043bdabfa3464226571dc1c9bf8e73dac2adbd3dea98a1d9f6e75d2dcb5b4fee9ea48c2acf6921013ba70f9b751a7255715f59ce9e0d66e1a4fc languageName: node linkType: hard -"@react-native-community/cli-server-api@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-server-api@npm:20.1.0" +"@react-native-community/cli-server-api@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-server-api@npm:20.2.0" dependencies: - "@react-native-community/cli-tools": 20.1.0 - body-parser: ^1.20.3 + "@react-native-community/cli-tools": 20.2.0 + body-parser: ^2.2.2 compression: ^1.7.1 connect: ^3.6.5 errorhandler: ^1.5.1 @@ -4309,13 +4316,13 @@ __metadata: pretty-format: ^29.7.0 serve-static: ^1.13.1 ws: ^6.2.3 - checksum: 8c9923aaf40879bc2827fa6f89f8394b9ee25b3e8864b4eba0ddf0c285ea9426f953b2227509fde2b5ece512a2a39a89e835d30071b841764aeac8176bfa86f7 + checksum: d5089cb09c171ca4ce6d59501c931bb42d3283840a6c7b28ee767bf74bc594c6019cbe7e8def2de7c752130d48beef990f05b16b22815b15c767f795a415f461 languageName: node linkType: hard -"@react-native-community/cli-tools@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-tools@npm:20.1.0" +"@react-native-community/cli-tools@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-tools@npm:20.2.0" dependencies: "@vscode/sudo-prompt": ^9.0.0 appdirsjs: ^1.2.4 @@ -4327,29 +4334,29 @@ __metadata: picocolors: ^1.1.1 prompts: ^2.4.2 semver: ^7.5.2 - checksum: b856b7a0403511c6110a50185abc73efc88399cc76510a01035a1002b581cbebed2b0bd47ccde6c9887479da75a80a38b0c29c8a805ade7039f03d08fa3fca54 + checksum: 15afb79d88bb078e95631fc25964b554202b0ff0faf607c7af21e22882ffff926c36dbfc76250f1793747a9809872645869c0b00273bc02afbc667c0221855d4 languageName: node linkType: hard -"@react-native-community/cli-types@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli-types@npm:20.1.0" +"@react-native-community/cli-types@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli-types@npm:20.2.0" dependencies: joi: ^17.2.1 - checksum: 1ae86701a98ac21d0e67f2fcce3859e44c2315c55076aaf82cf80ebf19e91fe95f177208803fddd562f6578549f6ee816356406b5ce106fa0a4e7d30f5aafcdc + checksum: 218fb539c8fb33bf18afe67500ca0a2d929e4e9b4ad33041101bf5f718abf8814249fae704fa60c9838dd2cfa8b3f97cf71dd35c5440055a6edffced67f50042 languageName: node linkType: hard -"@react-native-community/cli@npm:20.1.0": - version: 20.1.0 - resolution: "@react-native-community/cli@npm:20.1.0" +"@react-native-community/cli@npm:20.2.0": + version: 20.2.0 + resolution: "@react-native-community/cli@npm:20.2.0" dependencies: - "@react-native-community/cli-clean": 20.1.0 - "@react-native-community/cli-config": 20.1.0 - "@react-native-community/cli-doctor": 20.1.0 - "@react-native-community/cli-server-api": 20.1.0 - "@react-native-community/cli-tools": 20.1.0 - "@react-native-community/cli-types": 20.1.0 + "@react-native-community/cli-clean": 20.2.0 + "@react-native-community/cli-config": 20.2.0 + "@react-native-community/cli-doctor": 20.2.0 + "@react-native-community/cli-server-api": 20.2.0 + "@react-native-community/cli-tools": 20.2.0 + "@react-native-community/cli-types": 20.2.0 commander: ^9.4.1 deepmerge: ^4.3.0 execa: ^5.0.0 @@ -4361,7 +4368,7 @@ __metadata: semver: ^7.5.2 bin: rnc-cli: build/bin.js - checksum: c6e8c3873885a60389b859123a42669c7698c33de4a94aaaa680a67fd0ba67944346bcfc87c7066e39fdbb015834db85446f188aa5ee1ff804da3fad41d130ca + checksum: c9b5796c3d9c920f419be2fced9ac2deaf476cffc44cfa4459401272cb33b1ca033db221dada1cafda627330566eba1a67cd23cb6854dd132253ad70af62552c languageName: node linkType: hard @@ -5790,6 +5797,13 @@ __metadata: languageName: node linkType: hard +"anynum@npm:^1.0.1": + version: 1.0.1 + resolution: "anynum@npm:1.0.1" + checksum: 42b4b624ec5b6ba3cf2ba457568a66f48adfe59c7ea5dae3931aec1d5292f1549ee436d54ab1e205beb7c7c7eed136daa03c878e8d4575cd6b5e712df2f84146 + languageName: node + linkType: hard + "appdirsjs@npm:^1.2.4": version: 1.2.7 resolution: "appdirsjs@npm:1.2.7" @@ -6259,23 +6273,20 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:^1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" +"body-parser@npm:^2.2.2": + version: 2.3.0 + resolution: "body-parser@npm:2.3.0" dependencies: - bytes: 3.1.2 - content-type: ~1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.13.0 - raw-body: 2.5.2 - type-is: ~1.6.18 - unpipe: 1.0.0 - checksum: 1a35c59a6be8d852b00946330141c4f142c6af0f970faa87f10ad74f1ee7118078056706a05ae3093c54dabca9cd3770fa62a170a85801da1a4324f04381167d + bytes: ^3.1.2 + content-type: ^2.0.0 + debug: ^4.4.3 + http-errors: ^2.0.1 + iconv-lite: ^0.7.2 + on-finished: ^2.4.1 + qs: ^6.15.2 + raw-body: ^3.0.2 + type-is: ^2.1.0 + checksum: 44d681aaa2d6ffe3efb4f6c098e7c4f7beae0d158580f7abea1cd487fc05b485488815f5c6fc71aa05975541c00042b4becdb485c441ddd63ce9c71b63b7ea4d languageName: node linkType: hard @@ -6381,7 +6392,7 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2": +"bytes@npm:3.1.2, bytes@npm:^3.1.2, bytes@npm:~3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e @@ -6937,13 +6948,6 @@ __metadata: languageName: node linkType: hard -"content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 - languageName: node - linkType: hard - "conventional-changelog-angular@npm:^7.0.0": version: 7.0.0 resolution: "conventional-changelog-angular@npm:7.0.0" @@ -7422,7 +7426,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": +"depd@npm:2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a @@ -8420,14 +8424,29 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:^4.4.1": - version: 4.5.3 - resolution: "fast-xml-parser@npm:4.5.3" +"fast-xml-builder@npm:^1.2.0": + version: 1.3.1 + resolution: "fast-xml-builder@npm:1.3.1" + dependencies: + path-expression-matcher: ^1.6.2 + xml-naming: ^0.3.0 + checksum: e243f8b2adeb9ffbea8318f9bed9518dfff8d607b10b66ca6dd07793a3dbc87a674518f27ad27ef1c227cb9019954eee92fed938daeb6bdf69260b85204b495b + languageName: node + linkType: hard + +"fast-xml-parser@npm:^5.3.6": + version: 5.11.1 + resolution: "fast-xml-parser@npm:5.11.1" dependencies: - strnum: ^1.1.1 + "@nodable/entities": ^3.0.0 + fast-xml-builder: ^1.2.0 + is-unsafe: ^2.0.0 + path-expression-matcher: ^1.6.2 + strnum: ^2.4.2 + xml-naming: ^0.3.0 bin: fxparser: src/cli/cli.js - checksum: cd6a184941ec6c23f9e6b514421a3f396cfdff5f4a8c7c27bd0eff896edb4a2b55c27da16f09b789663613dfc4933602b9b71ac3e9d1d2ddcc0492fc46c8fa52 + checksum: 65b7aeeb6d8fb7a59a9435bdba8ad4503c42e950d1523d3751cdb4e24c606263605e6a53a61a249156f8f360a79b20da70a003c189cfd613eddbdf07bb511f3a languageName: node linkType: hard @@ -9243,6 +9262,19 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:^2.0.1, http-errors@npm:~2.0.1": + version: 2.0.1 + resolution: "http-errors@npm:2.0.1" + dependencies: + depd: ~2.0.0 + inherits: ~2.0.4 + setprototypeof: ~1.2.0 + statuses: ~2.0.2 + toidentifier: ~1.0.1 + checksum: 155d1a100a06e4964597013109590b97540a177b69c3600bbc93efc746465a99a2b718f43cdf76b3791af994bbe3a5711002046bf668cdc007ea44cea6df7ccd + languageName: node + linkType: hard + "http-proxy-agent@npm:8.0.0": version: 8.0.0 resolution: "http-proxy-agent@npm:8.0.0" @@ -9290,15 +9322,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: ">= 2.1.2 < 3" - checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 - languageName: node - linkType: hard - "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -9308,7 +9331,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.7.2": +"iconv-lite@npm:^0.7.2, iconv-lite@npm:~0.7.0": version: 0.7.3 resolution: "iconv-lite@npm:0.7.3" dependencies: @@ -9416,7 +9439,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -9832,6 +9855,13 @@ __metadata: languageName: node linkType: hard +"is-unsafe@npm:^2.0.0": + version: 2.0.2 + resolution: "is-unsafe@npm:2.0.2" + checksum: c3fcbb646e312ef59e30d9b2a4d0fc646bcc0d7e2e5d79cb4633fff1846e290073c1f9aaaa936ff8d098ddf23e19222b705288e520eb2bcfc56dd9d10947a210 + languageName: node + linkType: hard + "is-weakmap@npm:^2.0.2": version: 2.0.2 resolution: "is-weakmap@npm:2.0.2" @@ -11084,10 +11114,10 @@ __metadata: languageName: node linkType: hard -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 +"media-typer@npm:^1.1.0": + version: 1.1.1 + resolution: "media-typer@npm:1.1.1" + checksum: ceef972e43912621b846f816e8937c200dcd83d0bdd4fdd19f28be62a9334f4e6605d0c952fe804bfab7f63a07d14c0d1bea1d9357c35ad6d3b04b184f09e397 languageName: node linkType: hard @@ -11403,7 +11433,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -11906,7 +11936,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": +"on-finished@npm:2.4.1, on-finished@npm:^2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -12248,6 +12278,13 @@ __metadata: languageName: node linkType: hard +"path-expression-matcher@npm:^1.6.2": + version: 1.6.2 + resolution: "path-expression-matcher@npm:1.6.2" + checksum: a367990364461d48801a695db23f63d2842a3d9be60bf364148cfd69546f1eb621b76fd86c4c5c0b2545ac60fea0db85a8149a37094db0efc9d120beb5060172 + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -12573,12 +12610,13 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" +"qs@npm:^6.15.2": + version: 6.16.0 + resolution: "qs@npm:6.16.0" dependencies: - side-channel: ^1.0.6 - checksum: e9404dc0fc2849245107108ce9ec2766cde3be1b271de0bf1021d049dc5b98d1a2901e67b431ac5509f865420a7ed80b7acb3980099fe1c118a1c5d2e1432ad8 + es-define-property: ^1.0.1 + side-channel: ^1.1.1 + checksum: fb97665d1b481fadbcb17cc056f1af95ae93328195bf9536a56142137f4d9cc16fe2a1dab9cd17186c9fa69a7e6fa64a3766f71ffaa7c248ec5555f34d21047b languageName: node linkType: hard @@ -12631,15 +12669,15 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" +"raw-body@npm:^3.0.2": + version: 3.0.2 + resolution: "raw-body@npm:3.0.2" dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - checksum: ba1583c8d8a48e8fbb7a873fdbb2df66ea4ff83775421bfe21ee120140949ab048200668c47d9ae3880012f6e217052690628cf679ddfbd82c9fc9358d574676 + bytes: ~3.1.2 + http-errors: ~2.0.1 + iconv-lite: ~0.7.0 + unpipe: ~1.0.0 + checksum: bf8ce8e9734f273f24d81f9fed35609dbd25c2869faa5fb5075f7ee225c0913e2240adda03759d7e72f2a757f8012d58bb7a871a80261d5140ad65844caeb5bd languageName: node linkType: hard @@ -13307,7 +13345,7 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 @@ -13441,7 +13479,7 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": +"setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 @@ -13481,6 +13519,16 @@ __metadata: languageName: node linkType: hard +"side-channel-list@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-list@npm:1.0.1" + dependencies: + es-errors: ^1.3.0 + object-inspect: ^1.13.4 + checksum: 3499671cd52adaee739eac1e14d07530b8e3530192741aeb05e7fe4ad1b51d1368ceea2cd3c21b0f62b05410a5c70a7c4d997ba4b143303ef73d0c65dfd1c252 + languageName: node + linkType: hard + "side-channel-map@npm:^1.0.1": version: 1.0.1 resolution: "side-channel-map@npm:1.0.1" @@ -13506,7 +13554,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": +"side-channel@npm:^1.1.0": version: 1.1.0 resolution: "side-channel@npm:1.1.0" dependencies: @@ -13519,6 +13567,19 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.1.1": + version: 1.1.1 + resolution: "side-channel@npm:1.1.1" + dependencies: + es-errors: ^1.3.0 + object-inspect: ^1.13.4 + side-channel-list: ^1.0.1 + side-channel-map: ^1.0.1 + side-channel-weakmap: ^1.0.2 + checksum: e0f217140c463636ee556260bbc8f47ba2931f1248826f58e1502704135814c763b325dd9ab122a04176aa45b4a4f8cc556415bcab7a0179d85250fb7812f063 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -13757,6 +13818,13 @@ __metadata: languageName: node linkType: hard +"statuses@npm:~2.0.2": + version: 2.0.2 + resolution: "statuses@npm:2.0.2" + checksum: 6927feb50c2a75b2a4caab2c565491f7a93ad3d8dbad7b1398d52359e9243a20e2ebe35e33726dee945125ef7a515e9097d8a1b910ba2bbd818265a2f6c39879 + languageName: node + linkType: hard + "stdin-discarder@npm:^0.3.1, stdin-discarder@npm:^0.3.2": version: 0.3.2 resolution: "stdin-discarder@npm:0.3.2" @@ -14001,10 +14069,12 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^1.1.1": - version: 1.1.2 - resolution: "strnum@npm:1.1.2" - checksum: a85219eda13e97151c95e343a9e5960eacfb0a0ff98104b4c9cb7a212e3008bddf0c9714c9c37c2e508be78e741a04afc80027c2dc18509d1b5ffd4c37191fc2 +"strnum@npm:^2.4.2": + version: 2.4.2 + resolution: "strnum@npm:2.4.2" + dependencies: + anynum: ^1.0.1 + checksum: aec8958f66eee511e4bfc2d3e607a9e6821b7ed760da2df3cf6ac3e80b73f9e0a98d809766d10b12d39608d551fdbe2c6ee9a5512e95043c41ff3bc2aa51e715 languageName: node linkType: hard @@ -14165,7 +14235,7 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1": +"toidentifier@npm:1.0.1, toidentifier@npm:~1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 @@ -14335,13 +14405,14 @@ __metadata: languageName: node linkType: hard -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" +"type-is@npm:^2.1.0": + version: 2.1.0 + resolution: "type-is@npm:2.1.0" dependencies: - media-typer: 0.3.0 - mime-types: ~2.1.24 - checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + content-type: ^2.0.0 + media-typer: ^1.1.0 + mime-types: ^3.0.0 + checksum: 214a44fc635fd1396bb656af1f0392d151e44e31f622ca2d030f4b4bb4f20069dab250c6798a6c6f4b215f87cd6f68099cbfdb0975696c3383f7a4cad26f6174 languageName: node linkType: hard @@ -14608,7 +14679,7 @@ __metadata: languageName: node linkType: hard -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": +"unpipe@npm:~1.0.0": version: 1.0.0 resolution: "unpipe@npm:1.0.0" checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 @@ -15008,6 +15079,13 @@ __metadata: languageName: node linkType: hard +"xml-naming@npm:^0.3.0": + version: 0.3.0 + resolution: "xml-naming@npm:0.3.0" + checksum: 842b816c0db75497588dd77ead8a6ff8a6be20b90a8fe24219b425ce91ab797e208eff8b0ddb26c0e1e69bfbc855ce6e4d4fbf7277cbe3785bbe6f28018ac804 + languageName: node + linkType: hard + "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3"