diff --git a/.gitignore b/.gitignore index b700a70..42fd7f7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,745 +1,37 @@ +# Jetbrains IDE's -# --------------------------------------------------------- -# Specific adjutments -# --------------------------------------------------------- - -# Intellij - ignore entirely .idea folder **/.idea/ - -# VSCode - ignore entirely .vscode folder and output bin folders -**/.vscode/ -**/java/bin/ -**/cpp/bin/ - -# Go folders containing generated stuff -**/_test_results/ - -# C# folders containing generated stuff -**/csharp/**/bin/ -**/csharp/**/obj/ -**/csharp/**/TestResults/ - -# Typescript folders containing generated stuff -**/node_modules/ -**/test_results/ - -# Python folders containing generated stuff -**/venv/ -**/dist/ -**/.pytest_cache/ -**/pytest/ -**/*.egg-info/ - -# Elixir folders containing generated stuff -**/_build/ -**/cover/ -**/deps/ -**/.fetch -erl_crash.dump -*.ez - -# PHP folders containing generated stuff -**/vendor/ -**/.phpunit.cache/* - -# ApprovalTests - generated golden master files -GoldenMasterTest.*.txt -*.txt.bak - -# --------------------------------------------------------- -# End of specific adjutments -# --------------------------------------------------------- - - -# Created by https://www.toptal.com/developers/gitignore/api/java,maven,eclipse,intellij,visualstudio,gradle,cmake,visualstudiocode,code-java,clion,diff -# Edit at https://www.toptal.com/developers/gitignore?templates=java,maven,eclipse,intellij,visualstudio,gradle,cmake,visualstudiocode,code-java,clion,diff - -### CLion ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -.idea/artifacts -.idea/compiler.xml -.idea/jarRepositories.xml -.idea/modules.xml -.idea/*.iml -.idea/modules *.iml *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format *.iws +**/out/ +modules.xml -# IntelliJ -out/ +# VSCode IDE -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### CLion Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -# https://plugins.jetbrains.com/plugin/7973-sonarlint -.idea/**/sonarlint/ - -# SonarQube Plugin -# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin -.idea/**/sonarIssues.xml - -# Markdown Navigator plugin -# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced -.idea/**/markdown-navigator.xml -.idea/**/markdown-navigator-enh.xml -.idea/**/markdown-navigator/ - -# Cache file creation bug -# See https://youtrack.jetbrains.com/issue/JBR-2257 -.idea/$CACHE_FILE$ - -# CodeStream plugin -# https://plugins.jetbrains.com/plugin/12206-codestream -.idea/codestream.xml +**/.vscode/ +*.code-worspace +*.history +*.coverage +*.coveragexml -### CMake ### -CMakeLists.txt.user -CMakeCache.txt -CMakeFiles -CMakeScripts -Testing -Makefile -cmake_install.cmake -install_manifest.txt -compile_commands.json -CTestTestfile.cmake -_deps +# Visual Studio IDE +**/.vs/ +**/Generated\ Files/ -### CMake Patch ### -# External projects -*-prefix/ +# Approval Tests -### Code-Java ### -# Language Support for Java(TM) by Red Hat extension for Visual Studio Code - https://marketplace.visualstudio.com/items?itemName=redhat.java +GoldenMasterTest.*.txt -.project -.classpath -factoryConfiguration.json +# Miscellaneous temporary Files -### Diff ### -*.patch -*.diff - -### Eclipse ### -.metadata -#bin/ -tmp/ -*.tmp *.bak *.swp -*~.nib -local.properties -.settings/ -.loadpath -.recommenders - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# PyDev specific (Python IDE for Eclipse) -*.pydevproject - -# CDT-specific (C/C++ Development Tooling) -.cproject - -# CDT- autotools -.autotools - -# Java annotation processor (APT) -.factorypath - -# PDT-specific (PHP Development Tools) -.buildpath - -# sbteclipse plugin -.target - -# Tern plugin -.tern-project - -# TeXlipse plugin -.texlipse - -# STS (Spring Tool Suite) -.springBeans - -# Code Recommenders -.recommenders/ - -# Annotation Processing -.apt_generated/ -.apt_generated_test/ - -# Scala IDE specific (Scala & Java development for Eclipse) -.cache-main -.scala_dependencies -.worksheet - -# Uncomment this line if you wish to ignore the project description file. -# Typically, this file would be tracked if it contains build/dependency configurations: -#.project - -### Eclipse Patch ### -# Spring Boot Tooling -.sts4-cache/ - -### Intellij ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff - -# Generated files - -# Sensitive or high-churn files - -# Gradle - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake - -# Mongo Explorer plugin - -# File-based project format - -# IntelliJ - -# mpeltonen/sbt-idea plugin - -# JIRA plugin - -# Cursive Clojure plugin - -# Crashlytics plugin (for Android Studio and IntelliJ) - -# Editor-based Rest Client - -# Android studio 3.1+ serialized cache file - -### Intellij Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -# https://plugins.jetbrains.com/plugin/7973-sonarlint - -# SonarQube Plugin -# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin - -# Markdown Navigator plugin -# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced - -# Cache file creation bug -# See https://youtrack.jetbrains.com/issue/JBR-2257 - -# CodeStream plugin -# https://plugins.jetbrains.com/plugin/12206-codestream - -### Java ### -# Compiled class file -*.class - -# Log file +*.diff +*.patch *.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear +*.tmp *.zip *.tar.gz *.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -### Maven ### -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties -# https://github.com/takari/maven-wrapper#usage-without-binary-jar -.mvn/wrapper/maven-wrapper.jar - -### VisualStudioCode ### -.vscode/* -!.vscode/tasks.json -!.vscode/launch.json -*.code-workspace - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -### Gradle ### -.gradle -build/ - -# Ignore Gradle GUI config -gradle-app.setting - -# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) -!gradle-wrapper.jar - -# Cache of project -.gradletasknamecache - -# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 -# gradle/wrapper/gradle-wrapper.properties - -### Gradle Patch ### -**/build/ - -### VisualStudio ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -#[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp_proj -*_wpftmp.csproj -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -coverage*[.json, .xml, .info] - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - -# End of https://www.toptal.com/developers/gitignore/api/java,maven,eclipse,intellij,visualstudio,gradle,cmake,visualstudiocode,code-java,clion,diff - - +*.jar diff --git a/cpp/.gitignore b/cpp/.gitignore new file mode 100644 index 0000000..d3ae41e --- /dev/null +++ b/cpp/.gitignore @@ -0,0 +1,5 @@ +# cpp downloaded or generated stuff + +**/.cmake/ +**/build/ +CMakeLists.txt.user diff --git a/cpp/.tcr/toolchain/cmake-kata.yml b/cpp/.tcr/toolchain/cmake-kata.yml index 3b83498..0573d6d 100644 --- a/cpp/.tcr/toolchain/cmake-kata.yml +++ b/cpp/.tcr/toolchain/cmake-kata.yml @@ -1,51 +1,51 @@ build: - os: [darwin] arch: [amd64] - command: build/cmake/cmake-macos-universal/CMake.app/Contents/bin/cmake + command: .cmake/cmake-macos-universal/CMake.app/Contents/bin/cmake arguments: [--build, build, --config, Debug] - os: [darwin] arch: [arm64] - command: build/cmake/cmake-macos-universal/CMake.app/Contents/bin/cmake + command: .cmake/cmake-macos-universal/CMake.app/Contents/bin/cmake arguments: [--build, build, --config, Debug] - os: [linux] arch: [amd64] - command: build/cmake/cmake-linux-x86_64/bin/cmake + command: .cmake/cmake-linux-x86_64/bin/cmake arguments: [--build, build, --config, Debug] - os: [linux] arch: [arm64] - command: build/cmake/cmake-linux-aarch64/bin/cmake + command: .cmake/cmake-linux-aarch64/bin/cmake arguments: [--build, build, --config, Debug] - os: [windows] arch: ["386"] - command: build\cmake\cmake-windows-i386\bin\cmake.exe + command: .cmake\cmake-windows-i386\bin\cmake.exe arguments: [--build, build, --config, Debug] - os: [windows] arch: [amd64] - command: build\cmake\cmake-windows-x86_64\bin\cmake.exe + command: .cmake\cmake-windows-x86_64\bin\cmake.exe arguments: [--build, build, --config, Debug] test: - os: [darwin] arch: [amd64] - command: build/cmake/cmake-macos-universal/CMake.app/Contents/bin/ctest + command: .cmake/cmake-macos-universal/CMake.app/Contents/bin/ctest arguments: [--output-on-failure, --test-dir, build, --build-config, Debug] - os: [darwin] arch: [arm64] - command: build/cmake/cmake-macos-universal/CMake.app/Contents/bin/ctest + command: .cmake/cmake-macos-universal/CMake.app/Contents/bin/ctest arguments: [--output-on-failure, --test-dir, build, --build-config, Debug] - os: [linux] arch: [amd64] - command: build/cmake/cmake-linux-x86_64/bin/ctest + command: .cmake/cmake-linux-x86_64/bin/ctest arguments: [--output-on-failure, --test-dir, build, --build-config, Debug] - os: [linux] arch: [arm64] - command: build/cmake/cmake-linux-aarch64/bin/ctest + command: .cmake/cmake-linux-aarch64/bin/ctest arguments: [--output-on-failure, --test-dir, build, --build-config, Debug] - os: [windows] arch: ["386"] - command: build\cmake\cmake-windows-i386\bin\ctest.exe + command: .cmake\cmake-windows-i386\bin\ctest.exe arguments: [--output-on-failure, --test-dir, build, --build-config, Debug] - os: [windows] arch: [amd64] - command: build\cmake\cmake-windows-x86_64\bin\ctest.exe + command: .cmake\cmake-windows-x86_64\bin\ctest.exe arguments: [--output-on-failure, --test-dir, build, --build-config, Debug] test-result-dir: build/test-results diff --git a/cpp/cpp_easy_setup.bat b/cpp/cpp_easy_setup.bat deleted file mode 100644 index cb592ed..0000000 --- a/cpp/cpp_easy_setup.bat +++ /dev/null @@ -1,68 +0,0 @@ -REM Copyright (c) 2022 Murex -REM -REM Permission is hereby granted, free of charge, to any person obtaining a copy -REM of this software and associated documentation files (the "Software"), to deal -REM in the Software without restriction, including without limitation the rights -REM to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -REM copies of the Software, and to permit persons to whom the Software is -REM furnished to do so, subject to the following conditions: -REM -REM The above copyright notice and this permission notice shall be included in all -REM copies or substantial portions of the Software. -REM -REM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -REM IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -REM FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -REM AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -REM LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -REM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -REM SOFTWARE. - -setlocal - -set OS=windows -set ARCH=x86_64 -set ARCHIVE_EXTENSION=zip -set CMAKE_BIN_DIR=bin -set CMAKE=cmake.exe -set CTEST=ctest.exe -set CMAKE_GENERATOR_OPTIONS=-G "Visual Studio 16 2019" - -set CMAKE_VERSION=3.29.2 -set CMAKE_EXPECTED_DIR=cmake-%CMAKE_VERSION%-%OS%-%ARCH% -set CMAKE_EXPECTED_ARCHIVE_FILE=%CMAKE_EXPECTED_DIR%.%ARCHIVE_EXTENSION% -set CMAKE_ARCHIVE_URL="http://github.com/Kitware/CMake/releases/download/v%CMAKE_VERSION%/%CMAKE_EXPECTED_ARCHIVE_FILE%" -set CMAKE_HOME=cmake-%OS%-%ARCH% - -set BUILD_DIR=build -if not exist %BUILD_DIR% ( - mkdir %BUILD_DIR% -) -pushd %BUILD_DIR% - -set CMAKE_BUILD_DIR=cmake -if not exist %CMAKE_BUILD_DIR% ( - mkdir %CMAKE_BUILD_DIR% -) -pushd %CMAKE_BUILD_DIR% - -if not exist %CMAKE_EXPECTED_ARCHIVE_FILE% ( - powershell -command "Invoke-WebRequest %CMAKE_ARCHIVE_URL% -OutFile %CMAKE_EXPECTED_ARCHIVE_FILE%" - powershell -command "Expand-Archive -Force '%~dp0\%BUILD_DIR%\%CMAKE_BUILD_DIR%\%CMAKE_EXPECTED_ARCHIVE_FILE%' '%~dp0\%BUILD_DIR%\%CMAKE_BUILD_DIR%'" - powershell -command "Rename-Item %CMAKE_EXPECTED_DIR% %CMAKE_HOME%" -) - -pushd .. - -set CMAKE_BIN_PATH=%CMAKE_BUILD_DIR%\%CMAKE_HOME%\%CMAKE_BIN_DIR% - -%CMAKE_BIN_PATH%\%CMAKE% %CMAKE_GENERATOR_OPTIONS% -S .. -B . -%CMAKE_BIN_PATH%\%CMAKE% --build . --config Debug -%CMAKE_BIN_PATH%\%CTEST% --output-on-failure -C Debug - -popd - -popd - -popd - diff --git a/cpp/cpp_easy_setup.sh b/cpp/cpp_easy_setup.sh index c1aab70..2684ac5 100755 --- a/cpp/cpp_easy_setup.sh +++ b/cpp/cpp_easy_setup.sh @@ -1,6 +1,6 @@ #!/usr/bin/env sh # -# Copyright (c) 2023 Murex +# Copyright (c) 2024 Murex # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -48,7 +48,7 @@ MINGW64_NT-*) cmake_bin_dir="bin" cmake="cmake.exe" ctest="ctest.exe" - cmake_generator_options="-G \"Visual Studio 16 2019\"" + cmake_generator_options="-G \"Visual Studio 17 2022\"" ;; *) echo "os $(uname -s) is currently not supported." @@ -59,7 +59,7 @@ esac base_dir=$(dirname -- "$0") cd "${base_dir}" -cmake_version="3.29.2" +cmake_version="3.29.3" cmake_expected_dir="cmake-${cmake_version}-${os}-${arch}" cmake_expected_archive_file="${cmake_expected_dir}.${archive_extension}" cmake_archive_url="http://github.com/Kitware/CMake/releases/download/v${cmake_version}/${cmake_expected_archive_file}" @@ -67,11 +67,10 @@ cmake_home="cmake-${os}-${arch}" build_dir="build" mkdir -p "${build_dir}" -cd "${build_dir}" -cmake_build_dir="cmake" -mkdir -p "${cmake_build_dir}" -cd "${cmake_build_dir}" +cmake_dir=".cmake" +mkdir -p "${cmake_dir}" +cd "${cmake_dir}" if ! [ -f "${cmake_expected_archive_file}" ] then @@ -98,8 +97,8 @@ fi cd .. -cmake_bin_path="${cmake_build_dir}/${cmake_home}/${cmake_bin_dir}" +cmake_bin_path="${cmake_dir}/${cmake_home}/${cmake_bin_dir}" -eval ${cmake_bin_path}/${cmake} "${cmake_generator_options}" -S .. -B . -${cmake_bin_path}/${cmake} --build . --config Debug -${cmake_bin_path}/${ctest} --output-on-failure -C Debug +eval ${cmake_bin_path}/${cmake} "${cmake_generator_options}" -S . -B "${build_dir}" +${cmake_bin_path}/${cmake} --build "${build_dir}" --config Debug +${cmake_bin_path}/${ctest} --test-dir "${build_dir}" --output-on-failure --build-config Debug diff --git a/go/.gitignore b/go/.gitignore new file mode 100644 index 0000000..b9c51df --- /dev/null +++ b/go/.gitignore @@ -0,0 +1,3 @@ +# go downloaded or generated stuff + +**/_test_results/ diff --git a/java/.gitignore b/java/.gitignore new file mode 100644 index 0000000..d7fc097 --- /dev/null +++ b/java/.gitignore @@ -0,0 +1,9 @@ +# java downloaded or generated stuff + +**/.gradle/ +**/build/ +**/.mvn/wrapper/maven-wrapper.jar +**/target/ +.project +.classpath +*.class diff --git a/java/build.gradle b/java/build.gradle index 72193a4..9713cf8 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -25,14 +25,14 @@ dependencies { // ApprovalTests (for Golden Master tests) // Uncomment if the kata is using it. Remove otherwise - // testImplementation group: 'com.approvaltests', name: 'approvaltests', version: '23.1.0' + // testImplementation group: 'com.approvaltests', name: 'approvaltests', version: '24.1.0' // Gson parser // Uncomment if the kata is using it. Remove otherwise // implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1' // Guava utility package - implementation group: 'com.google.guava', name: 'guava', version: '33.1.0-jre' + implementation group: 'com.google.guava', name: 'guava', version: '33.2.0-jre' } test { diff --git a/java/pom.xml b/java/pom.xml index 68bada7..85098ef 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -40,7 +40,7 @@ com.google.guava guava - 33.1.0-jre + 33.2.0-jre @@ -50,7 +50,7 @@ org.apache.maven.plugins maven-wrapper-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins @@ -88,7 +88,7 @@ org.apache.maven.plugins maven-install-plugin - 3.1.1 + 3.1.2 org.apache.maven.plugins @@ -98,7 +98,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.1.1 + 3.1.2 org.apache.maven.plugins diff --git a/python/.gitignore b/python/.gitignore new file mode 100644 index 0000000..91869d3 --- /dev/null +++ b/python/.gitignore @@ -0,0 +1,8 @@ +# python downloaded or generated stuff + +**/pytest/ +**/__pycache__/ +**/*.egg-info/ +**/venv/ +**/.venv/ +*.pyc diff --git a/python/requirements.txt b/python/requirements.txt index 543af5f..9937034 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -1,7 +1,7 @@ pytest == 7.0.1; python_version < '3.7' pytest == 7.4.4; python_version in '3.7' -pytest == 8.1.1; python_version >= '3.8' +pytest == 8.2.1; python_version >= '3.8' pytest-parametrization == 2022.2.1 mypy == 0.971; python_version < '3.7' mypy == 1.4.1; python_version in '3.7' -mypy == 1.9.0; python_version >= '3.8' +mypy == 1.10.0; python_version >= '3.8' diff --git a/python/setup_python_venv.sh b/python/setup_python_venv.sh new file mode 100755 index 0000000..a584c96 --- /dev/null +++ b/python/setup_python_venv.sh @@ -0,0 +1,154 @@ +#!/usr/bin/env bash +# +# Copyright (c) 2024 Murex +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# ------------------------------------------------------------------------------ +# For traces, warnings and errors +# ------------------------------------------------------------------------------ + +print_info() { + message="$1" + printf "%b" "${message}\n" | while IFS= read -r line; do printf "%b" "\e[1;34m>>> ${line} \e[0m\n"; done +} + +print_warning() { + message="$1" + printf "%b" "${message}\n" | while IFS= read -r line; do printf "%b" "\e[1;33m>>> ${line} \e[0m\n"; done +} + +print_error() { + message="$1" + printf "%b" "${message}\n" | while IFS= read -r line; do printf "%b" "\e[1;31m>>> ${line} \e[0m\n"; done +} + +print_horizontal_line() { + term_columns=$(tput cols) + repeated=$((term_columns - 5)) + line=$(head -c "${repeated}" /dev/null 2>/dev/null; then + print_info "Found ${command_name} at $(get_command_path "${command_name}")" + return 0 + else + print_warning "Command ${command_name} not found" + return 1 + fi +} + +# ------------------------------------------------------------------------------ +# Check if a command runs as expected +# ------------------------------------------------------------------------------ + +check_command_execution() { + command_name="$1" + if "${command_name}" --version >/dev/null 2>/dev/null; then + print_info "Checking ${command_name} ==> ok" + return 0 + else + print_warning "Checking ${command_name} ==> failed" + return 1 + fi +} + +is_python3_command_available() { + check_command_availability python3 && check_command_execution python3 +} + +is_python_command_available() { + check_command_availability python && check_command_execution python +} + +get_command_path() { + command_name="$1" + which "${command_name}" +} + +get_python3_path() { + get_command_path python3 +} + +get_python_path() { + get_command_path python +} + +get_python_version() { + "${PYTHON_PATH}" --version | awk '{ print $2 }' +} + +locate_python() { + print_info "Locating Python executable..." + if is_python3_command_available; then + PYTHON_PATH=$(get_python3_path) + elif is_python_command_available; then + PYTHON_PATH=$(get_python_path) + else + python_url="https://www.python.org/downloads/" + print_error "No usable Python executable found in path" + print_error "You may update your path if Python is already installed on your machine" + print_error "For a new installation, please refer to ${python_url}" + exit 1 + fi + + print_info "Python version is $(get_python_version)" +} + +# ------------------------------------------------------------------------------ +# Entry point +# ------------------------------------------------------------------------------ + +venv_dir="venv" +base_dir="$(cd "$(dirname -- "$0")" && pwd)" +venv_path="${base_dir}/${venv_dir}" + +if ! [ -d "${venv_path}" ]; then + locate_python + print_horizontal_line + print_info "Creating python virtual environment..." + "${PYTHON_PATH}" -m venv "${venv_path}" +fi + +print_info "Setting up python virtual environment..." +# instead of relying on venv's activate which sometimes screws up the path on windows, +# we append venv/Scripts to the path by ourselves +# source "${venv_dir}/Scripts/activate" +VIRTUAL_ENV="${venv_path}" +export VIRTUAL_ENV +PATH="$VIRTUAL_ENV/Scripts:$VIRTUAL_ENV/bin:$PATH" +export PATH + +print_info "Upgrading pip..." +python -m pip install --upgrade pip +print_info "Adding kata module..." +pip install --editable . +print_info "Adding kata dependencies..." +pip install --use-pep517 -r ./requirements.txt + +print_horizontal_line +print_info "Python virtual environment is ready" +print_horizontal_line diff --git a/python/start_python_venv.sh b/python/start_python_venv.sh index 99555f5..0b27817 100755 --- a/python/start_python_venv.sh +++ b/python/start_python_venv.sh @@ -20,137 +20,13 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# ------------------------------------------------------------------------------ -# For traces, warnings and errors -# ------------------------------------------------------------------------------ - -print_info() { - message="$1" - printf "%b" "${message}\n" | while IFS= read -r line; do printf "%b" "\e[1;34m>>> ${line} \e[0m\n"; done -} - -print_warning() { - message="$1" - printf "%b" "${message}\n" | while IFS= read -r line; do printf "%b" "\e[1;33m>>> ${line} \e[0m\n"; done -} - -print_error() { - message="$1" - printf "%b" "${message}\n" | while IFS= read -r line; do printf "%b" "\e[1;31m>>> ${line} \e[0m\n"; done -} - -print_horizontal_line() { - term_columns=$(tput cols) - repeated=$((term_columns - 5)) - line=$(head -c "${repeated}" /dev/null 2>/dev/null; then - print_info "Found ${command_name} at $(get_command_path "${command_name}")" - return 0 - else - print_warning "Command ${command_name} not found" - return 1 - fi -} - -# ------------------------------------------------------------------------------ -# Check if a command runs as expected -# ------------------------------------------------------------------------------ - -check_command_execution() { - command_name="$1" - if "${command_name}" --version >/dev/null 2>/dev/null; then - print_info "Checking ${command_name} ==> ok" - return 0 - else - print_warning "Checking ${command_name} ==> failed" - return 1 - fi -} - -is_python3_command_available() { - check_command_availability python3 && check_command_execution python3 -} - -is_python_command_available() { - check_command_availability python && check_command_execution python -} - -get_command_path() { - command_name="$1" - which "${command_name}" -} - -get_python3_path() { - get_command_path python3 -} - -get_python_path() { - get_command_path python -} - -get_python_version() { - "${PYTHON_PATH}" --version | awk '{ print $2 }' -} - -locate_python() { - print_info "Locating Python executable..." - if is_python3_command_available; then - PYTHON_PATH=$(get_python3_path) - elif is_python_command_available; then - PYTHON_PATH=$(get_python_path) - else - python_url="https://www.python.org/downloads/" - print_error "No usable Python executable found in path" - print_error "You may update your path if Python is already installed on your machine" - print_error "For a new installation, please refer to ${python_url}" - exit 1 - fi - - print_info "Python version is $(get_python_version)" -} - -# ------------------------------------------------------------------------------ -# Entry point -# ------------------------------------------------------------------------------ - -venv_dir="venv" +# Call the python init script base_dir="$(cd "$(dirname -- "$0")" && pwd)" -venv_path="${base_dir}/${venv_dir}" +. "${base_dir}"/setup_python_venv.sh -if ! [ -d "${venv_path}" ]; then - locate_python - print_horizontal_line - print_info "Creating python virtual environment..." - "${PYTHON_PATH}" -m venv "${venv_path}" -fi - -print_info "Starting python virtual environment..." -# instead of relying on venv's activate which sometimes screws up the path on windows, -# we append venv/Scripts to the path by ourselves -# source "${venv_dir}/Scripts/activate" -VIRTUAL_ENV="${venv_path}" -export VIRTUAL_ENV -PATH="$VIRTUAL_ENV/Scripts:$VIRTUAL_ENV/bin:$PATH" -export PATH - -print_info "Upgrading pip..." -python -m pip install --upgrade pip -print_info "Adding kata module..." -pip install --editable . -print_info "Adding kata dependencies..." -pip install --use-pep517 -r ./requirements.txt - -# Starting a new shell in order to keep the changes done on the path after the script ends -print_horizontal_line -print_info "Python virtual environment is ready (type 'exit' to leave)" +# Then start a new shell in order to keep the changes done on the path after the script ends +print_info "Python virtual environment is running (type 'exit' to leave)" print_horizontal_line exec bash --norc + + diff --git a/tcr/.gitignore b/tcr/.gitignore index 1db6c5f..47ecd5f 100644 --- a/tcr/.gitignore +++ b/tcr/.gitignore @@ -1,7 +1,6 @@ # Below files and directories are automatically created -# by tcr.sh and do not need to be committed to this repository +# by tcr.sh and should not be committed to this repository bin/** doc/** download/** -tcr_go/** diff --git a/typescript/.gitignore b/typescript/.gitignore new file mode 100644 index 0000000..3f551ab --- /dev/null +++ b/typescript/.gitignore @@ -0,0 +1,4 @@ +# typescript downloaded or generated stuff + +**/node_modules/ +**/test_results/ diff --git a/typescript/yarn.lock b/typescript/yarn.lock index 23711bb..305a3db 100644 --- a/typescript/yarn.lock +++ b/typescript/yarn.lock @@ -10,7 +10,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== @@ -24,32 +24,32 @@ integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" + "@babel/generator" "^7.24.5" "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== +"@babel/generator@^7.24.5", "@babel/generator@^7.7.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== dependencies: - "@babel/types" "^7.24.0" + "@babel/types" "^7.24.5" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -85,81 +85,81 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.22.15": +"@babel/helper-module-imports@^7.24.3": version "7.24.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== dependencies: "@babel/types" "^7.24.0" -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== +"@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== dependencies: "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.5" -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.5" -"@babel/helper-string-parser@^7.23.4": +"@babel/helper-string-parser@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== dependencies: "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" "@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== dependencies: - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-validator-identifier" "^7.24.5" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -268,29 +268,29 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" -"@babel/traverse@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.3.3": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.3.3": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -625,9 +625,9 @@ pretty-format "^29.0.0" "@types/node@*": - version "20.12.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" - integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== + version "20.12.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050" + integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== dependencies: undici-types "~5.26.4" @@ -819,9 +819,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001587: - version "1.0.30001612" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz#d34248b4ec1f117b70b24ad9ee04c90e0b8a14ae" - integrity sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g== + version "1.0.30001620" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" + integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== chalk@^2.4.2: version "2.4.2" @@ -851,9 +851,9 @@ ci-info@^3.2.0: integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + version "1.3.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== cliui@^8.0.1: version "8.0.1" @@ -958,9 +958,9 @@ diff-sequences@^29.6.3: integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== electron-to-chromium@^1.4.668: - version "1.4.746" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz#787213e75f6c7bccb55dfe8b68170555c548d093" - integrity sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg== + version "1.4.774" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.774.tgz#1017d1758aaeeefe5423aa9d67b4b1e5d1d0a856" + integrity sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg== emittery@^0.13.1: version "0.13.1" @@ -979,7 +979,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -escalade@^3.1.1: +escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== @@ -1687,13 +1687,6 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - make-dir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" @@ -1845,10 +1838,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -1890,9 +1883,9 @@ pure-rand@^6.0.0: integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== require-directory@^2.1.1: version "2.1.1" @@ -1931,11 +1924,9 @@ semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.5.3, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== shebang-command@^2.0.0: version "2.0.0" @@ -2115,12 +2106,12 @@ undici-types@~5.26.4: integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.1.2" + picocolors "^1.0.1" uuid@^8.3.2: version "8.3.2" @@ -2187,11 +2178,6 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"