- *.eslintignore, .eslintrc, .gitignore, .vscode/settings.json, .github/): add configuration files and templates for eslint, gitignore, vscode, and github issues and pull requests ✨ feat(.eslintignore): add node_modules, dist, and .git to ignore list ✨ feat(.eslintrc): add @nyxb eslint configuration and disable @typescript-eslint/no-unused-vars rule ✨ feat(.github/): add issue and pull request templates for bug report, feature request, typo, and config ✨ feat(.gitignore): add node_modules, .log, .DS_Store, coverage, dist, types, .gen, and .nyc_output to ignore list ✨ feat(.vscode/settings.json: Add vscode settings to enable eslint and prettier, set tab size to 3, insert final newline, trim auto whitespace, and set files encoding to utf8 (5e5e5ac)
- builder): add support for Rollup builder ✨ feat(builder: Add support for Mimikra builder The Rollup builder is now supported, allowing for more flexibility in building JavaScript applications. The Mimikra builder is also now supported, which allows for building JavaScript applications using the Mimikra library. These changes were made to improve the flexibility and options available for building JavaScript applications. (0932cf3)
- esbuild.ts): add esbuild plugin to transpile TypeScript and JavaScript files 🎉 feat(json.ts): add json plugin to handle JSON files 🎉 feat(raw.ts: Add raw plugin to handle raw files The esbuild plugin transpiles TypeScript and JavaScript files using the esbuild library. The json plugin handles JSON files and the raw plugin handles raw files such as markdown, text, css, html, and htm files. These plugins are added to the build process to improve the build pipeline and make it more efficient. (ff29ed6)
- cjs.ts, shebang.ts: Add new plugins to the builder The
cjs.ts
plugin adds support for CommonJS modules in the Rollup bundler. It shims__dirname
,__filename
, andrequire
to work with ESM modules. Theshebang.ts
plugin preserves shebangs in the output files and makes them executable. It also adds an option to disable shebang preservation. These plugins are added to the builder to improve the bundling process and make it more flexible. (296d174) - auto.ts): add autoPreset and inferEntries functions to automatically detect entries and output types ✨ feat(typiqus.ts: Add typesBuild function to generate types and markdown files from typiqus schemas The autoPreset function automatically detects entries and output types based on the package.json file and the source files. The inferEntries function is used to infer entries from the package files. The typesBuild function generates types and markdown files from typiqus schemas. It uses the dynot package to dynamically require the schema files and the typiqus package to generate the types and markdown files. (a14b29c)
- build.ts: Add build function to build the project This commit adds a new build function that builds the project. The function reads the build.config and package.json files, resolves the preset, merges options, and builds the project. The function also validates the dependencies and package, and calls the build:done hook. (5e99afe)
- cli.ts: Add CLI entry point to build the project This commit adds a new file
cli.ts
which is the entry point for the CLI tool to build the project. Themain()
function is an async function that parses the command line arguments using themri
package and then calls thebuild()
function with the root directory and thestub
argument. If there is an error, it is caught and logged to the console. Themain()
function is then called and any errors are logged to the console and the process exits with a status code of 1. (8506dd9)
- validate.test.ts): fix typos in import statements and function names ✨ feat(validate.test.ts: Add type import for BuildEntry The commit fixes typos in import statements and function names to improve code readability. Additionally, a type import for BuildEntry is added to improve type safety. (cf106aa)
- eslintrc): disable n/prefer-global/buffer rule ✨ feat(types.ts): add new types and interfaces for build configuration and context ✨ feat(utils.ts: Add new utility functions for file system operations, resolving presets, and extracting export filenames The n/prefer-global/buffer rule is disabled in the .eslintrc file. New types and interfaces are added to types.ts to support build configuration and context. New utility functions are added to utils.ts to support file system operations, resolving presets, and extracting export filenames. (a3bdbe3)
- build.ts): change build.config to karium.config to match project naming convention ✨ feat(types.ts): add support for tsx and jsx file extensions in MimikraBuildEntry 🔬 test(auto.test.ts): add tests for getEntrypointPaths and inferEntries functions 🔬 test(fixture: Add fixture files for testing The build.ts file was updated to change the build.config file name to karium.config to match the project naming convention. The types.ts file was updated to add support for tsx and jsx file extensions in MimikraBuildEntry. The auto.test.ts file was updated to add tests for the getEntrypointPaths and inferEntries functions. Fixture files were added to test the functions. (550bb16)
- .eslintrc): update eslint rules and settings 🔥 chore(build.config.ts, build.preset.ts): remove unused files ✨ feat(karium.config.ts, karium.preset.ts: Add new build configuration files The eslint rules and settings have been updated to include new rules and settings. The build.config.ts and build.preset.ts files have been removed as they are no longer needed. New build configuration files, karium.config.ts and karium.preset.ts, have been added to the test/fixture directory. These files contain new build configurations for the application. (6d5f7b8)
- index.ts): refactor console.log statements to use consolji library 🚨 test(index.ts): add ts-expect-error comment to import statement 🔧 chore(schema.ts: Change import statement to use typiqus library instead of untyped The console.log statements in index.ts were refactored to use the consolji library, which provides a more consistent and configurable logging experience. The ts-expect-error comment was added to the import statement in index.ts to suppress the TypeScript error that occurs when importing a node: module. The import statement in schema.ts was changed to use the typiqus library instead of the untyped library, which provides better type safety. (9aef5cc)
- .eslintignore): ignore README.md file in eslint ✨ feat(README.md: Add README.md file with project description, usage, and configuration instructions The README.md file is now added to the repository and contains a detailed description of the project, usage instructions, and configuration instructions. The .eslintignore file is updated to ignore the README.md file in eslint. (2f01bf2)
- package.json: Move prepack script to the top of the scripts section The prepack script is moved to the top of the scripts section to improve readability and to make it easier to find. (fb5174c)
- package.json: Format package.json file with prettier The package.json file was formatted with prettier to improve readability and consistency. No functional changes were made. (af530ac)
- auto.ts, build.ts, validate.ts: Change console log color from cyan to purple This change improves the readability of the console logs by changing the color of the logs from cyan to purple. (b9436f0)
- auto.ts): improve readability of console output by refactoring console.log statement 🎨 style(build.ts: Improve readability of console output by refactoring console.log statement The console.log statements in both files have been refactored to improve readability. The changes include adding color to the console output, reformatting the output to be more concise, and improving the grammar of the output. (8cf1dbf)
- github-assets: Add cover image for Buildkarium repository This commit adds a new cover image for the Buildkarium repository located in the .github/assets directory. The image is named cover-github-buildkarium.png and is used to improve the visual appeal of the repository. (82ed93f)
- Nyxb contact@nyxb.xyz