Kosko 1.1: ESM Support
Kosko comes with ECMAScript modules (ESM) support since v1.1. You can write components and environments in native ESM files. The following packages are updated for ESM support. Please make sure to update these packages before using ESM.
@kosko/cli
- 1.2.0@kosko/env
- 1.1.0@kosko/generate
- 1.1.0kosko
- 1.1.0@kosko/migrate
- 2.0.0@kosko/require
- 2.0.0@kosko/yaml
- 1.0.0
The biggest difference between CommonJS and ESM is that @kosko/env
is asynchronous in ESM. This is because import()
is asynchronous. But don't freak out, it won't break your current code at all. @kosko/env
is still synchronous in CommonJS.
When retrieving environments in ESM, you MUST add await
as the example below.
Instead of module.exports
, export components or environments with export default
.
For more details about how to enable ESM or programmatical usage, please check here.
#
Breaking Changes@kosko/yaml
#
loadString
and getResourceModule
functions become asynchronous because of ESM support.
@kosko/migrate
#
migrate
and migrateString
functions become asynchronous because of the breaking changes of @kosko/yaml
package.
@kosko/require
#
resolve
function no longer allows resolve.AsyncOpts
as options, please use ResolveOptions
instead.
#
kubernetes-modelskubernetes-models is also updated for ESM support.
@kubernetes-models/base
- 1.2.0@kubernetes-models/cert-manager
- 1.1.0@kubernetes-models/contour
- 1.1.0@kubernetes-models/crd-generate
- 1.2.0@kubernetes-models/gke
- 1.1.0kubernetes-models
- 1.1.0@kubernetes-models/openapi-generate
- 1.2.0@kubernetes-models/prometheus-operator
- 1.1.0@kubernetes-models/read-input
- 1.1.0@kubernetes-models/sealed-secrets
- 1.1.0@kubernetes-models/string-util
- 1.1.0@kubernetes-models/validate
- 1.1.0