Commit Graph

86 Commits

Author SHA1 Message Date
d322459e44 Bump version to 0.0.11
Updated package version to 0.0.11 to reflect recent bug fixes and minor improvements. Ensures users get the latest enhancements.
2024-08-16 17:28:24 +02:00
64bd0883c8 Fix lazy initialization of instances in RegisterInstance
Updated the lazy initialization logic to ensure the instance is created only once by moving the instance variable outside of the proxy handlers. This addresses potential redundant instance creation and improves efficiency and consistency in DI container operations.
2024-08-16 17:28:24 +02:00
92a3482537 Update package version and add description
Bumped version from 0.0.9 to 0.0.10. Added a meaningful description for the package to clarify its purpose as a dependency injection system for TypeScript, improving documentation.
2024-08-16 16:14:11 +02:00
41be08e02e Refactor DI container for better structure and clarity
- Moved `TSinjex` class to `classes` directory for better organization.
- Updated imports across the codebase to reflect the new location of `TSinjex`.
- Introduced `Identifier` type to standardize dependency identifiers.
- Enhanced JSDoc comments for improved clarity and consistency.
- Adjusted error messages for `DependencyResolutionError` to provide clearer information.
- Updated and expanded decorator and function types to use `Identifier` type.
2024-08-16 16:14:11 +02:00
5277f93df1 Disable console errors and enhance docs generation
Updated ESLint rules to turn off 'no-console' to allow console statements. Streamlined the GitHub Actions workflow to combine test coverage and TypeDoc generation into a single script for more efficient documentation deployment. Enhanced README with simplified test coverage badges. Added new npm scripts to automate documentation fixes, including a script to correct escaping issues in HTML files. Improved documentation generation, ensuring comprehensive and accurate project documentation.
2024-08-16 16:10:14 +02:00
fc40d7fa83 Update coverage URL to relative path
Changed the coverage URL from an absolute web link to a relative file path to ensure compatibility with local file system references. This facilitates easier navigation and access to the coverage reports in different environments.
2024-08-16 12:11:26 +02:00
7258f3813f Update test script in DeployTypeDoc workflow
Modified the GitHub Actions DeployTypeDoc workflow to run `npm run test:coverage` instead of `npm run test:verbose`. This change switches from verbose test output to generating test coverage, aiming to improve code quality insights during deployment.
2024-08-16 12:04:47 +02:00
4a1229b344 Add test coverage config and badges
Configured Jest for improved test coverage reporting and threshold enforcement. Updated README with project time and test coverage badges. Added scripts to fix coverage report paths and generate badges. Updated dependencies to include necessary tools for coverage reporting. Bumped package version to 0.0.9.
2024-08-16 12:02:39 +02:00
187b39e7c5 Add GitHub Actions workflow for TypeDoc deployment
Introduced a new GitHub Actions workflow to automate the deployment of documentation using TypeDoc and test coverage to GitHub Pages. The workflow triggers on pushes to the main branch or manually. Steps include checking out the repository, setting up Node.js, installing dependencies, running tests, generating TypeDoc documentation, and deploying the output to the gh-pages branch.
2024-08-16 11:40:24 +02:00
b9a75a36f5 Add Typedoc support and improve documentation
Upgraded the package version to 0.0.9. Introduced Typedoc for generating documentation with added script in package.json. Enhanced exception handling by introducing `DependencyResolutionError`. Refined TSinjex comments and README structure for better readability. Updated index file exports for better module organization.
2024-08-15 17:57:07 +02:00
f0d1db6fa1 Upgrade package versions and update ESLint config
Upgraded the project version to 0.0.8. Updated various dev dependencies, specifically @typescript-eslint packages and eslint-plugin-jsdoc, to their latest versions. Replaced @typescript-eslint/eslint-plugin with @stylistic/eslint-plugin to ensure compatibility and improved linting. These changes enhance code quality and tool efficiency.
2024-08-15 00:08:52 +02:00
de2cca1742 Bump version to 0.0.7, export additional types
Updated package version to 0.0.7 to reflect new changes. Added export statements for `InitDelegate` and `GenericConstructor` types, enhancing type availability for package users.
2024-08-14 23:20:44 +02:00
771b810419 Rename TSInjex to TSinjex and Add Jest Setup in README
Renamed all instances of 'TSInjex' to 'TSinjex' for consistency across the codebase, including interfaces, classes, and test files. Updated the version in `package.json` from 0.0.5 to 0.0.6. Added Jest setup example to the `README.md` to guide developers on initial configuration for testing.
2024-08-14 23:10:44 +02:00
ad4a8fd8c6 Include additional files in release and mark as prerelease
Added `src` folder and `tsconfig.json` to the release preparation to ensure all necessary files are included. Uncommented the deletion of the temporary branch to streamline the workflow. Set releases to be marked as prereleases automatically. Updated version in `package.json` to 0.0.5 and included a `files` field to specify which files to include in the package.
2024-08-14 22:34:15 +02:00
de45d8e791 Update import path and version number
Changed the relative import path in `register.ts` for better module resolution and incremented the package version to 0.0.4 to reflect the updated changes.
2024-08-14 22:29:37 +02:00
f56df7eb29 Comment out temporary branch deletion in workflow
### Details
Disabled the step for deleting the temporary branch in the release workflow by commenting out the relevant lines. This adjustment prevents potential issues caused by branch deletion during the release process and ensures the stability of the workflow until a more robust solution is implemented.
2024-08-14 21:50:12 +02:00
8937d5f307 Configure Git user in release workflow
Added steps to set the Git user name and email in the release workflow. This ensures that commits made by the workflow are correctly attributed to GitHub Actions, preventing potential issues with commit authorship.
2024-08-14 21:48:13 +02:00
27ed151589 Improve CreateRelease workflow cleanup
Updated the GitHub Actions CreateRelease workflow to use `git reset` instead of `git rm -rf`, ensuring the `.gitignore` file is removed. Simplifies the preparation of files for release and prevents the removal of unexpected files.
2024-08-14 21:46:58 +02:00
1606c9b6dd Refine create_temp_branch logic in release workflow
Switched `git reset --hard` to `git rm -rf .` followed by a target-specific `git reset` in the release workflow. This change ensures only the necessary files (README.md, package.json, LICENSE, dist/**) are retained for the temp release branch, improving the accuracy of release preparation.
2024-08-14 21:43:38 +02:00
3c308635dd Standardize file naming and improve typings export
Renamed functions files to follow consistent camelCase convention. Added a missing type export for ITSInjex interface in the main index file, enabling better TypeScript type support and ensuring interfaces are available for external modules.
2024-08-14 21:39:59 +02:00
c1a4dc7bd0 Rename Jest config to .cjs and update .eslintignore
Renamed `jest.config.js` to `jest.config.cjs` for compatibility with CommonJS modules. Updated `.eslintignore` to exclude `.cjs` files to prevent linting issues.
2024-08-14 21:26:39 +02:00
bc9376bce7 Remove redundant postinstall npm script
Simplified the npm scripts by removing the unnecessary "postinstall" script which was triggering the TypeScript build. This step was redundant since the build process is already handled separately.
2024-08-14 21:23:20 +02:00
f7dc771e0a Automate release workflow, bump version to 0.0.3
Added the creation of a temporary branch to stage release files before tagging, ensuring a clean release environment. Adjusted the tag creation process and included steps to delete the temporary branch post-tagging. Updated `package.json` to version 0.0.3 and set module type for better compatibility.
2024-08-14 21:22:06 +02:00
5ac3918ca2 Update project version to 0.0.2
Bumped the project version from 0.0.1 to 0.0.2 in the package-lock.json. Added `hasInstallScript` attribute to the main package metadata, indicating the presence of an installation script.
2024-08-14 20:52:26 +02:00
c6ba0b7801 Update version and expand exports
Upgraded package version from 0.0.1 to 0.0.2 to reflect new functionality. Added exports for `resolve` and `register` functions to extend the library capabilities.
2024-08-14 20:50:09 +02:00
92402f1523 Add postinstall script to build TypeScript
Added a new "postinstall" script to `package.json` to automatically build TypeScript files using the `build:tsc` command after dependencies are installed. This ensures that the TypeScript code is compiled immediately following an `npm install`, improving the setup process consistency.
2024-08-14 20:39:02 +02:00
3dbbfc8e1e Rename DIContainer to TSInjex and refactor interfaces
- Renamed DIContainer class and related references to TSInjex to better indicate its purpose as a TypeScript-based dependency injection container.
- Extracted IDependency interface to a separate file to improve modularity.
- Split the ITSInjex interface into ITSInjexRegister and ITSInjexResolve, then extended them in a new ITSInjex interface to clarify the separation of concerns.
- Updated tests and decorators to reflect the renaming and interface changes.
- Adjusted helper, functions, and index export to align with the new TSInjex structure.
2024-08-14 20:23:02 +02:00
8d607c7f0c Change exit code for unchanged version condition
Modified the workflow to exit with code 1 instead of 0 when the version has not changed. This prevents the release job from being considered successful when no new release is created, improving the accuracy of pipeline status.
2024-08-14 20:02:33 +02:00
587918136e Disable file uploads in release action
Commented out the file uploads section in the CreateRelease GitHub Action workflow. This prevents specified files from being included in the release, likely streamlining the release process or addressing issues with file attachments.
2024-08-14 19:58:49 +02:00
1389dfc947 Add npm script to display current version
Introduced a new script `version:show` to easily display the current project version from the package.json. This enhances developer efficiency by providing quick access to the version number.
2024-08-14 19:55:11 +02:00
6f3b740c55 Merge branch 'main' of https://github.com/PxaMMaxP/TSinjex 2024-08-14 19:53:21 +02:00
079249aa3c Add automated release workflow and update configs
Introduced a GitHub Actions workflow to automate release creation upon pushes to the main branch, enhancing CI/CD efficiency. Updated the pull request workflow to support manual triggers. Adjusted Jest's coverage thresholds from 80% to 70% to reflect current testing standards. Added "types" field in package.json for TypeScript declarations. Created an empty README.md.
2024-08-14 19:53:09 +02:00
f307233fe7 Enable manual workflow run and add TypeScript types
Added `workflow_dispatch` to GitHub Actions to permit manual execution of pull request tests, enhancing flexibility in CI/CD processes. Included `types` field in `package.json` to specify TypeScript declaration file, improving TypeScript support and integration.
2024-08-14 19:51:45 +02:00
6c4db19926 First check-in of the code from the Obsidian Prj project. 2024-08-14 19:40:52 +02:00
1341427590 Basic setup of the project. 2024-08-14 19:40:05 +02:00
Max P.
0fc0f6ac82 Initial commit 2024-07-19 09:51:22 +02:00