{"id":24965730,"url":"https://github.com/shiftcode/sc-commons-public","last_synced_at":"2025-04-11T00:50:32.348Z","repository":{"id":37924966,"uuid":"445608166","full_name":"shiftcode/sc-commons-public","owner":"shiftcode","description":"public helper package with commonly used utils","archived":false,"fork":false,"pushed_at":"2025-01-27T16:52:17.000Z","size":1531,"stargazers_count":1,"open_issues_count":8,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-24T21:38:47.390Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shiftcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-07T17:55:08.000Z","updated_at":"2025-01-03T21:36:29.000Z","dependencies_parsed_at":"2023-12-20T13:07:08.320Z","dependency_job_id":"3f55d644-bdd5-4d99-ab92-c6dee3066ff8","html_url":"https://github.com/shiftcode/sc-commons-public","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiftcode%2Fsc-commons-public","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiftcode%2Fsc-commons-public/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiftcode%2Fsc-commons-public/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiftcode%2Fsc-commons-public/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shiftcode","download_url":"https://codeload.github.com/shiftcode/sc-commons-public/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322609,"owners_count":21084336,"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","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-02-03T11:15:19.865Z","updated_at":"2025-04-11T00:50:32.326Z","avatar_url":"https://github.com/shiftcode.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sc-commons-public\n\nPublic helper packages with commonly used utilities / helpers.\n\n\n\u003e[![@shiftcode/branch-utilities](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fbranch-utilities%2Fpackage.json\u0026label=%40shiftcode%2Fbranch-utilities)](packages/branch-utilities) \\\n\u003efunctions to read information about the current branch either locally or inside Github actions.\n\n\u003e[![@shiftcode/eslint-config-recommended](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Feslint-config-recommended%2Fpackage.json\u0026label=%40shiftcode%2Feslint-config-recommended)](packages/eslint-config-recommended) \\\n\u003eOur recommended config for eslint. We provide two versions, one for usage in node projects and one for Angular.\n\n\u003e[![@shiftcode/eslint-plugin-rules](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Feslint-plugin-rules%2Fpackage.json\u0026label=%40shiftcode%2Feslint-plugin-rules)](packages/eslint-plugin-rules) \\\n\u003eContains some custom es lint rules. Those are used in our recommended eslint config.\n \n\u003e[![@shiftcode/publish-helper](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Fpublish-helper%2Fpackage.json\u0026label=%40shiftcode%2Fpublish-helper)](packages/publish-helper)\\\n\u003escripts to prepare and publish libs inside mono-repos with lerna\n\n\u003e[![@shiftcode/utilities](https://img.shields.io/github/package-json/v/shiftcode/sc-commons-public?filename=packages%2Futilities%2Fpackage.json\u0026label=%40shiftcode%2Futilities)](packages/utilities)\\\n\u003evarious utility functions, constants and helper types - usable in Node and Browsers\n\n## Usage\nAdd a `.npmrc` file to the root of your project:\n```\n@shiftcode:registry=https://npm.pkg.github.com\n```\n\n## Quick Start\n* `npm i`\n* `npm run build`\n* start developing\n\n\n## Versioning\nWhen opening a PR lerna publishes a new prerelease version with the preId `-prXX.{COUNT}`.\nBy creating this version lerna creates a commit with the updated versions in the package.json. It does not update the `peerDependencies` versions.\n\nAfter merging the PR back to the master a new release is published with the graduated version (eg. `1.0.1-pr55.7` -\u003e `1.0.1`).\n\n\u003e ensure your branch is named correctly by the convention `#XX-name` where `XX` is your github issue number.\n\n### Hint\nIf it happens that you already have another commit locally, before updating the branch with this `build(release):..` commit:\n\u003e use `rebase` instead of `merge`\n\n\n## Anatomy of the repo\n\nWe use lerna to manage the packages.\n- For lerna to know the topological order of packages, we define the dependencies between the packages in each individual package as `devDependency`\n- For testing reasons we compile against the source code to run tests without prior compiling of the source, this requires `tsconfig.paths` definitions and also `moduleNameMapper` in `jest.config.js`\n\n## ES Version\nWe support two runtimes: `node` and `latest browser versions`.\n\n### Node 20\nNode 20 (which is also supported by AWS Lambda) supports [97%](https://node.green/#ES2022) of `es2022` features \n(no version supports 100%) and [100%](https://node.green/#ES2023) of `es2023` features.\nThe only `es2022` feature that is currently not supported and needs a polyfill when using it is\n[RegExp Match Indices (shows up in flags)](https://node.green/#ES2022-features-RegExp-Match-Indices---hasIndices-----d--flag-) (see [2ality blog](https://2ality.com/2019/12/regexp-match-indices.html) for insights). \nPolyfill can be found here: https://www.npmjs.com/package/regexp-match-indices.\n\n### Browser\nFor modern browsers the latest fully supported version is `es2023` (see [can-i-use](https://caniuse.com/?search=es2023))\nwhich therefore is the target for `@shiftcode/utilities` package (see [package README](./packages/utilities/README.md)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiftcode%2Fsc-commons-public","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshiftcode%2Fsc-commons-public","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiftcode%2Fsc-commons-public/lists"}