├── .DS_Store ├── .github ├── FUNDING.yml └── dependabot.yml ├── .gitignore ├── .vscode └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── analysis_options.yaml ├── assets ├── add_demo.gif └── fonts │ ├── font1 │ ├── LICENSE.txt │ └── font1-Regular-800.ttf │ └── font2 │ ├── LICENSE.txt │ ├── font2-Italic-700.ttf │ └── font2-Regular-800.ttf ├── bin └── asset_manager.dart ├── lib ├── asset_manager_cli.dart └── src │ └── version.dart ├── pubspec.lock └── pubspec.yaml /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rutvik110/asset_manager_cli/9f90fc9a4e7d6bbc3ce0a5250839b108d37ec98c/.DS_Store -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [rutvik110] 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "pub" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub. 2 | .dart_tool/ 3 | .packages 4 | 5 | # Conventional directory for build output. 6 | build/ 7 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.acceptSuggestionOnEnter": "on" 3 | } -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.0.0 2 | 3 | - Moved to stable release. 4 | - Generated path now includes the missing backslash "/" at the end. 5 | - Using backslash "/" as the path separater for all platforms. Earlier using the default path on windows platforms resulted in compilation errors. This update fixes that issue. 6 | ## 0.1.3-dev.2+5 7 | 8 | - Latest version string updated in version file. 9 | ## 0.1.3-dev.2+4 10 | 11 | - Improved handling of assets directory paths. 12 | ## 0.1.3-dev.1+4 13 | 14 | - Removed hardcoded forward slash while adding assets directory paths. Resolves an issue which resulted in the path being invalid on windows. 15 | ## 0.1.3-dev.0+4 16 | 17 | - Check added to check if fonts dir exists or not before traversing it for code generation. 18 | ## 0.1.2-dev.0+4 19 | 20 | - Assets code removed from pubspec. 21 | ## 0.1.2-dev.0+3 22 | 23 | - Bug fix in update logic. 24 | ## 0.1.1-dev.0+3 25 | 26 | - Support for update check added and some refactoring. Documentation updated. 27 | ## 0.1.0-dev.0+2 28 | 29 | - Fixed typo in repository name in pubspec.yaml. 30 | ## 0.1.0-dev.0+1 31 | 32 | - Documentation update. 33 | ## 0.1.0-dev.0 34 | 35 | - Initial dev release. 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Rutvik Tak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Asset Manager 2 | 3 |

4 | Pub.dev Badge 5 | MIT License Badge 6 |

7 | 8 | Asset manager helps you auto-generate the assets code and add it to your pubspec.yaml . 9 | 10 | 11 | 12 | ## Quick start 13 | 14 | ```DART 15 | 16 | dart pub global activate asset_manager_cli 17 | 18 | ``` 19 | 20 | ## Overview 21 | 22 | To auto-generate and add assets code to your pubspec.yaml, run the following command at the root of your project. 23 | ``` 24 | 25 | asset_manager add 26 | 27 | ``` 28 | 29 | To update to latest version, run the following command. 30 | ``` 31 | 32 | asset_manager update 33 | 34 | ``` 35 | 36 | ## ❕Note 37 | 38 | The cli assumes the following structure for your assets folder. 39 | 40 | ``` 41 | ---assets/ 42 | |---any_other_assets_folder 43 | | 44 | |---fonts/ 45 | | 46 | |---font1/ 47 | | |---font1-style-weight1.ttf 48 | | |---font1-style-weight2.ttf 49 | | |---font1-style-weight3.ttf 50 | | 51 | | 52 | |---font2/ 53 | |---font2-style-weight1.ttf 54 | |---font2-style-weight2.ttf 55 | |---font2-style-weight3.ttf 56 | 57 | ``` 58 | 59 | Any other assets folders except fonts can have any name you desire for those assets. But for fonts, you should add them within a folder named `fonts` within `assets` folder. And each folder within `fonts` should be named according to the `font-family`. Every fonts file should be named in the following way - 60 | 61 | ``` 62 | Font file name ---> font1-style-weight.ttf 63 | ^ ^ ^ 64 | | | | 65 | | | Weight of the font 66 | | | 67 | | Style of the font 68 | | 69 | Font family name 70 | 71 | ``` 72 | 73 | ## Support the project 74 | 75 | [!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/takrutvik) 76 | 77 | -------------------------------------------------------------------------------- /analysis_options.yaml: -------------------------------------------------------------------------------- 1 | # This file configures the static analysis results for your project (errors, 2 | # warnings, and lints). 3 | # 4 | # This enables the 'recommended' set of lints from `package:lints`. 5 | # This set helps identify many issues that may lead to problems when running 6 | # or consuming Dart code, and enforces writing Dart using a single, idiomatic 7 | # style and format. 8 | # 9 | # If you want a smaller set of lints you can change this to specify 10 | # 'package:lints/core.yaml'. These are just the most critical lints 11 | # (the recommended set includes the core lints). 12 | # The core lints are also what is used by pub.dev for scoring packages. 13 | 14 | include: package:lints/recommended.yaml 15 | 16 | # Uncomment the following section to specify additional rules. 17 | 18 | # linter: 19 | # rules: 20 | # - camel_case_types 21 | 22 | # analyzer: 23 | # exclude: 24 | # - path/to/excluded/files/** 25 | 26 | # For more information about the core and recommended set of lints, see 27 | # https://dart.dev/go/core-lints 28 | 29 | # For additional information about configuring this file, see 30 | # https://dart.dev/guides/language/analysis-options 31 | -------------------------------------------------------------------------------- /assets/add_demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rutvik110/asset_manager_cli/9f90fc9a4e7d6bbc3ce0a5250839b108d37ec98c/assets/add_demo.gif -------------------------------------------------------------------------------- /assets/fonts/font1/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /assets/fonts/font1/font1-Regular-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rutvik110/asset_manager_cli/9f90fc9a4e7d6bbc3ce0a5250839b108d37ec98c/assets/fonts/font1/font1-Regular-800.ttf -------------------------------------------------------------------------------- /assets/fonts/font2/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /assets/fonts/font2/font2-Italic-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rutvik110/asset_manager_cli/9f90fc9a4e7d6bbc3ce0a5250839b108d37ec98c/assets/fonts/font2/font2-Italic-700.ttf -------------------------------------------------------------------------------- /assets/fonts/font2/font2-Regular-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rutvik110/asset_manager_cli/9f90fc9a4e7d6bbc3ce0a5250839b108d37ec98c/assets/fonts/font2/font2-Regular-800.ttf -------------------------------------------------------------------------------- /bin/asset_manager.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:args/args.dart'; 4 | import 'package:asset_manager_cli/asset_manager_cli.dart'; 5 | import 'package:mason_logger/mason_logger.dart'; 6 | 7 | void main(List arguments) async { 8 | final parser = ArgParser() 9 | ..addCommand("add") 10 | ..addCommand("update"); 11 | 12 | final logger = Logger(); 13 | 14 | final ArgResults argResults; 15 | 16 | try { 17 | argResults = parser.parse(arguments); 18 | } catch (e) { 19 | logger.err(e.toString()); 20 | await checkForUpdate(); 21 | exit(1); 22 | } 23 | 24 | if (argResults.arguments.isEmpty) { 25 | logger.info(''' 26 | asset_manager 27 | 28 | Usage: asset_manager [arguments] 29 | 30 | 31 | Available commands: 32 | $commandsWithInfoString 33 | '''); 34 | exit(0); 35 | } 36 | 37 | switch (argResults.command?.name) { 38 | case "add": 39 | addAssetsCode(logger); 40 | break; 41 | case "update": 42 | updateCLI(); 43 | break; 44 | default: 45 | commandNotFound(commandsWithInfoString, argResults, logger); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /lib/asset_manager_cli.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:args/args.dart'; 4 | import 'package:asset_manager_cli/src/version.dart'; 5 | import 'package:mason_logger/mason_logger.dart'; 6 | import 'package:pub_updater/pub_updater.dart'; 7 | import 'package:path/path.dart' as p; 8 | 9 | final pubUpdater = PubUpdater(); 10 | 11 | Future checkForUpdate() async { 12 | // Create an instance of PubUpdater 13 | 14 | // Check whether or not packageVersion is the latest version of asset_manager_cli 15 | final isUpToDate = await pubUpdater.isUpToDate( 16 | packageName: 'asset_manager_cli', 17 | currentVersion: packageVersion, 18 | ); 19 | 20 | // Trigger an upgrade to the latest version if asset_manager_cli is not up to date 21 | if (!isUpToDate) { 22 | await pubUpdater.update(packageName: 'asset_manager_cli'); 23 | } 24 | } 25 | 26 | void commandNotFound(String commands, ArgResults argResults, Logger logger) async { 27 | final unknownCommand = argResults.arguments[0]; 28 | logger.err("Command not found $unknownCommand\nDid you mean one of these commands?\n$commands"); 29 | await checkForUpdate(); 30 | exit(1); 31 | } 32 | 33 | String commandsWithInfoString = ''' 34 | add Generates and adds assets code into pubspec.yaml 35 | update Updates asset_manager_cli to the latest version 36 | '''; 37 | 38 | void addAssetsCode(Logger logger) async { 39 | final progress = logger.progress("Generating assets code"); 40 | try { 41 | final assetDir = Directory('assets'); 42 | final fontsDir = Directory(p.joinAll(['assets', 'fonts'])); 43 | final pubspecFile = File('pubspec.yaml'); 44 | 45 | final openedFile = pubspecFile.readAsLinesSync(); 46 | final addAfterLine = openedFile.indexWhere(((element) => element == "flutter:")); 47 | 48 | openedFile.insert(addAfterLine + 1, "\n assets:"); 49 | 50 | List assetsString = []; 51 | // add assets code except fonts 52 | assetsString.add(generateAssetDirPath("assets/")); 53 | assetsString.addAll(generateDirAssetsCode(assetDir)); 54 | 55 | openedFile.insertAll(addAfterLine + 2, assetsString); 56 | 57 | // add fonts code 58 | 59 | if (fontsDir.existsSync()) { 60 | openedFile.insert(addAfterLine + 2 + assetsString.length, "\n fonts:"); 61 | 62 | final fonts = fontsDir.listSync(); 63 | List fontsString = []; 64 | 65 | for (var font in fonts) { 66 | if (font is Directory) { 67 | final fontFamily = font.path.split('/').last; 68 | fontsString.add(" - family: $fontFamily"); 69 | fontsString.add(" fonts:"); 70 | final fontFiles = Directory(font.path).listSync(); 71 | for (var fontFile in fontFiles) { 72 | if (fontFile is File) { 73 | final fontFileExtension = fontFile.path.split('/').last.split(".").last; 74 | if (fontFileExtension == "ttf") { 75 | final fontFilePath = fontFile.path; 76 | final fontProperties = fontFilePath.split('/').last.split('.').first.split('-'); 77 | final fontFileWeight = fontProperties.last; 78 | final fontFileStyle = fontProperties[1].toLowerCase(); 79 | fontsString.add( 80 | " - asset: $fontFilePath", 81 | ); 82 | fontsString.add( 83 | " weight: $fontFileWeight", 84 | ); 85 | if (fontFileStyle != "regular") { 86 | fontsString.add( 87 | " style: $fontFileStyle", 88 | ); 89 | } 90 | } 91 | } 92 | } 93 | } 94 | } 95 | 96 | openedFile.insertAll(addAfterLine + 3 + assetsString.length, fontsString); 97 | } 98 | pubspecFile.writeAsString(openedFile.join("\n")); 99 | progress.complete("Assets added to pubspec.yaml"); 100 | await checkForUpdate(); 101 | exit(0); 102 | } catch (e) { 103 | progress.fail("Error: $e"); 104 | await checkForUpdate(); 105 | exit(1); 106 | } 107 | } 108 | 109 | List generateDirAssetsCode(Directory directory) { 110 | List assetString = []; 111 | 112 | final subDirectories = directory.listSync(); 113 | 114 | for (var subDir in subDirectories) { 115 | if (subDir is Directory) { 116 | final subDirPath = "${Uri.file(subDir.path).toFilePath(windows: false)}/"; 117 | if (!subDirPath.contains('fonts')) { 118 | assetString.add(generateAssetDirPath(subDirPath)); 119 | } 120 | assetString.addAll(generateDirAssetsCode(subDir)); 121 | } 122 | } 123 | 124 | return assetString; 125 | } 126 | 127 | Future updateCLI() async { 128 | await pubUpdater.update(packageName: "asset_manager_cli"); 129 | } 130 | 131 | String generateAssetDirPath(String path) { 132 | return " - $path"; 133 | } 134 | -------------------------------------------------------------------------------- /lib/src/version.dart: -------------------------------------------------------------------------------- 1 | // Generated code. Do not modify. 2 | const packageVersion = '0.1.4-dev.2+6'; 3 | -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | _fe_analyzer_shared: 5 | dependency: transitive 6 | description: 7 | name: _fe_analyzer_shared 8 | sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 9 | url: "https://pub.dev" 10 | source: hosted 11 | version: "64.0.0" 12 | analyzer: 13 | dependency: transitive 14 | description: 15 | name: analyzer 16 | sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" 17 | url: "https://pub.dev" 18 | source: hosted 19 | version: "6.2.0" 20 | args: 21 | dependency: "direct main" 22 | description: 23 | name: args 24 | sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 25 | url: "https://pub.dev" 26 | source: hosted 27 | version: "2.4.2" 28 | async: 29 | dependency: transitive 30 | description: 31 | name: async 32 | sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" 33 | url: "https://pub.dev" 34 | source: hosted 35 | version: "2.11.0" 36 | boolean_selector: 37 | dependency: transitive 38 | description: 39 | name: boolean_selector 40 | sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" 41 | url: "https://pub.dev" 42 | source: hosted 43 | version: "2.1.1" 44 | build: 45 | dependency: transitive 46 | description: 47 | name: build 48 | sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" 49 | url: "https://pub.dev" 50 | source: hosted 51 | version: "2.4.1" 52 | build_config: 53 | dependency: transitive 54 | description: 55 | name: build_config 56 | sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 57 | url: "https://pub.dev" 58 | source: hosted 59 | version: "1.1.1" 60 | build_daemon: 61 | dependency: transitive 62 | description: 63 | name: build_daemon 64 | sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65" 65 | url: "https://pub.dev" 66 | source: hosted 67 | version: "4.0.0" 68 | build_resolvers: 69 | dependency: transitive 70 | description: 71 | name: build_resolvers 72 | sha256: "6c4dd11d05d056e76320b828a1db0fc01ccd376922526f8e9d6c796a5adbac20" 73 | url: "https://pub.dev" 74 | source: hosted 75 | version: "2.2.1" 76 | build_runner: 77 | dependency: "direct dev" 78 | description: 79 | name: build_runner 80 | sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" 81 | url: "https://pub.dev" 82 | source: hosted 83 | version: "2.4.6" 84 | build_runner_core: 85 | dependency: transitive 86 | description: 87 | name: build_runner_core 88 | sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41" 89 | url: "https://pub.dev" 90 | source: hosted 91 | version: "7.2.10" 92 | build_version: 93 | dependency: "direct dev" 94 | description: 95 | name: build_version 96 | sha256: "4e8eafbf722eac3bd60c8d38f108c04bd69b80100f8792b32be3407725c7fa6a" 97 | url: "https://pub.dev" 98 | source: hosted 99 | version: "2.1.1" 100 | built_collection: 101 | dependency: transitive 102 | description: 103 | name: built_collection 104 | sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" 105 | url: "https://pub.dev" 106 | source: hosted 107 | version: "5.1.1" 108 | built_value: 109 | dependency: transitive 110 | description: 111 | name: built_value 112 | sha256: "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166" 113 | url: "https://pub.dev" 114 | source: hosted 115 | version: "8.6.1" 116 | checked_yaml: 117 | dependency: transitive 118 | description: 119 | name: checked_yaml 120 | sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff 121 | url: "https://pub.dev" 122 | source: hosted 123 | version: "2.0.3" 124 | code_builder: 125 | dependency: transitive 126 | description: 127 | name: code_builder 128 | sha256: "4ad01d6e56db961d29661561effde45e519939fdaeb46c351275b182eac70189" 129 | url: "https://pub.dev" 130 | source: hosted 131 | version: "4.5.0" 132 | collection: 133 | dependency: transitive 134 | description: 135 | name: collection 136 | sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a 137 | url: "https://pub.dev" 138 | source: hosted 139 | version: "1.18.0" 140 | convert: 141 | dependency: transitive 142 | description: 143 | name: convert 144 | sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" 145 | url: "https://pub.dev" 146 | source: hosted 147 | version: "3.1.1" 148 | coverage: 149 | dependency: transitive 150 | description: 151 | name: coverage 152 | sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" 153 | url: "https://pub.dev" 154 | source: hosted 155 | version: "1.6.3" 156 | crypto: 157 | dependency: transitive 158 | description: 159 | name: crypto 160 | sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab 161 | url: "https://pub.dev" 162 | source: hosted 163 | version: "3.0.3" 164 | dart_style: 165 | dependency: transitive 166 | description: 167 | name: dart_style 168 | sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" 169 | url: "https://pub.dev" 170 | source: hosted 171 | version: "2.3.2" 172 | file: 173 | dependency: transitive 174 | description: 175 | name: file 176 | sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" 177 | url: "https://pub.dev" 178 | source: hosted 179 | version: "6.1.4" 180 | fixnum: 181 | dependency: transitive 182 | description: 183 | name: fixnum 184 | sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" 185 | url: "https://pub.dev" 186 | source: hosted 187 | version: "1.1.0" 188 | frontend_server_client: 189 | dependency: transitive 190 | description: 191 | name: frontend_server_client 192 | sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" 193 | url: "https://pub.dev" 194 | source: hosted 195 | version: "3.2.0" 196 | glob: 197 | dependency: transitive 198 | description: 199 | name: glob 200 | sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" 201 | url: "https://pub.dev" 202 | source: hosted 203 | version: "2.1.2" 204 | graphs: 205 | dependency: transitive 206 | description: 207 | name: graphs 208 | sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 209 | url: "https://pub.dev" 210 | source: hosted 211 | version: "2.3.1" 212 | http: 213 | dependency: transitive 214 | description: 215 | name: http 216 | sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" 217 | url: "https://pub.dev" 218 | source: hosted 219 | version: "0.13.6" 220 | http_multi_server: 221 | dependency: transitive 222 | description: 223 | name: http_multi_server 224 | sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" 225 | url: "https://pub.dev" 226 | source: hosted 227 | version: "3.2.1" 228 | http_parser: 229 | dependency: transitive 230 | description: 231 | name: http_parser 232 | sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" 233 | url: "https://pub.dev" 234 | source: hosted 235 | version: "4.0.2" 236 | io: 237 | dependency: transitive 238 | description: 239 | name: io 240 | sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" 241 | url: "https://pub.dev" 242 | source: hosted 243 | version: "1.0.4" 244 | js: 245 | dependency: transitive 246 | description: 247 | name: js 248 | sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 249 | url: "https://pub.dev" 250 | source: hosted 251 | version: "0.6.7" 252 | json_annotation: 253 | dependency: transitive 254 | description: 255 | name: json_annotation 256 | sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 257 | url: "https://pub.dev" 258 | source: hosted 259 | version: "4.8.1" 260 | lints: 261 | dependency: "direct dev" 262 | description: 263 | name: lints 264 | sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" 265 | url: "https://pub.dev" 266 | source: hosted 267 | version: "2.1.1" 268 | logging: 269 | dependency: transitive 270 | description: 271 | name: logging 272 | sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" 273 | url: "https://pub.dev" 274 | source: hosted 275 | version: "1.2.0" 276 | mason_logger: 277 | dependency: "direct main" 278 | description: 279 | name: mason_logger 280 | sha256: f307bade8d2557a11e4e3d6a218093454038d877e5f72a60482c9bb5fe7a9bac 281 | url: "https://pub.dev" 282 | source: hosted 283 | version: "0.1.4" 284 | matcher: 285 | dependency: transitive 286 | description: 287 | name: matcher 288 | sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" 289 | url: "https://pub.dev" 290 | source: hosted 291 | version: "0.12.16" 292 | meta: 293 | dependency: transitive 294 | description: 295 | name: meta 296 | sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" 297 | url: "https://pub.dev" 298 | source: hosted 299 | version: "1.9.1" 300 | mime: 301 | dependency: transitive 302 | description: 303 | name: mime 304 | sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e 305 | url: "https://pub.dev" 306 | source: hosted 307 | version: "1.0.4" 308 | node_preamble: 309 | dependency: transitive 310 | description: 311 | name: node_preamble 312 | sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" 313 | url: "https://pub.dev" 314 | source: hosted 315 | version: "2.0.2" 316 | package_config: 317 | dependency: transitive 318 | description: 319 | name: package_config 320 | sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" 321 | url: "https://pub.dev" 322 | source: hosted 323 | version: "2.1.0" 324 | path: 325 | dependency: "direct main" 326 | description: 327 | name: path 328 | sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" 329 | url: "https://pub.dev" 330 | source: hosted 331 | version: "1.8.3" 332 | platform: 333 | dependency: transitive 334 | description: 335 | name: platform 336 | sha256: "57c07bf82207aee366dfaa3867b3164e4f03a238a461a11b0e8a3a510d51203d" 337 | url: "https://pub.dev" 338 | source: hosted 339 | version: "3.1.1" 340 | pool: 341 | dependency: transitive 342 | description: 343 | name: pool 344 | sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" 345 | url: "https://pub.dev" 346 | source: hosted 347 | version: "1.5.1" 348 | process: 349 | dependency: transitive 350 | description: 351 | name: process 352 | sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" 353 | url: "https://pub.dev" 354 | source: hosted 355 | version: "4.2.4" 356 | pub_semver: 357 | dependency: transitive 358 | description: 359 | name: pub_semver 360 | sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" 361 | url: "https://pub.dev" 362 | source: hosted 363 | version: "2.1.4" 364 | pub_updater: 365 | dependency: "direct main" 366 | description: 367 | name: pub_updater 368 | sha256: "42890302ab2672adf567dc2b20e55b4ecc29d7e19c63b6b98143ab68dd717d3a" 369 | url: "https://pub.dev" 370 | source: hosted 371 | version: "0.2.4" 372 | pubspec_parse: 373 | dependency: transitive 374 | description: 375 | name: pubspec_parse 376 | sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 377 | url: "https://pub.dev" 378 | source: hosted 379 | version: "1.2.3" 380 | shelf: 381 | dependency: transitive 382 | description: 383 | name: shelf 384 | sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 385 | url: "https://pub.dev" 386 | source: hosted 387 | version: "1.4.1" 388 | shelf_packages_handler: 389 | dependency: transitive 390 | description: 391 | name: shelf_packages_handler 392 | sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" 393 | url: "https://pub.dev" 394 | source: hosted 395 | version: "3.0.2" 396 | shelf_static: 397 | dependency: transitive 398 | description: 399 | name: shelf_static 400 | sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e 401 | url: "https://pub.dev" 402 | source: hosted 403 | version: "1.1.2" 404 | shelf_web_socket: 405 | dependency: transitive 406 | description: 407 | name: shelf_web_socket 408 | sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" 409 | url: "https://pub.dev" 410 | source: hosted 411 | version: "1.0.4" 412 | source_map_stack_trace: 413 | dependency: transitive 414 | description: 415 | name: source_map_stack_trace 416 | sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" 417 | url: "https://pub.dev" 418 | source: hosted 419 | version: "2.1.1" 420 | source_maps: 421 | dependency: transitive 422 | description: 423 | name: source_maps 424 | sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" 425 | url: "https://pub.dev" 426 | source: hosted 427 | version: "0.10.12" 428 | source_span: 429 | dependency: transitive 430 | description: 431 | name: source_span 432 | sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" 433 | url: "https://pub.dev" 434 | source: hosted 435 | version: "1.10.0" 436 | stack_trace: 437 | dependency: transitive 438 | description: 439 | name: stack_trace 440 | sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" 441 | url: "https://pub.dev" 442 | source: hosted 443 | version: "1.11.1" 444 | stream_channel: 445 | dependency: transitive 446 | description: 447 | name: stream_channel 448 | sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 449 | url: "https://pub.dev" 450 | source: hosted 451 | version: "2.1.2" 452 | stream_transform: 453 | dependency: transitive 454 | description: 455 | name: stream_transform 456 | sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" 457 | url: "https://pub.dev" 458 | source: hosted 459 | version: "2.1.0" 460 | string_scanner: 461 | dependency: transitive 462 | description: 463 | name: string_scanner 464 | sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" 465 | url: "https://pub.dev" 466 | source: hosted 467 | version: "1.2.0" 468 | term_glyph: 469 | dependency: transitive 470 | description: 471 | name: term_glyph 472 | sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 473 | url: "https://pub.dev" 474 | source: hosted 475 | version: "1.2.1" 476 | test: 477 | dependency: "direct dev" 478 | description: 479 | name: test 480 | sha256: "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9" 481 | url: "https://pub.dev" 482 | source: hosted 483 | version: "1.24.6" 484 | test_api: 485 | dependency: transitive 486 | description: 487 | name: test_api 488 | sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" 489 | url: "https://pub.dev" 490 | source: hosted 491 | version: "0.6.1" 492 | test_core: 493 | dependency: transitive 494 | description: 495 | name: test_core 496 | sha256: "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265" 497 | url: "https://pub.dev" 498 | source: hosted 499 | version: "0.5.6" 500 | timing: 501 | dependency: transitive 502 | description: 503 | name: timing 504 | sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" 505 | url: "https://pub.dev" 506 | source: hosted 507 | version: "1.0.1" 508 | typed_data: 509 | dependency: transitive 510 | description: 511 | name: typed_data 512 | sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c 513 | url: "https://pub.dev" 514 | source: hosted 515 | version: "1.3.2" 516 | vm_service: 517 | dependency: transitive 518 | description: 519 | name: vm_service 520 | sha256: "0fae432c85c4ea880b33b497d32824b97795b04cdaa74d270219572a1f50268d" 521 | url: "https://pub.dev" 522 | source: hosted 523 | version: "11.9.0" 524 | watcher: 525 | dependency: transitive 526 | description: 527 | name: watcher 528 | sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" 529 | url: "https://pub.dev" 530 | source: hosted 531 | version: "1.1.0" 532 | web_socket_channel: 533 | dependency: transitive 534 | description: 535 | name: web_socket_channel 536 | sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b 537 | url: "https://pub.dev" 538 | source: hosted 539 | version: "2.4.0" 540 | webkit_inspection_protocol: 541 | dependency: transitive 542 | description: 543 | name: webkit_inspection_protocol 544 | sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" 545 | url: "https://pub.dev" 546 | source: hosted 547 | version: "1.2.0" 548 | yaml: 549 | dependency: transitive 550 | description: 551 | name: yaml 552 | sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" 553 | url: "https://pub.dev" 554 | source: hosted 555 | version: "3.1.2" 556 | sdks: 557 | dart: ">=3.0.0 <4.0.0" 558 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: asset_manager_cli 2 | description: Auto-generate the assets code and add it to your pubspec.yaml . 3 | version: 1.0.0 4 | homepage: https://github.com/rutvik110/asset_manager_cli 5 | funding: 6 | - https://www.buymeacoffee.com/takrutvik 7 | 8 | environment: 9 | sdk: ">=2.18.0 <4.0.0" 10 | 11 | dependencies: 12 | args: ^2.3.1 13 | 14 | mason_logger: ^0.1.2 15 | path: ^1.8.3 16 | pub_updater: ^0.2.2 17 | executables: 18 | asset_manager: 19 | 20 | dev_dependencies: 21 | lints: ^2.0.0 22 | test: ^1.16.0 23 | build_version: ^2.1.1 24 | build_runner: ^2.4.6 25 | --------------------------------------------------------------------------------