+19
| # brownfield | ||
| ## 1.0.4 | ||
| ### Patch Changes | ||
| - [#216](https://github.com/callstack/react-native-brownfield/pull/216) [`8ce3ea1`](https://github.com/callstack/react-native-brownfield/commit/8ce3ea10e0719adac7396dea8f171753e901b31d) Thanks [@thymikee](https://github.com/thymikee)! - chore: remove release-it | ||
| - Updated dependencies [[`8ce3ea1`](https://github.com/callstack/react-native-brownfield/commit/8ce3ea10e0719adac7396dea8f171753e901b31d)]: | ||
| - @callstack/brownfield-cli@1.0.4 | ||
| ## 1.0.3 | ||
| ### Patch Changes | ||
| - [#213](https://github.com/callstack/react-native-brownfield/pull/213) [`2347775`](https://github.com/callstack/react-native-brownfield/commit/23477753b16ee189b82c1aee3eac98a56c79f52a) Thanks [@thymikee](https://github.com/thymikee)! - feat: create brownfield package as CLI proxy | ||
| - Updated dependencies [[`2347775`](https://github.com/callstack/react-native-brownfield/commit/23477753b16ee189b82c1aee3eac98a56c79f52a)]: | ||
| - @callstack/brownfield-cli@1.0.3 |
| #!/usr/bin/env node | ||
| export {}; | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""} |
| #!/usr/bin/env node | ||
| import { runCLI } from '@callstack/brownfield-cli'; | ||
| runCLI(process.argv); |
+62
| <a href="https://www.callstack.com/open-source?utm_campaign=generic&utm_source=github&utm_medium=referral&utm_content=react-native-brownfield" align="center"> | ||
| <img alt="Brownfield CLI" src="https://github.com/callstack/react-native-brownfield/raw/refs/heads/main/img/brownfield-banner.jpg"> | ||
| </a> | ||
| <p align="center"> | ||
| CLI for Brownie and Brownfield, a tool for generating state management code, packaging & publishing Brownfield artifacts. | ||
| </p> | ||
| --- | ||
| [![Build Status][build-badge]][build] | ||
| [![Version][version-badge]][package] | ||
| [![MIT License][license-badge]][license] | ||
| [![PRs Welcome][prs-welcome-badge]][prs-welcome] | ||
| [![Chat][chat-badge]][chat] | ||
| [![Code of Conduct][coc-badge]][coc] | ||
| [![Sponsored by Callstack][callstack-badge]][callstack] | ||
| [![tweet][tweet-badge]][tweet] | ||
| ## Features | ||
| - **Shared State** - Single source of truth accessible from both TypeScript and Swift | ||
| - **Type Safety** - Full type inference from TypeScript schema to generated Swift types | ||
| - **React Integration** - `useStore` hook with selector support for optimal re-renders | ||
| - **SwiftUI Integration** - `@UseStore` property wrapper for reactive UI updates | ||
| - **UIKit Support** - Subscribe-based API for imperative UI updates | ||
| ## Documentation | ||
| For full documentation, visit [our documentation](https://oss.callstack.com/react-native-brownfield/brownie/overview). | ||
| <a href="https://www.callstack.com/ebooks/incremental-react-native-adoption-in-native-apps?utm_campaign=brownfield&utm_source=github&utm_medium=referral&utm_content=react-native-brownfield" align="center"> | ||
| <img alt="Download a free copy of Incremental React Native adoption in native apps ebook" src="https://github.com/user-attachments/assets/ba42bb29-1e7a-4683-80c5-2602afb1a7e6"> | ||
| </a> | ||
| ## Made with ❤️ at Callstack | ||
| React Native Brownfield is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Callstack](https://callstack.com) is a group of React and React Native geeks, contact us at [hello@callstack.com](mailto:hello@callstack.com) if you need any help with these or just want to say hi! | ||
| Like the project? ⚛️ [Join the team](https://callstack.com/careers/?utm_campaign=Senior_RN&utm_source=github&utm_medium=readme) who does amazing stuff for clients and drives React Native Open Source! 🔥 | ||
| <!-- badges --> | ||
| [build-badge]: https://img.shields.io/circleci/build/github/callstack/react-native-brownfield/master.svg?style=flat-square | ||
| [build]: https://circleci.com/gh/callstack/react-native-brownfield | ||
| [ci]: https://github.com/callstack/react-native-brownfield/actions/workflows/ci.yml/badge.svg | ||
| [version-badge]: https://img.shields.io/npm/v/@callstack/react-native-brownfield.svg?style=flat-square | ||
| [package]: https://www.npmjs.com/package/@callstack/react-native-brownfield | ||
| [license-badge]: https://img.shields.io/npm/l/@callstack/react-native-brownfield.svg?style=flat-square | ||
| [license]: https://opensource.org/licenses/MIT | ||
| [prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square | ||
| [prs-welcome]: http://makeapullrequest.com | ||
| [coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square | ||
| [coc]: https://github.com/callstack/react-native-brownfield/blob/master/CODE_OF_CONDUCT.md | ||
| [chat-badge]: https://img.shields.io/discord/613446453762719798.svg?style=flat-square&colorB=758ED3 | ||
| [chat]: https://discord.gg/2SR9Mua | ||
| [tweet-badge]: https://img.shields.io/badge/tweet-%23reactnativebrownfield-blue.svg?style=flat-square&colorB=1DA1F2&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAUCAYAAACXtf2DAAAAAXNSR0IArs4c6QAAAaRJREFUOBGtlM8rBGEYx3cWtRHJRaKcuMtBSitxkCQ3LtzkP9iUUu5ODspRHLhRLtq0FxeicEBC2cOivcge%2FMgan3fNM8bbzL4zm6c%2BPT%2Fe7%2FO8887svrFYBWbbtgWzsAt3sAcpqJFxxF1QV8oJFqFPFst5dLWQAT87oTgPB7DtziFRT1EA4yZolsFkhwjGYFRO8Op0KD8HVe7unoB6PRTBZG8IctAmG1xrHcfkQ2B55sfI%2ByGMXSBqV71xZ8CWdxBxN6ThFuECDEAL%2Bc9HIzDYumVZ966GZnX0SzCZvEqTbkaGywkyFE6hKAsBPhFQ18uPUqh2ggJ%2BUor%2F4M%2F%2FzOC8g6YzR1i%2F8g4vvSI%2ByD7FFNjexQrjHd8%2BnjABI3AU4Wl16TuF1qANGll81jsi5qu%2Bw6XIsCn4ijhU5FmCJpkV6BGNw410hfSf6JKBQ%2FUFxHGYBnWnmOwDwYQ%2BwzdHqO75HtiAMJfaC7ph32FSRJCENUhDHsLaJkL%2FX4wMF4%2BwA5bgAcrZE4sr0Cu9Jq9fxyrvBHWbNkMD5CEHWTjjT2m6r5D92jfmbbKJEWuMMAAAAABJRU5ErkJggg%3D%3D | ||
| [tweet]: https://twitter.com/intent/tweet?text=Check%20out%20react-native-brownfield!%20https://github.com/callstack/react-native-brownfield%20%F0%9F%91%8D | ||
| [callstack-badge]: https://callstack.com/images/callstack-badge.svg | ||
| [callstack]: https://callstack.com/open-source/?utm_source=github.com&utm_medium=referral&utm_campaign=rnbrownfield&utm_term=readme |
| #!/usr/bin/env node | ||
| import { runCLI } from '@callstack/brownfield-cli'; | ||
| runCLI(process.argv); |
+62
-9
| { | ||
| "name": "brownfield", | ||
| "public": true, | ||
| "version": "0.0.1", | ||
| "description": "", | ||
| "license": "ISC", | ||
| "author": "", | ||
| "type": "commonjs", | ||
| "main": "index.js", | ||
| "version": "1.0.4", | ||
| "license": "MIT", | ||
| "author": "Artur Morys-Magiera <artus9033@gmail.com>", | ||
| "bin": "dist/index.js", | ||
| "type": "module", | ||
| "contributors": [ | ||
| "Artur Morys-Magiera <artus9033@gmail.com>", | ||
| "Oskar Kwasniewski <oskarkwasniewski@icloud.com>" | ||
| ], | ||
| "homepage": "https://oss.callstack.com/react-native-brownfield", | ||
| "repository": { | ||
| "url": "https://github.com/callstack/react-native-brownfield/packages/brownfield" | ||
| }, | ||
| "description": "Brownfield CLI for React Native, gathering all packages of the RN brownfield ecosystem", | ||
| "exports": { | ||
| ".": { | ||
| "source": "./src/index.ts", | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/index.js" | ||
| }, | ||
| "./package.json": "./package.json" | ||
| }, | ||
| "scripts": { | ||
| "test": "echo \"Error: no test specified\" && exit 1" | ||
| "lint": "eslint .", | ||
| "typecheck": "tsc --noEmit", | ||
| "build": "tsc -p tsconfig.json", | ||
| "dev": "tsc -p tsconfig.json --watch", | ||
| "test": "echo 'No tests'" | ||
| }, | ||
| "keywords": [ | ||
| "react-native-brownfield", | ||
| "brownfield", | ||
| "native", | ||
| "react native integration", | ||
| "cli" | ||
| ], | ||
| "files": [ | ||
| "src", | ||
| "dist", | ||
| "!**/__tests__", | ||
| "!**/__fixtures__", | ||
| "!**/__mocks__", | ||
| "!**/.*", | ||
| "README.md" | ||
| ], | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "dependencies": { | ||
| "@callstack/brownfield-cli": "^1.0.4" | ||
| }, | ||
| "devDependencies": { | ||
| "@types/node": "^25.0.8", | ||
| "eslint": "^9.28.0", | ||
| "eslint-config-prettier": "^10.1.8", | ||
| "eslint-plugin-node-import": "^1.0.5", | ||
| "eslint-plugin-prettier": "^5.1.3", | ||
| "prettier": "^3.7.4", | ||
| "typescript": "5.9.3" | ||
| }, | ||
| "engines": { | ||
| "node": ">=20" | ||
| } | ||
| } | ||
| } |
Trivial Package
Supply chain riskPackages less than 10 lines of code are easily copied into your own project and may not warrant the additional supply chain risk of an external dependency.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
No contributors or author data
MaintenancePackage does not specify a list of contributors or an author in package.json.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
7540
2965.04%7
600%8
Infinity%1
-50%1
-66.67%0
-100%63
Infinity%Yes
NaN1
Infinity%7
Infinity%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added