Vertiq.Hosting.WinFormsHybrid
5.2.0
See the version list below for details.
dotnet add package Vertiq.Hosting.WinFormsHybrid --version 5.2.0
NuGet\Install-Package Vertiq.Hosting.WinFormsHybrid -Version 5.2.0
<PackageReference Include="Vertiq.Hosting.WinFormsHybrid" Version="5.2.0" />
paket add Vertiq.Hosting.WinFormsHybrid --version 5.2.0
#r "nuget: Vertiq.Hosting.WinFormsHybrid, 5.2.0"
// Install Vertiq.Hosting.WinFormsHybrid as a Cake Addin #addin nuget:?package=Vertiq.Hosting.WinFormsHybrid&version=5.2.0 // Install Vertiq.Hosting.WinFormsHybrid as a Cake Tool #tool nuget:?package=Vertiq.Hosting.WinFormsHybrid&version=5.2.0
<img src="img/vertiq.svg" width="100px" />
Vertiq
A highly modular Framework to write Blazor Applications with a husstle free vertical sliced architecture - Easy. Flexible. Focused.
This includes various platforms Blazor can run on such as: Blazor Server Side
/ Blazor Wasm
/ Blazor MAUI
/ Blazor Mobile Bindings
without a single change in your code!
Platform support: .net6.0 and upper.
Usage & Installation
Start by (re)installing the templates to the latest version
dotnet new --uninstall Vertiq.Templates & dotnet new --install Vertiq.Templates
Afterwards you will be able to start a simple project by running
REM There is currently a bug in the net7.0 SDK so we use net6.0
dotnet new globaljson --sdk-version 6.0.400 --roll-forward patch --force
REM Install the b-tool
dotnet tool install -g b-tool
REM Create the project
dotnet new vertiq-blazor-server -o AcmeProject
REM change dir
cd AcmeProject
REM create a git repo
git init && git add . && git commit -m "feat: initial commit"
REM build the project
b
REM run the project
b run -s
Prerequisites
You need to have node v12, Yarn and dotnet sdk net6.0 or higher installed on your local machine.
Building
You should be able to build the project by using the build scripts:
#Windows
build.bat
#Or for short
b.bat
#Or for powershell
./build.ps1
#Linux & MacOS
. build.sh
However we recommend you use the b-tool to build the project by installing it via
dotnet tool install -g b-tool
REM To build just call b afterwards
b
Afterwards you will be able to build by simply calling b
on any platform. You also can specify arguments just by passing them to the tool by a space for example: b test
. This even works if you current directory is a subdirectory of the project.
The project uses bullseye to list individual targets use b -l
. To run individual targets call b targetname -s
Testing
Some of the integration tests use Docker. On Windows or MacOS please install Docker Desktop. Afterwards the dockerized tests will run automatically.
Releasing
We follow the semver pattern to for versioning our packages. Please use the r-tool
dotnet tool install -g r-tool
And run r
and follow the wizard to guide you to the release publishing process.
Writing docs
We use a custom tool to write the documentation. To serve up docs simply call b docs.serve
and open https://localhost:5080/
. All documentation is in the demo/FC
directory.
Licensing
Vertiq is available for commercial usage to a thirty-day trial period, after which a license fee must be paid to obtain a license. Please contact us via vertiq@delegate.at
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. |
-
net7.0-windows7.0
- Microsoft.AspNetCore.Components (>= 7.0.12)
- Microsoft.AspNetCore.Components.Web (>= 7.0.12)
- Microsoft.AspNetCore.Components.WebView.WindowsForms (>= 7.0.58)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 7.0.0)
- Vertiq.Hosting (>= 5.2.0)
- Vertiq.Hosting.Hybrid (>= 5.2.0)
-
net8.0-windows7.0
- Microsoft.AspNetCore.Components (>= 8.0.0-rc.2.23480.2)
- Microsoft.AspNetCore.Components.Web (>= 8.0.0-rc.2.23480.2)
- Microsoft.AspNetCore.Components.WebView.WindowsForms (>= 8.0.0-rc.2.9373)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0-rc.2.23479.6)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0-rc.2.23479.6)
- Vertiq.Hosting (>= 5.2.0)
- Vertiq.Hosting.Hybrid (>= 5.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
7.2.4 | 90 | 10/18/2024 |
7.2.3 | 62 | 9/24/2024 |
7.2.2 | 57 | 9/23/2024 |
7.2.1 | 99 | 9/23/2024 |
7.2.0 | 58 | 9/19/2024 |
7.1.4 | 71 | 8/27/2024 |
7.1.3 | 83 | 8/23/2024 |
7.1.2 | 86 | 8/22/2024 |
7.1.0 | 85 | 8/22/2024 |
7.0.0 | 75 | 7/3/2024 |
6.1.4 | 107 | 6/30/2024 |
6.1.3 | 118 | 6/17/2024 |
6.1.2 | 122 | 6/17/2024 |
6.1.1 | 139 | 6/16/2024 |
6.1.0 | 123 | 6/16/2024 |
6.0.1 | 121 | 6/16/2024 |
5.7.1 | 194 | 11/29/2023 |
5.7.0 | 152 | 11/21/2023 |
5.6.0 | 142 | 11/15/2023 |
5.5.6 | 99 | 11/14/2023 |
5.5.5 | 85 | 11/11/2023 |
5.5.4 | 80 | 11/11/2023 |
5.5.3 | 85 | 11/11/2023 |
5.5.2 | 80 | 11/11/2023 |
5.5.1 | 92 | 11/10/2023 |
5.5.0 | 76 | 11/9/2023 |
5.4.0 | 88 | 11/9/2023 |
5.3.4 | 85 | 11/7/2023 |
5.3.3 | 88 | 11/7/2023 |
5.3.2 | 88 | 11/7/2023 |
5.3.1 | 87 | 11/6/2023 |
5.3.0 | 83 | 11/6/2023 |
5.2.2 | 93 | 10/30/2023 |
5.2.1 | 96 | 10/29/2023 |
5.2.0 | 82 | 10/23/2023 |
5.1.0 | 99 | 10/21/2023 |
## 5.2.0 (2023-10-23)
* fix: changelog parse error ([fd78882](https://github.com/vertiq-io/Vertiq/commit/fd78882))
* fix: changelog parse error ([94cc0f6](https://github.com/vertiq-io/Vertiq/commit/94cc0f6))
* fix: changelog parse error ([910b798](https://github.com/vertiq-io/Vertiq/commit/910b798))
* fix: changelog parse error ([8249fdf](https://github.com/vertiq-io/Vertiq/commit/8249fdf))
* fix: changelog parse error ([fefcbba](https://github.com/vertiq-io/Vertiq/commit/fefcbba))
* fix: changelog parse error ([a132160](https://github.com/vertiq-io/Vertiq/commit/a132160))
* release: new version 5.2.0 ([d85536c](https://github.com/vertiq-io/Vertiq/commit/d85536c))
* build(hosting): tried to resolve wasm cli build error ([c1fa47d](https://github.com/vertiq-io/Vertiq/commit/c1fa47d))
* build(hosting): tried to resolve wasm cli build error ([4f01cde](https://github.com/vertiq-io/Vertiq/commit/4f01cde))
* build(hosting): wasm hosting now working ([848879c](https://github.com/vertiq-io/Vertiq/commit/848879c))
* build(hosting): wasm hosting now working ([6e93a31](https://github.com/vertiq-io/Vertiq/commit/6e93a31))
* feat(hosting)!: We decided to split Blazor Wasm and Blazor Server hosting into separate packages to ([39f4996](https://github.com/vertiq-io/Vertiq/commit/39f4996))
* feat(hosting): Added added net8 for wasm support ([bd1fd97](https://github.com/vertiq-io/Vertiq/commit/bd1fd97))
* feat(hosting): Added FC Wasm Empty projects ([8115087](https://github.com/vertiq-io/Vertiq/commit/8115087))
* feat(hosting): added wasm builder ([be412ab](https://github.com/vertiq-io/Vertiq/commit/be412ab))
* feat(hosting): used app builder for maui ([452ca31](https://github.com/vertiq-io/Vertiq/commit/452ca31))
### BREAKING CHANGE
* We overhauled a lot of the hosting infrastructure. Please follow the Obsolete Messages and Docs for guadiance to move forwared
## 5.1.0 (2023-10-21)
* release: new version 5.1.0 ([7ca6098](https://github.com/vertiq-io/Vertiq/commit/7ca6098))
* test(core): Added missing NCrunch configuration files ([38e0f50](https://github.com/vertiq-io/Vertiq/commit/38e0f50))
* test(core): we skipped a couple of test in net8.0 until bunit has a RC2 build ([71590ec](https://github.com/vertiq-io/Vertiq/commit/71590ec))
* test(templates): Added maui hybrid security tests ([6bb4e75](https://github.com/vertiq-io/Vertiq/commit/6bb4e75))
* test(templates): Added maui hybrid security tests ([edc8cab](https://github.com/vertiq-io/Vertiq/commit/edc8cab))
* test(templates): custom nuget cache folder ([4a91dba](https://github.com/vertiq-io/Vertiq/commit/4a91dba))
* test(templates): missing core and component reference ([df9c3c8](https://github.com/vertiq-io/Vertiq/commit/df9c3c8))
* test(templates): missing core and component reference ([8c9ad08](https://github.com/vertiq-io/Vertiq/commit/8c9ad08))
* test(templates): uninstall old templates first ([26ae9b0](https://github.com/vertiq-io/Vertiq/commit/26ae9b0))
* refactor(demo): renamed winforms demo to WinFormsHybrid ([e1b04ed](https://github.com/vertiq-io/Vertiq/commit/e1b04ed))
* refactor(hosting): moved authorization to maui security module ([c3af6e2](https://github.com/vertiq-io/Vertiq/commit/c3af6e2))
* refactor(hosting): moved more dependencies to maui hybrid hosting module ([afc8b90](https://github.com/vertiq-io/Vertiq/commit/afc8b90))
* refactor(hosting): removed bootstrap ([7cbcaa1](https://github.com/vertiq-io/Vertiq/commit/7cbcaa1))
* refactor(hosting): use configuration abstraction for configuring maui oicd client ([38b2d77](https://github.com/vertiq-io/Vertiq/commit/38b2d77))
* refactor(hosting): use simplified request pipeline syntax ([06d4f4a](https://github.com/vertiq-io/Vertiq/commit/06d4f4a))
* refactor(hosting): use simplified request pipeline syntax ([5ee790f](https://github.com/vertiq-io/Vertiq/commit/5ee790f))
* refactor(hosting): use simplified request pipeline syntax ([5c65fbc](https://github.com/vertiq-io/Vertiq/commit/5c65fbc))
* refactor(templates): better test structure ([3a7de8b](https://github.com/vertiq-io/Vertiq/commit/3a7de8b))
* feat(acme): Added Authorized Dashboard ([465240d](https://github.com/vertiq-io/Vertiq/commit/465240d))
* feat(acme): removed old acme sources ([be1a409](https://github.com/vertiq-io/Vertiq/commit/be1a409))
* feat(build): net8.0 RC2 support ([4acf966](https://github.com/vertiq-io/Vertiq/commit/4acf966))
* feat(build): updated to net8.0-rc2 ([31fd8b1](https://github.com/vertiq-io/Vertiq/commit/31fd8b1))
* feat(core): Added NavItem ctor overload ([b444133](https://github.com/vertiq-io/Vertiq/commit/b444133))
* feat(core): added simplified request pipeline builder syntax ([656d110](https://github.com/vertiq-io/Vertiq/commit/656d110))
* feat(core): Added unknown icons ([c807780](https://github.com/vertiq-io/Vertiq/commit/c807780))
* feat(core): added VRedirectTo component ([cc61906](https://github.com/vertiq-io/Vertiq/commit/cc61906))
* feat(core): moved layout state to app store module ([0743c48](https://github.com/vertiq-io/Vertiq/commit/0743c48))
* feat(demos): added acme mazi hybrid project ([b73bfd3](https://github.com/vertiq-io/Vertiq/commit/b73bfd3))
* feat(docs): examples with md content ([11971fd](https://github.com/vertiq-io/Vertiq/commit/11971fd))
* feat(docs): examples with md content ([ce1760f](https://github.com/vertiq-io/Vertiq/commit/ce1760f))
* feat(docs): examples with md content ([97b4015](https://github.com/vertiq-io/Vertiq/commit/97b4015))
* feat(hosting): added acme maui auth windows ([c5bd348](https://github.com/vertiq-io/Vertiq/commit/c5bd348))
* feat(hosting): added BFF Demo ([6aa7152](https://github.com/vertiq-io/Vertiq/commit/6aa7152))
* feat(hosting): added external products api ([6055615](https://github.com/vertiq-io/Vertiq/commit/6055615))
* feat(hosting): added maui security options ([db02abe](https://github.com/vertiq-io/Vertiq/commit/db02abe))
* feat(hosting): added Maui VertiqWebView control ([22f5f86](https://github.com/vertiq-io/Vertiq/commit/22f5f86))
* feat(hosting): added winforms VertiqBlazorWebView ([2c117e6](https://github.com/vertiq-io/Vertiq/commit/2c117e6))
* feat(hosting): android login ([ec798e8](https://github.com/vertiq-io/Vertiq/commit/ec798e8))
* feat(hosting): Brought back FC Maui Project ([d330e8f](https://github.com/vertiq-io/Vertiq/commit/d330e8f))
* feat(hosting): Brought back maui hosting module ([1849ce0](https://github.com/vertiq-io/Vertiq/commit/1849ce0))
* feat(hosting): custom rendering index.html to inject scripts ([c837a75](https://github.com/vertiq-io/Vertiq/commit/c837a75))
* feat(hosting): forward authorization headers ([a3e2b07](https://github.com/vertiq-io/Vertiq/commit/a3e2b07))
* feat(hosting): hybrid android build ([ecab9c5](https://github.com/vertiq-io/Vertiq/commit/ecab9c5))
* feat(hosting): hybrid maui & hybrid winforms on same page ([a68c990](https://github.com/vertiq-io/Vertiq/commit/a68c990))
* feat(hosting): hybrid maui & hybrid winforms on same page & now styles are working ([88ecb02](https://github.com/vertiq-io/Vertiq/commit/88ecb02))
* feat(hosting): maui hybrid security logout ([9a03f1c](https://github.com/vertiq-io/Vertiq/commit/9a03f1c))
* feat(hosting): maui scripts prototype ([38f91dd](https://github.com/vertiq-io/Vertiq/commit/38f91dd))
* feat(hosting): maui styles prototype ([61332f4](https://github.com/vertiq-io/Vertiq/commit/61332f4))
* feat(hosting): maui support for configuration ([022ec9b](https://github.com/vertiq-io/Vertiq/commit/022ec9b))
* feat(hosting): maui win is almost starting ([a40540a](https://github.com/vertiq-io/Vertiq/commit/a40540a))
* feat(hosting): maui win is starting! 🥳 ([c43b4b1](https://github.com/vertiq-io/Vertiq/commit/c43b4b1))
* feat(hosting): moved fc loading of modules into FC.Module as common ground ([bf3797e](https://github.com/vertiq-io/Vertiq/commit/bf3797e))
* feat(hosting): remote endpoints ([7cbd295](https://github.com/vertiq-io/Vertiq/commit/7cbd295))
* feat(hosting): removed mac catalyst for now ([a172ed4](https://github.com/vertiq-io/Vertiq/commit/a172ed4))
* feat(hosting): render prerendered head content ([8bfac5c](https://github.com/vertiq-io/Vertiq/commit/8bfac5c))
* feat(hosting): render prerendered head content from razor ([405b371](https://github.com/vertiq-io/Vertiq/commit/405b371))
* feat(hosting): render prerendered head content from razor ([f51c3c9](https://github.com/vertiq-io/Vertiq/commit/f51c3c9))
* feat(hostings): maui logout ([6869176](https://github.com/vertiq-io/Vertiq/commit/6869176))
* feat(modules): diagnostic module now has a icon ([d901cff](https://github.com/vertiq-io/Vertiq/commit/d901cff))
* feat(templates): added basic structure of maui-hybrid-host template ([df0d1d0](https://github.com/vertiq-io/Vertiq/commit/df0d1d0))
* feat(templates): added first template verify test ([685b596](https://github.com/vertiq-io/Vertiq/commit/685b596))
* feat(templates): added first template verify test ([ebd3398](https://github.com/vertiq-io/Vertiq/commit/ebd3398))
* feat(templates): Added integration tests for templates ([e0c6966](https://github.com/vertiq-io/Vertiq/commit/e0c6966))
* feat(templates): added some styles and made project start without error ([1537d80](https://github.com/vertiq-io/Vertiq/commit/1537d80))
* feat(templates): application logo for mudblazor and blazority ([0593349](https://github.com/vertiq-io/Vertiq/commit/0593349))
* feat(templates): better theming support ([fba000a](https://github.com/vertiq-io/Vertiq/commit/fba000a))
* feat(templates): clear package cache ([98b70ab](https://github.com/vertiq-io/Vertiq/commit/98b70ab))
* feat(templates): included xpo server in blazor server template ([e1be770](https://github.com/vertiq-io/Vertiq/commit/e1be770))
* feat(templates): maui hybrid template now includes MauiHybrid in the project name ([21561fe](https://github.com/vertiq-io/Vertiq/commit/21561fe))
* feat(templates): maui template finally building ([9e3c2df](https://github.com/vertiq-io/Vertiq/commit/9e3c2df))
* feat(templates): maui template improvements ([161088a](https://github.com/vertiq-io/Vertiq/commit/161088a))
* feat(templates): maui template improvements ([955b228](https://github.com/vertiq-io/Vertiq/commit/955b228))
* feat(templates): null logger for maui template ([96c6d19](https://github.com/vertiq-io/Vertiq/commit/96c6d19))
* feat(templates): poke maui template ([9383026](https://github.com/vertiq-io/Vertiq/commit/9383026))
* feat(templates): updated node-sass with sass & bitblazor now uses new sass tool chain ([9aceef6](https://github.com/vertiq-io/Vertiq/commit/9aceef6))
* feat(templates): updated node-sass with sass & bitblazor now uses new sass tool chain ([1da6ba7](https://github.com/vertiq-io/Vertiq/commit/1da6ba7))
* feat(templates): updated node-sass with sass & bitblazor now uses new sass tool chain ([8a91734](https://github.com/vertiq-io/Vertiq/commit/8a91734))
* feat(templates): use TemplateModuleBase as base class for module ([09797d7](https://github.com/vertiq-io/Vertiq/commit/09797d7))
* fix(build): removed package warnings ([2048378](https://github.com/vertiq-io/Vertiq/commit/2048378))
* fix(components): xpo update schema page icon ([0269861](https://github.com/vertiq-io/Vertiq/commit/0269861))
* fix(core): icons can have icon keys as aliases ([ddcd556](https://github.com/vertiq-io/Vertiq/commit/ddcd556))
* fix(fonts): use separate css file names for font packs for better debugging exp ([6378eaa](https://github.com/vertiq-io/Vertiq/commit/6378eaa))
* fix(hosting): use HSTS only in production ([aea4d51](https://github.com/vertiq-io/Vertiq/commit/aea4d51))
* fix(templates): added implicit usings!? ([e0e6e95](https://github.com/vertiq-io/Vertiq/commit/e0e6e95))
* fix(templates): added spectre console to build ([aa535d0](https://github.com/vertiq-io/Vertiq/commit/aa535d0))
* fix(templates): poke right template file ([1746fc9](https://github.com/vertiq-io/Vertiq/commit/1746fc9))
* fix(templates): sealed mudblazor template module ([c4c8e55](https://github.com/vertiq-io/Vertiq/commit/c4c8e55))
* fix(templates): use shared test collection for template tests ([10f8c1f](https://github.com/vertiq-io/Vertiq/commit/10f8c1f))
* fix(templates): use SVG unknown icon until recursive icon rendering is possible ([59c2042](https://github.com/vertiq-io/Vertiq/commit/59c2042))
* fix(templates): use test wide nuget cache for all tests ([0390d0e](https://github.com/vertiq-io/Vertiq/commit/0390d0e))
* fix(test): missing usings ([0fea9c4](https://github.com/vertiq-io/Vertiq/commit/0fea9c4))
* fix(tests): added using?!? ([61e2eb9](https://github.com/vertiq-io/Vertiq/commit/61e2eb9))
* feat(core)!: brand icons & brand image are now iconcore ([1e8ce32](https://github.com/vertiq-io/Vertiq/commit/1e8ce32))
* feat(hosting)!: moved Script and Stylesheet renderrs to core ([5eb5330](https://github.com/vertiq-io/Vertiq/commit/5eb5330))
* feat(templates)!: make MudBlazor Templates module end with s to follow conventions ([94513ba](https://github.com/vertiq-io/Vertiq/commit/94513ba))
* fix(hosting)!: moved content from .vertiq to _vertiq to support MAUI ([1090233](https://github.com/vertiq-io/Vertiq/commit/1090233))
* Merge pull request #48 from vertiq-io/topic/maui-http-client-cleanup ([a0f2885](https://github.com/vertiq-io/Vertiq/commit/a0f2885)), closes [#48](https://github.com/vertiq-io/Vertiq/issues/48)
* build: added acme to sln ([696725c](https://github.com/vertiq-io/Vertiq/commit/696725c))
* build: added VertiqUnknownIcon ([9cdf4f2](https://github.com/vertiq-io/Vertiq/commit/9cdf4f2))
* build: new package version ([439a9a9](https://github.com/vertiq-io/Vertiq/commit/439a9a9))
* build: removed & depricated Vertiq.Hosting modules ([b678610](https://github.com/vertiq-io/Vertiq/commit/b678610))
* build: removed & depricated Vertiq.Hosting.Maui ([6487bb9](https://github.com/vertiq-io/Vertiq/commit/6487bb9))
* build: removed empty non published hosting packages ([c887a77](https://github.com/vertiq-io/Vertiq/commit/c887a77))
* build: templates finally are tested correctly ([c7a34a3](https://github.com/vertiq-io/Vertiq/commit/c7a34a3))
* build: templates finally are tested correctly & cache is managed now for all template tests ([2fdd0da](https://github.com/vertiq-io/Vertiq/commit/2fdd0da))
* build: test templates on github ([9c3e24a](https://github.com/vertiq-io/Vertiq/commit/9c3e24a))
* build: update minver ([95e6f8c](https://github.com/vertiq-io/Vertiq/commit/95e6f8c))
* build: use setup-dotnet@v3 ([58387de](https://github.com/vertiq-io/Vertiq/commit/58387de))
* build: use setup-dotnet@v3 ([80ebb79](https://github.com/vertiq-io/Vertiq/commit/80ebb79))
* build: use setup-dotnet@v3.2 ([d3dcd50](https://github.com/vertiq-io/Vertiq/commit/d3dcd50))
* build(core): removed and depricated Vertiq.Features.SignalR.Server ([9079e89](https://github.com/vertiq-io/Vertiq/commit/9079e89))
* build(hosting): removed maccatalyst support ([d087380](https://github.com/vertiq-io/Vertiq/commit/d087380))
* build(templates): omit xml declaration ([7b1ae40](https://github.com/vertiq-io/Vertiq/commit/7b1ae40))
* docs: fixed readme about docs ([75946d0](https://github.com/vertiq-io/Vertiq/commit/75946d0))
* chore(core): removed warning ([a7ebffb](https://github.com/vertiq-io/Vertiq/commit/a7ebffb))
* chore(core): reverted some changes ([1bf0d48](https://github.com/vertiq-io/Vertiq/commit/1bf0d48))
* chore(demo): fixed config typo ([2442475](https://github.com/vertiq-io/Vertiq/commit/2442475))
* chor(hosting): speed up maui hybrid build ([190b146](https://github.com/vertiq-io/Vertiq/commit/190b146))
### BREAKING CHANGE
* If you use assets from the _content/Vertiq.Components/.vertiq directory adjust path to _content/Vertiq.Components/_vertiq
* We changed the IApplication interface to accept now IconCore for `BrandImage` and `BrandIcon`.
This allows us to use the underling VIcon infrastructure to render those more consistent in all related Templates
* We removed a couple of (empty) packages:
Vertiq.Features.SignalR.Server
* We renamed the `VertiqMudBlazorTemplateModule` to `VertiqMudBlazorTemplatesModule` to follow the conventions