https://github.com/web-pacotes/flutter-version-finder
Micro library that finds the appropriate Flutter version to use on a Flutter project
https://github.com/web-pacotes/flutter-version-finder
hacktoberfest
Last synced: about 1 month ago
JSON representation
Micro library that finds the appropriate Flutter version to use on a Flutter project
- Host: GitHub
- URL: https://github.com/web-pacotes/flutter-version-finder
- Owner: web-pacotes
- License: mit
- Created: 2023-05-28T09:02:43.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-11-01T11:28:56.000Z (over 2 years ago)
- Last Synced: 2025-02-07T13:35:18.280Z (over 1 year ago)
- Topics: hacktoberfest
- Language: TypeScript
- Homepage: https://web-pacotes.github.io/flutter-version-finder/
- Size: 351 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# flutter-version-finder
Micro library that finds the appropriate Flutter version to use on a Flutter project
  
---
## How to use
To use this package, start by reading the content of a `pubspec.yaml` or `pubspec.lock` file. Then, import the finder function and feed it the file content.
```typescript
import { default as finder } from 'flutter-version-finder';
import { readFileSync } from 'fs';
// Read the content of a pubspec.yaml or pubspec.lock file
const path = 'example/example.lock';
const data = readFileSync(path).toString();
// Find the matching Flutter version
const result = finder(data);
// Hoooraaaay! It should print the Flutter version that is compatible with the lock file
console.log(result); // { flutter: '3.10.0', dart: '3.0.0' }
```
Additionally, you can finder Flutter versions directly from the CLI:
```bash
npx flutter-version-finder --path=example/example.lock
```
## Features
- Find supported Flutter version from `pubspec.yaml`
- Find supported Flutter version from `pubspec.lock`
---
## Scripts
- `npm run build` to transpile and bundle files in `.cjs`, `.js`, `.d.ts` and respective source-maps
- `npm run start` to run the project with `swc` compilation
- `npm run test` to run the unit tests
- `npm run lint` to analyze and lint the project
- `npm run format` to format the project based on lint feedback
- `npm run docs` to generate docs site
- `npm run docs:publish` to generate docs site and publish it to GitHub Pages
- `npm run release` to create the temporary changesets file
- `npm run publish` to publish the package to NPM
## Hooks
This repository is configured with client-side Git hooks that automatically format + lint the codebase before each push. You can install it by running the following command:
```bash
./hooks/INSTALL
```
## Automatically Publishing to NPM
To automatically publish the package to NPM, you will need to grab a token of the publisher account for CI usage, and set it as a repository secret in GitHub under the `NPM_TOKEN` identifier.
---
### Bugs and Contributions
Found any bug (including typos) in the package? Do you have any suggestion
or feature to include for future releases? Please create an issue via
GitHub in order to track each contribution. Also, pull requests are very
welcome!