Releases: crossplane/function-template-typescript
v0.2.1
Release Notes - v0.2.1
Overview
This is a maintenance release focused on updating dependencies to their latest versions and ensuring compatibility with the latest tooling updates.
What's New
Dependency Updates
- Function SDK: Updated
@crossplane-org/function-sdk-typescriptfrom^0.3.0to^0.3.1 - ESLint: Upgraded from
^9.39.2to^10.0.2for improved linting capabilities - TypeScript ESLint: Updated from
^8.53.0to^8.56.0 - Package Overrides: Added
minimatchoverride to^10.2.2for security and compatibility
Improvements
- Reduced Package Size: Optimized
package-lock.jsonresulting in a cleaner dependency tree - Security Updates: Dependencies updated to include latest security patches
- Compatibility: Ensured compatibility with latest versions of development tools
Files Changed
package.json- Version bump to 0.2.1 and dependency updatespackage-lock.json- Refreshed dependency tree (333 insertions, 653 deletions)README.md- Documentation formatting improvements
Installation
Install the Configuration package:
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: crossplane-configuration-template-typescript
spec:
package: ghcr.io/crossplane/configuration-template-typescript:v0.2.1Contributors
- Steven Borrelli (@stevendborrelli)
Full Changelog
Compare changes: v0.2.0...v0.2.1
v0.2.0
Release Notes - v0.2.0
Overview
This release includes significant organizational changes, improved documentation, enhanced GitHub workflows, and better project structure. The template has been migrated to use GitHub Container Registry (ghcr.io) and updated to reflect the official Crossplane organization.
What's New
Organization Changes
- Migrated to Crossplane Organization: Updated all package references from
upboundtocrossplaneorganization - GitHub Container Registry: Switched default package registry from Upbound registry to
ghcr.iofor better accessibility - Package Renaming: Updated package names to reflect the new organizational structure
- Configuration package:
ghcr.io/crossplane/configuration-template-typescript - Function package:
ghcr.io/crossplane/function-template-typescript
- Configuration package:
Documentation Improvements
- Enhanced README: Significantly expanded documentation with:
- Clearer TypeScript compiler information (TypeScript 5+ tsc and TypeScript 7 tsgo)
- Better structured sections with improved navigation
- Fixed broken links and formatting issues
- More detailed examples and explanations
- Issue Templates: Added GitHub issue templates for bug reports and feature requests
- Pull Request Template: Added standardized PR template to improve contribution workflow
CI/CD Enhancements
- Updated GitHub Actions: Modified CI workflow to support GitHub Container Registry
- Updated authentication mechanisms
- Improved permissions handling
- Cleaner workflow configuration
Code Quality
- Removed Unused Code: Cleaned up unnecessary annotations and test helper functions
- Fixed Typos: Corrected various typos throughout the codebase
- Code Cleanup: General refactoring and cleanup for better maintainability
Configuration Updates
- Updated Function References: Updated
examples/functions.yamlto reference new package locations - Crossplane Package Metadata: Updated
crossplane.yamlfiles in both function and configuration packages - Environment Variables: Simplified
envfile with updated registry defaults
Breaking Changes
Old (v0.1.0):
package: xpkg.upbound.io/upbound/function-template-typescriptNew (v0.2.0):
package: ghcr.io/crossplane/function-template-typescript:v0.2.0Update your Configuration packages and any references accordingly.
Files Changed
.github/ISSUE_TEMPLATE/bug_report.md- Added.github/ISSUE_TEMPLATE/feature_request.md- Added.github/PULL_REQUEST_TEMPLATE.md- Added.github/workflows/ci.yaml- Updated for ghcr.ioREADME.md- Major documentation improvementsenv- Updated registry configurationexamples/functions.yaml- Updated function referencespackage-configuration/apis/apps/composition.yaml- Updated function namespackage-configuration/crossplane.yaml- Updated package dependenciespackage-function/crossplane.yaml- Updated package metadatapackage.json- Version bump to 0.2.0src/function.ts- Code cleanupsrc/test-helpers.ts- Removed unused codetest-cases/README.md- Documentation updatestest-cases/example.yaml- Cleanup
Installation
Install the Configuration package:
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: crossplane-configuration-template-typescript
spec:
package: ghcr.io/crossplane/configuration-template-typescript:v0.2.0Contributors
- Steven Borrelli (@stevendborrelli)
Full Changelog
Compare changes: v0.1.0...v0.2.0
v0.1.0
v0.1.0 - Initial Release
What's New
This is the initial release of the Crossplane Function Template for TypeScript. This template provides a complete starting point for building Crossplane composition functions using TypeScript and the official Function SDK.
Features
- Full TypeScript Support: Build Crossplane functions with TypeScript 5+ or TypeScript 7 (tsgo)
- Function SDK Integration: Uses @crossplane-org/function-sdk-typescript v0.3.0
- Example Implementation: Sample function that creates Kubernetes resources (Deployment, Service, ServiceAccount, Ingress)
- Testing Support: Jest-based testing with YAML test case support
- GitHub Actions CI/CD: Automated workflows for building, testing, and publishing packages
- Multi-Architecture Support: Docker images and packages for both amd64 and arm64
- Code Quality Tools: ESLint, Prettier, and TypeScript strict mode configuration
- Complete Documentation: Extensive README with implementation guide and examples
Package Structure
- Configuration Package: Contains the XRD and Composition for deploying the function
- Function Package: Embeds the TypeScript function in a distroless Node.js container
- Example Manifests: Examples in the
examples/directory
Installation
Install the configuration package to your Crossplane cluster:
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: configuration-template-typescript
spec:
package: xpkg.upbound.io/upbound/function-template-typescript:v0.1.0Development
Clone and start developing:
git clone https://github.com/upbound/function-template-typescript.git
cd function-template-typescript
npm install
npm run build
npm testWhat's Included
- TypeScript function implementation with SDK integration
- YAML-based test case framework
- Multi-platform Docker build scripts
- Crossplane package build tooling
- GitHub Actions for automated CI/CD
- Comprehensive README and documentation
For more information, see the README.
Full Changelog: https://github.com/upbound/function-template-typescript/commits/v0.1.0