{"id":29672926,"url":"https://github.com/leancodepl/js_corelibrary","last_synced_at":"2025-07-31T02:38:05.768Z","repository":{"id":304650533,"uuid":"499562755","full_name":"leancodepl/js_corelibrary","owner":"leancodepl","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-29T09:33:24.000Z","size":8607,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-29T11:27:24.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leancodepl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-06-03T15:33:55.000Z","updated_at":"2025-07-25T12:52:09.000Z","dependencies_parsed_at":"2025-07-14T14:44:38.255Z","dependency_job_id":"bb4be178-ade4-4aa8-bd0e-ae9523ce7fc5","html_url":"https://github.com/leancodepl/js_corelibrary","commit_stats":null,"previous_names":["leancodepl/js_corelibrary"],"tags_count":100,"template":false,"template_full_name":null,"purl":"pkg:github/leancodepl/js_corelibrary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fjs_corelibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fjs_corelibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fjs_corelibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fjs_corelibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leancodepl","download_url":"https://codeload.github.com/leancodepl/js_corelibrary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fjs_corelibrary/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267684292,"owners_count":24127677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-22T21:09:21.135Z","updated_at":"2025-07-31T02:38:05.739Z","avatar_url":"https://github.com/leancodepl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js_corelibrary\n\n## Packages\n\n### CQRS Clients\n\n#### `@leancodepl/cqrs-client-base`\n\nBase types and interfaces for CQRS client implementations.\n\n#### `@leancodepl/axios-cqrs-client`\n\nCQRS client with Axios for HTTP communication and type-safe command/query handling.\n\n#### `@leancodepl/react-query-cqrs-client`\n\nTanStack Query CQRS client with hooks for queries, operations, and commands with built-in caching.\n\n#### `@leancodepl/rx-cqrs-client`\n\nRxJS-based CQRS client for reactive command and query operations with observable streams.\n\n### Binary data types and utilities\n\n#### `@leancodepl/api-binary`\n\nBinary data types and utilities for API communication.\n\n#### `@leancodepl/api-binary-blob`\n\nBlob utilities for converting between API binary format and JavaScript Blob objects.\n\n### Dates\n\n#### `@leancodepl/api-date`\n\nCore date and time type definitions for API communication.\n\n#### `@leancodepl/api-date-datefns`\n\nDate and time utilities using date-fns for converting between API date formats and JavaScript Date objects.\n\n#### `@leancodepl/api-date-dayjs`\n\nDate and time utilities using Day.js for converting between API date formats and Day.js objects.\n\n#### `@leancodepl/api-date-utils`\n\nCommon utilities for parsing and handling API date formats, including time span parsing functionality.\n\n### Pipe Clients\n\n#### `@leancodepl/hook-pipe-client`\n\nReact hooks for real-time data subscriptions using @leancodepl/pipe with WebSocket communication.\n\n#### `@leancodepl/rx-pipe-client`\n\nRxJS-based topic functions for real-time data subscriptions using @leancodepl/pipe with composable operators.\n\n### Authentication \u0026 Security\n\n#### `@leancodepl/login-manager`\n\nOAuth2 authentication management with token storage, refresh capabilities, and social login integrations.\n\n#### `@leancodepl/kratos`\n\nHeadless React components library for building Ory Kratos authentication flows.\n\n### Development Tools\n\n#### `@leancodepl/linting`\n\nComplete linting and formatting setup for TypeScript and React projects with ESLint, Prettier, and Stylelint.\n\n#### `@leancodepl/eslint-config`\n\nESLint configurations for TypeScript and React projects with import sorting and accessibility rules.\n\n#### `@leancodepl/prettier-config`\n\nPrettier configuration for consistent code formatting across projects.\n\n#### `@leancodepl/stylelint-config`\n\nStylelint configuration for CSS and SCSS with property ordering and best practices enforcement.\n\n### UI \u0026 Styling\n\n#### `@leancodepl/styled-tools`\n\nTypeScript utilities for styled-components with type-safe theme access.\n\n### Feature Management\n\n#### `@leancodepl/feature-flags-react-client`\n\nReact client for feature flag management using OpenFeature standard.\n\n### Analytics\n\n#### `@leancodepl/gtag`\n\nType-safe Google Tag Manager data layer integration for web analytics and event tracking.\n\n### Utilities\n\n#### `@leancodepl/utils`\n\nUtility library for common development tasks including assertions, transformations, and React hooks.\n\n#### `@leancodepl/validation`\n\nValidation utilities for handling API responses and error management with custom error codes.\n\n## Development\n\n### Testing\n\nRun tests for a specific package:\n\n```bash\nnx test [package-name]\n```\n\n### Building\n\nBuild a specific package:\n\n```bash\nnx build [package-name]\n```\n\n### Linting\n\nRun linting for a specific package:\n\n```bash\nnx lint [package-name]\n```\n\n## Publishing\n\n1. Create a new branch, name it `release/[version]` e.g. `release/1.2.3`\n2. Push that empty branch to the remote (required for the next step to work).\n3. Run `npx lerna version [version]` e.g. `npx lerna version 1.2.3`. This command will automatically bump versions\n   across all files and push the changes.\n4. Create a new pull request for this branch.\n5. Go to the `Actions` tab, and then `Release` workflow. Expand the `Run workflow` menu, from the `Tags` tab choose your\n   new version and run the workflow.\n6. After refreshing the page you should be able to see the workflow running. After it finishes successfully, go back to\n   the previously created PR and merge it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleancodepl%2Fjs_corelibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleancodepl%2Fjs_corelibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleancodepl%2Fjs_corelibrary/lists"}