{"id":18207661,"url":"https://github.com/d-markey/squadron_builder","last_synced_at":"2025-07-10T16:37:50.247Z","repository":{"id":59255833,"uuid":"520443540","full_name":"d-markey/squadron_builder","owner":"d-markey","description":"Dart code generator for Squadron workers. Implement your worker service and let squadron_builder bridge the gap with Web Workers and Isolates!","archived":false,"fork":false,"pushed_at":"2025-04-12T10:10:17.000Z","size":753,"stargazers_count":20,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T11:24:38.216Z","etag":null,"topics":["code-generation","dart","isolate","parallelism-library","thread","webworker"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/squadron_builder","language":"Dart","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/d-markey.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"github":"d-markey","buy_me_a_coffee":"dmarkey"}},"created_at":"2022-08-02T10:01:50.000Z","updated_at":"2025-04-12T10:10:21.000Z","dependencies_parsed_at":"2024-04-20T23:30:29.186Z","dependency_job_id":"b6171c85-7dfb-4040-9381-ec461cf79a5c","html_url":"https://github.com/d-markey/squadron_builder","commit_stats":{"total_commits":89,"total_committers":3,"mean_commits":"29.666666666666668","dds":0.0337078651685393,"last_synced_commit":"bc73739392708c65789578c19d72380ec499ab9a"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/d-markey/squadron_builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-markey%2Fsquadron_builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-markey%2Fsquadron_builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-markey%2Fsquadron_builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-markey%2Fsquadron_builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-markey","download_url":"https://codeload.github.com/d-markey/squadron_builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-markey%2Fsquadron_builder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264608262,"owners_count":23636695,"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":["code-generation","dart","isolate","parallelism-library","thread","webworker"],"created_at":"2024-11-03T13:03:51.504Z","updated_at":"2025-07-10T16:37:50.241Z","avatar_url":"https://github.com/d-markey.png","language":"Dart","readme":"\u003ctable\u003e\u003ctr\u003e\n\u003ctd valign=\"top\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/d-markey/squadron/main/squadron_logo.svg\" width=\"120\" alt=\"Squadron logo\" /\u003e\n\u003c/td\u003e\n\u003ctd valign=\"top\"\u003e\n\n## **Squadron - Multithreading and worker pools in Dart**\n\nOffload CPU-bound and long running tasks and give your mobile and Web apps some air!\n\n\u003c/td\u003e\n\u003c/tr\u003e\u003c/table\u003e\n\n# squadron_builder\n\nDart code generator for Squadron workers. Implement your worker service and let `squadron_builder` bridge the gap with Web Workers and Isolates!\n\n[![Pub Package](https://img.shields.io/pub/v/squadron_builder)](https://pub.dev/packages/squadron_builder)\n[![Dart Platforms](https://badgen.net/pub/dart-platform/squadron_builder)](https://pub.dev/packages/squadron_builder)\n[![Flutter Platforms](https://badgen.net/pub/flutter-platform/squadron_builder)](https://pub.dev/packages/squadron_builder)\n\n[![License](https://img.shields.io/github/license/d-markey/squadron_builder)](https://github.com/d-markey/squadron_builder/blob/master/LICENSE)\n[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety)\n[![Dart Style](https://img.shields.io/badge/style-lints-40c4ff)](https://pub.dev/packages/lints)\n[![Pub Points](https://img.shields.io/pub/points/squadron_builder)](https://pub.dev/packages/squadron_builder/score)\n[![Likes](https://img.shields.io/pub/likes/squadron_builder)](https://pub.dev/packages/squadron_builder/score)\n[![Downloads](https://img.shields.io/pub/dm/squadron_builder)](https://pub.dev/packages/squadron_builder/score)\n[![Last Commit](https://img.shields.io/github/last-commit/d-markey/squadron_builder?logo=git\u0026logoColor=white)](https://github.com/d-markey/squadron_builder/commits)\n\n# Usage\n\n`squadron_builder` is a companion package to `Squadron` and is intended to be installed as a development dependency to your project.\n\nIts purpose is to generate the code for Workers and WorkerPools based on the service classes you want to run in dedicated threads.\n\nExample of a service class:\n\n```dart\n// file hello_world.dart\n\n// mandatory, will be generated with platform-specific code for your worker's entry points\nimport 'hello_world.activator.g.dart';\n\n// mandatory, will be generated with code for your worker \u0026 worker pool\npart 'hello_world.worker.g.dart';\n\n// this annotation tells squadron_builder that this class contains code to be executed on dedicated threads\n@SquadronService(baseUrl: '~/workers', targetPlatform: TargetPlatform.vm | TargetPlatform.web)\nbase class HelloWorld {\n  // this annotation tells squadron_builder that this method is exposed to clients running in the main thread for instance\n  @squadronMethod\n  FutureOr\u003cString\u003e hello([String? name]) {\n    name = name?.trim() ?? 'World';\n    return 'Hello, $name!';\n  }\n}\n```\n\n","funding_links":["https://github.com/sponsors/d-markey","https://buymeacoffee.com/dmarkey"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-markey%2Fsquadron_builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-markey%2Fsquadron_builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-markey%2Fsquadron_builder/lists"}