newFeatureBundle top-level property
MasonBundle
newFeatureBundle
final
Implementation
final newFeatureBundle = MasonBundle.fromJson(<String, dynamic>{
"files": [
{
"path":
"lib/features/{{feature_name.snakeCase()}}/data/models/{{feature_name.snakeCase()}}_model.dart",
"data": "Ly8gZGF0YSByZWNpdmVkIGZyb20gdGhlIGJhY2tlbmQK",
"type": "text"
},
{
"path":
"lib/features/{{feature_name.snakeCase()}}/data/models/{{feature_name.snakeCase()}}_models_export.dart",
"data":
"ZXhwb3J0ICd7e2ZlYXR1cmVfbmFtZS5zbmFrZUNhc2UoKX19X21vZGVsLmRhcnQnOwo=",
"type": "text"
},
{
"path":
"lib/features/{{feature_name.snakeCase()}}/domain/entities/{{feature_name.snakeCase()}}_entities_export.dart",
"data":
"ZXhwb3J0ICd7e2ZlYXR1cmVfbmFtZS5zbmFrZUNhc2UoKX19X2VudGl0eS5kYXJ0JzsNCg==",
"type": "text"
},
{
"path":
"lib/features/{{feature_name.snakeCase()}}/domain/entities/{{feature_name.snakeCase()}}_entity.dart",
"data":
"aW1wb3J0ICdkYXJ0OmNvbnZlcnQnOw0KDQp7e2ZlYXR1cmVfbmFtZS5wYXNjYWxDYXNlKCl9fUVudGl0eSB7e2ZlYXR1cmVfbmFtZS5jYW1lbENhc2UoKX19RW50aXR5RnJvbUpzb24oU3RyaW5nIHN0cikgPT4ge3tmZWF0dXJlX25hbWUucGFzY2FsQ2FzZSgpfX1FbnRpdHkuZnJvbUpzb24oanNvbi5kZWNvZGUoc3RyKSk7DQoNClN0cmluZyB7e2ZlYXR1cmVfbmFtZS5jYW1lbENhc2UoKX19RW50aXR5VG9Kc29uKHt7ZmVhdHVyZV9uYW1lLnBhc2NhbENhc2UoKX19RW50aXR5IGRhdGEpID0+IGpzb24uZW5jb2RlKGRhdGEudG9Kc29uKCkpOw0KDQpjbGFzcyB7e2ZlYXR1cmVfbmFtZS5wYXNjYWxDYXNlKCl9fUVudGl0eSB7DQogICAge3tmZWF0dXJlX25hbWUucGFzY2FsQ2FzZSgpfX1FbnRpdHkoKTsNCg0KICAgIGZhY3Rvcnkge3tmZWF0dXJlX25hbWUucGFzY2FsQ2FzZSgpfX1FbnRpdHkuZnJvbUpzb24oTWFwPFN0cmluZywgZHluYW1pYz4ganNvbikgPT4ge3tmZWF0dXJlX25hbWUucGFzY2FsQ2FzZSgpfX1FbnRpdHkoDQogICAgKTsNCg0KICAgIE1hcDxTdHJpbmcsIGR5bmFtaWM+IHRvSnNvbigpID0+IHsNCiAgICB9Ow0KfQ0K",
"type": "text"
},
{
"path":
"lib/features/{{feature_name.snakeCase()}}/domain/repositories/{{feature_name.snakeCase()}}_repository.dart",
"data":
"aW1wb3J0ICcuLi8uLi8uLi8uLi9jb3JlL2Vycm9ycy9mYWlsdXJlcy9mYWlsdXJlcy5kYXJ0JzsNCmltcG9ydCAnLi4vLi4vZGF0YS9tb2RlbHMve3tmZWF0dXJlX25hbWUuc25ha2VDYXNlKCl9fV9tb2RlbHNfZXhwb3J0LmRhcnQnOw0KaW1wb3J0ICcuLi8uLi9kb21haW4vZW50aXRpZXMve3tmZWF0dXJlX25hbWUuc25ha2VDYXNlKCl9fV9lbnRpdGllc19leHBvcnQuZGFydCc7DQppbXBvcnQgJ3BhY2thZ2U6ZGFydHovZGFydHouZGFydCc7DQppbXBvcnQgJ3BhY2thZ2U6Zm9yZ2VfYW5ub3RhdGlvbi9mb3JnZV9hbm5vdGF0aW9uLmRhcnQnOw0KDQoNCmFic3RyYWN0IGNsYXNzIHt7ZmVhdHVyZV9uYW1lLnBhc2NhbENhc2UoKX19UmVwb3NpdG9yeSB7DQogIEBHRVQoZW5kUG9pbnQ6ICdleGVtcGxlJykNCiAgRnV0dXJlPEVpdGhlcjxGYWlsdXJlLCB7e2ZlYXR1cmVfbmFtZS5wYXNjYWxDYXNlKCl9fUVudGl0eT4+IGV4ZW1wbGUoKTsNCn0NCg==",
"type": "text"
},
{
"path":
"lib/features/{{feature_name.snakeCase()}}/presentation/views/{{feature_name.snakeCase()}}_screen.dart",
"data":
"aW1wb3J0ICdwYWNrYWdlOmZsdXR0ZXIvbWF0ZXJpYWwuZGFydCc7DQoNCmNsYXNzIHt7ZmVhdHVyZV9uYW1lLnBhc2NhbENhc2UoKX19U2NyZWVuIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsNCiAgY29uc3Qge3tmZWF0dXJlX25hbWUucGFzY2FsQ2FzZSgpfX1TY3JlZW4oe3N1cGVyLmtleX0pOw0KDQogIEBvdmVycmlkZQ0KICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsNCiAgICByZXR1cm4gU2NhZmZvbGQoDQogICAgICBhcHBCYXI6IEFwcEJhcigpLA0KICAgICAgYm9keTogQ29udGFpbmVyKCksDQogICAgKTsNCiAgfQ0KfQ==",
"type": "text"
},
{
"path":
"lib/features/{{feature_name.snakeCase()}}/presentation/widgets/example_widget.dart",
"data": "Cg==",
"type": "text"
}
],
"hooks": [],
"name": "new_feature",
"description":
"A brick responsable of creating a new clean architecture feature folder structure",
"version": "0.1.0+1",
"environment": {"mason": ">=0.1.0-dev.49 <0.1.0"},
"readme": {
"path": "README.md",
"data":
"IyBgbmV3X2ZlYXR1cmVgIEJyaWNrIPCfp7ENCg0KVGhlIGBuZXdfZmVhdHVyZWAgYnJpY2sgY3JlYXRlcyBhIHNrZWxldG9uIGNvZGUgc3RydWN0dXJlIGZvciBpbXBsZW1lbnRpbmcgYSBmZWF0dXJlIHVzaW5nIENsZWFuIEFyY2hpdGVjdHVyZSBpbiBhIEZsdXR0ZXIgcHJvamVjdC4gVGhlIGZvbGxvd2luZyBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpbGwgYmUgZ2VuZXJhdGVkOg0KDQrimqAgTk9URSA6IG1ha2Ugc3VyZSB1IHVzZSBgYnVpbGRfcnVubmVyYCB3YXRjaCBjb21tYW5kIHRvIGF1dG8gZ2VuZXJhdGUgdGhlIC5mcmVlemVkIGZpbGVzDQoNCmBgYGJhc2gNCuKUnOKUgOKUgCBkYXRhDQrilIIgICDilJTilIDilIAgbW9kZWxzDQrilIIgICAgICAg4pSc4pSA4pSAIG5ld19mZWF0dXJlX21vZGVsLmRhcnQNCuKUgiAgICAgICDilJzilIDilIAgbmV3X2ZlYXR1cmVfbW9kZWwuZnJlZXplZC5kYXJ0DQrilIIgICAgICAg4pSU4pSA4pSAIG5ld19mZWF0dXJlX21vZGVsLmcuZGFydA0K4pSc4pSA4pSAIGRvbWFpbg0K4pSCICAg4pSc4pSA4pSAIGVudGl0aWVzDQrilIIgICDilIIgICDilJzilIDilIAgbmV3X2ZlYXR1cmVfZW50aXR5LmRhcnQNCuKUgiAgIOKUgiAgIOKUnOKUgOKUgCBuZXdfZmVhdHVyZV9lbnRpdHkuZnJlZXplZC5kYXJ0DQrilIIgICDilIIgICDilJTilIDilIAgbmV3X2ZlYXR1cmVfZW50aXR5LmcuZGFydA0K4pSCICAg4pSU4pSA4pSAIHJlcG9zaXRvcmllcw0K4pSCICAgICAgIOKUlOKUgOKUgCBuZXdfZmVhdHVyZV9yZXBvc2l0b3J5LmRhcnQNCuKUlOKUgOKUgCBwcmVzZW50YXRpb25zDQogICAg4pSc4pSA4pSAIGJsb2NzDQogICAg4pSCICAg4pSU4pSA4pSAIG5ld19mZWF0dXJlDQogICAg4pSCICAgICAgIOKUnOKUgOKUgCBuZXdfZmVhdHVyZV9ibG9jLmRhcnQNCiAgICDilIIgICAgICAg4pSc4pSA4pSAIG5ld19mZWF0dXJlX2Jsb2MuZnJlZXplZC5kYXJ0DQogICAg4pSCICAgICAgIOKUnOKUgOKUgCBuZXdfZmVhdHVyZV9ldmVudC5kYXJ0DQogICAg4pSCICAgICAgIOKUlOKUgOKUgCBuZXdfZmVhdHVyZV9zdGF0ZS5kYXJ0DQogICAg4pSc4pSA4pSAIHZpZXdzDQogICAg4pSCICAg4pSU4pSA4pSAIG5ld19mZWF0dXJlX3NjcmVlbi5kYXJ0DQogICAg4pSU4pSA4pSAIHdpZGdldHMNCiAgICAgICAg4pSU4pSA4pSAIGV4YW1wbGVfd2lkZ2V0LmRhcnQNCg0KYGBgDQoNClRoZSBnZW5lcmF0ZWQgY29kZSBmb2xsb3dzIHRoZSBDbGVhbiBBcmNoaXRlY3R1cmUgcHJpbmNpcGxlcywgd2hlcmUgdGhlIGBkYXRhYCBsYXllciBpcyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgZGF0YSBhY2Nlc3MgYW5kIHNlcmlhbGl6YXRpb24sIHRoZSBgZG9tYWluYCBsYXllciBjb250YWlucyBidXNpbmVzcyBsb2dpYyBhbmQgZW50aXRpZXMsIGFuZCB0aGUgYHByZXNlbnRhdGlvbmAgbGF5ZXIgaGFuZGxlcyB1c2VyIGludGVyZmFjZSBhbmQgdXNlciBpbnRlcmFjdGlvbnMuDQoNCiMjIyB1c2FnZSDwn5Go4oCN8J+Suw0KDQpUbyB1c2UgdGhlIG5ld19mZWF0dXJlIGJyaWNrIGluIHlvdXIgRmx1dHRlciBwcm9qZWN0LCBmb2xsb3cgdGhlc2Ugc3RlcHM6DQoNCi0gQ3JlYXQgYSBuZXcgZmx1dHRlciBwcm9qZWN0LCBpZiB5b3UgaGF2ZW4ndCBhbHJlYWR5IGRvbmUgc28uDQotIFJ1biBtYXNvbiBpbml0IHRvIGluaXRpYWxpemUgTWFzb24gaW4geW91ciBwcm9qZWN0Lg0KLSBFZGl0IHlvdXIgbWFzb24ueWFtbCB3aXRoIGZvbGxvd2luZyBjb250ZW50Og0KDQpgYGB5YW1sDQpicmlja3M6DQogIG5ld19mZWF0dXJlOg0KICAgIGdpdDoNCiAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL01lcnNlbmlCaWxlbC9Ccmlja0hvdXNlLUZlYXR1cmVCcmljay5naXQNCmBgYA0KDQotIFJ1biBtYXNvbiBnZXQgdG8gaW5zdGFsbCB0aGUgbmV3X2ZlYXR1cmUgYnJpY2sgaW4geW91ciBwcm9qZWN0Lg0KLSBSdW4gbWFzb24gcnVuIG5ld19mZWF0dXJlIHRvIGdlbmVyYXRlIHRoZSBjb2RlIHN0cnVjdHVyZSBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIGZlYXR1cmUuDQoNCiMjIyBDdXN0b21pemF0aW9uIPCfm6ANCg0KWW91IGNhbiBjdXN0b21pemUgdGhlIGdlbmVyYXRlZCBjb2RlIHN0cnVjdHVyZSBieSBtb2RpZnlpbmcgdGhlIG5ld19mZWF0dXJlIGJyaWNrIGluIHlvdXIgcmVwb3NpdG9yeS4gUmVmZXIgdG8gdGhlIE1hc29uIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvIGNyZWF0ZSBhbmQgbW9kaWZ5IGJyaWNrcy4NCg0KIyMjIExpY2Vuc2Ug8J+Xkg0KDQpUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZS4NCg==",
"type": "text"
},
"changelog": {
"path": "CHANGELOG.md",
"data":
"IyB2MS4wLjAgKDIwMjMtMDQtMTUpDQoNCi0gSW5pdGlhbCByZWxlYXNlIHdpdGggbmV3X2ZlYXR1cmUgYnJpY2sNCg==",
"type": "text"
},
"license": {
"path": "LICENSE",
"data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLg0K",
"type": "text"
},
"vars": {
"feature_name": {
"type": "string",
"description": "The new feature name",
"default": "Auth",
"prompt": "What your new feature name?"
}
}
});