├── .gitattributes ├── .github ├── workflows │ └── lint.yml ├── PULL_REQUEST_TEMPLATE.md └── CONTRIBUTING.md ├── assets └── logo.svg ├── LICENSE.md └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | readme.md merge=union 3 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Lint 2 | on: 3 | push: 4 | branches: [main] 5 | pull_request: 6 | branches: [main] 7 | jobs: 8 | lint: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | with: 13 | fetch-depth: 0 14 | - run: npx awesome-lint 15 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | | Name | Link | 2 | | -------------------- | -------------------- | 3 | | _Resource name here_ | _Resource link here_ | 4 | 5 | _Resource description here_ 6 | 7 | --- 8 | 9 | - [ ] My item is in the right category 10 | - [ ] My item has been added to the bottom of the list 11 | - [ ] My item's name and description respects the conventions of the list 12 | - [ ] I have read and followed the [contributing guidelines](.github/CONTRIBUTING.md) 13 | -------------------------------------------------------------------------------- /assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | ## General Guidelines 4 | 5 | 1. Respect the formats and categories described below. 6 | 2. Make sure your item is **awesome**. 7 | 8 | - > Only has awesome items. Awesome lists are curations of the best, not everything. _— [Awesome Guidelines](https://github.com/sindresorhus/awesome/blob/master/pull_request_template.md#requirements-for-your-awesome-list)_ 9 | 10 | 3. The item _must_ be added to the bottom of the list. 11 | 4. After your pull request, this list must still be elligible for [Awesome](https://github.com/sindresorhus/awesome). 12 | 13 | ## Formats, naming conventions and descriptions 14 | 15 | - Every item _must_ have the following format : `[Item Name](link) - Description.`, except for the adapter category, which doesn't have descriptions. 16 | - Every item and description _must_ be in English. 17 | - Every mention of Inertia.js _must_ use the exact format `Inertia.js`, except for resource names. 18 | - `✖` InertiaJS 19 | - `✖` Inertia 20 | - `✔` Inertia.js 21 | - Descriptions _should not_ start with "The", "A", or similar. 22 | - `✔` Vue.js adapter. 23 | - `✖` A Vue.js adapter. 24 | - Descriptions _must_ start with an uppercase character and ends with a period. 25 | - Descriptions _must_ be **short** and **explicit**. 26 | - Descriptions _must_ describe the resource, not be a slogan. 27 | 28 | - `✔` Showcase of products built with Inertia.js. 29 | - `✖` The best Inertia.js products. 30 | 31 | ## Categories 32 | 33 | ### Useful Links 34 | 35 | This category must contain must-known resources related to Inertia.js, preferably only official ones. 36 | 37 | ### Adapters 38 | 39 | This category must contain only Inertia.js adapters that comply to the [Inertia.js protocol](https://inertiajs.com/the-protocol). 40 | 41 | [Client-side](README.md#client-side) and [server-side](README.md#server-side) adapters must be added to the bottom of their respective sub-categories. 42 | 43 | ### Resources 44 | 45 | This category contains other resources directly related to Inertia.js, such as [presets](README.md#presets) or [articles](README.md#articles). A sub-category can be added if too many related resources are added in the [Other](README.md#other) sub-category. 46 | 47 | The [articles](README.md#articles) sub-category's items _must not_ have a description. 48 | 49 | ## Pull request and commits 50 | 51 | You can name your pull request and commits however you want, but for clarity, [conventional commits](http://conventionalcommits.org/) are welcome. Pull request will be squashed upon merge. 52 | 53 | Here are the keywords used in this list: 54 | 55 | - `add` — For adding a resource to the list. 56 | - `add(adapters): Vue.js adapter` 57 | - `remove` — For removing a resource to the list. 58 | - `remove(item-name): outdated resource` 59 | - `update` — For updating a resource to the list. 60 | - `update(item-name): fix typographical error in description` 61 | - `chore` — For anything else. 62 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 |
5 | 6 | logo of awesome-inertiajs repository 7 | 8 |
9 |
10 |

11 | 12 |

Awesome Inertia.js

13 | 14 |

15 | A tool for building single-page applications using classic server-side routing and controllers. 16 |
17 |
18 | 19 | Awesome 20 | 21 |   22 | 23 | Lint status 24 | 25 |
26 |
27 |

28 | 29 | ## Contents 30 | 31 | - [Useful Links](#useful-links) 32 | - [Adapters](#adapters) 33 | - [Client-side](#client-side) 34 | - [Server-side](#server-side) 35 | - [Resources](#resources) 36 | - [Presets](#presets) 37 | - [Packages](#packages) 38 | - [Articles](#articles) 39 | - [Examples](#examples) 40 | - [Other](#other) 41 | 42 | ## Useful Links 43 | 44 | **Legend**: `💜` Official · `⭐` Featured 45 | 46 | - [Documentation](http://inertiajs.com) - Official website and documentation. 47 | - [Twitter](https://twitter.com/inertiajs) - Official Twitter account. 48 | - [Discord](https://discord.gg/gwgxN8Y) - Official Discord server. 49 | - [Organization](https://github.com/inertiajs) - Official GitHub organization. 50 | 51 | ## Adapters 52 | 53 | ### Client-side 54 | 55 | - 💜 [Vue.js](https://github.com/inertiajs/inertia/tree/master/packages/inertia-vue) 56 | - 💜 [React](https://github.com/inertiajs/inertia/tree/master/packages/inertia-react) 57 | - 💜 [Svelte](https://github.com/inertiajs/inertia/tree/master/packages/inertia-svelte) 58 | - [Mithril](https://github.com/maicol07/inertia-mithril) 59 | - [Preact](https://github.com/jrson83/inertia-preact) 60 | 61 | ### Server-side 62 | 63 | - 💜 [Laravel](https://github.com/inertiajs/inertia-laravel) 64 | - 💜 [Rails](https://github.com/inertiajs/inertia-rails) 65 | - 💜 [Django](https://github.com/inertiajs/inertia-django) 66 | - 💜 [Phoenix](https://github.com/inertiajs/inertia-phoenix) 67 | - [Statamic](https://github.com/hotmeteor/inertia-statamic) 68 | - [ASP.NET Core](https://github.com/kapi2289/InertiaCore) 69 | - [CakePHP](https://github.com/ishanvyas22/cakephp-inertiajs) 70 | - [ColdBox](https://github.com/elpete/cbInertia) 71 | - [Phoenix](https://github.com/devato/inertia_phoenix) 72 | - [Symfony](https://github.com/rompetomp/inertia-bundle) 73 | - [Yii2](https://github.com/tbreuss/yii2-inertia) 74 | - [Django](https://github.com/zodman/inertia-django) 75 | - [Fiber](https://github.com/theArtechnology/fiber-inertia) 76 | - [Node.js](https://github.com/haikyuu/inertia-node-adapter) 77 | - [Masonite](https://github.com/girardinsamuel/masonite-inertia) 78 | - [WordPress](https://github.com/boxybird/wordpress-inertia-plugin) 79 | - [Flask](https://github.com/j0ack/flask-inertia) 80 | - [Adonis](https://github.com/eidellev/inertiajs-adonisjs) 81 | - [CanJS](https://github.com/cherifGsoul/inertia-can) 82 | - [Clojure](https://github.com/prestancedesign/inertia-clojure) 83 | - [CodeIgniter](https://github.com/amiranagram/inertia-codeigniter-4) 84 | - [Go](https://github.com/petaki/inertia-go) 85 | - [PSR-15](https://github.com/cherifGsoul/inertia-psr15) 86 | - [Rust](https://github.com/stuarth/inertia-rs) 87 | - [Oak (Deno)](https://github.com/jcs224/oak_inertia) 88 | - [Echo](https://github.com/kohkimakimoto/inertia-echo) 89 | - [Grails](https://github.com/matrei/grails-inertia-plugin) 90 | - [FastAPI](https://github.com/hxjo/fastapi-inertia) 91 | - [Hyperf](https://github.com/onix-systems-php/hyperf-inertia) 92 | 93 | ## Resources 94 | 95 | ### Presets 96 | 97 | - 💜 [Laravel Breeze](https://laravel.com/docs/8.x/starter-kits#breeze-and-inertia) - Laravel's official authentication scaffolding, with Tailwind CSS and Inertia.js. 98 | - 💜 [Laravel Jetstream](https://jetstream.laravel.com/1.x/stacks/inertia.html) - Laravel's official application scaffolding, with Tailwind CSS, Inertia.js and Vue.js. 99 | - [Laravel front-end preset](https://github.com/laravel-frontend-presets/inertiajs) - Laravel front-end preset for Inertia.js. 100 | - [Laravel Moonlight](https://github.com/TitasGailius/laravel-moonlight) - Laravel front-end preset with Tailwind CSS, Inertia.js and Vue.js. 101 | - [Titanium](https://github.com/usetitanium/inertia) - Laravel front-end preset with Tailwind CSS, Inertia.js and Vue.js. 102 | - [Breeze React](https://github.com/lucky-media/breeze-react) - Laravel Breeze fork with Tailwind CSS, Inertia.js and React. 103 | - [Laravel Jetstream React](https://github.com/ozziexsh/laravel-jetstream-react) - Converts the official Laravel Jetstream Inertia.js starter kit to React. 104 | 105 | ### Packages 106 | 107 | - [Page loader](https://github.com/ycs77/inertia-plugin) - Unplugin for loading Inertia pages from configured namespaces. 108 | - [Flash](https://github.com/igerslike/inertia-flash) - Laravel package for sharing properties from anywhere. 109 | - [Dry requests](https://github.com/dive-be/laravel-dry-requests) - Generic Laravel package for real-time form validation. 110 | - [Kakunin](https://github.com/Juhlinus/kakunin) - Laravel package for real-time form validation. 111 | - [Resource Links](https://github.com/spatie/laravel-resource-links) - Laravel package for adding links to API resources. 112 | - [Navigation](https://github.com/spatie/laravel-navigation) - Laravel package for generating menus, breadcrumbs and other navigational elements. 113 | - [Tables for Laravel](https://github.com/protonemedia/inertiajs-tables-laravel-query-builder) - Provides a DataTable component with integration for [Laravel Query Builder](https://github.com/spatie/laravel-query-builder). 114 | 115 | ### Articles 116 | 117 | - [Introducing Inertia.js](https://reinink.ca/articles/introducing-inertia-js) 118 | - [Server-side applications with client-side rendering](https://reinink.ca/articles/server-side-apps-with-client-side-rendering) 119 | - [Inertia.js and Livewire: a high-level comparison](https://sebastiandedeyne.com/inertia-js-and-livewire-a-high-level-comparison/) 120 | - [Handling authorization in a Laravel and Inertia.js application](https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application/) 121 | - [Handling routes in a Laravel and Inertia.js application](https://sebastiandedeyne.com/handling-routes-in-a-laravel-inertia-application/) 122 | 123 | ### Examples 124 | 125 | - 💜 [Ping CRM / Laravel](https://github.com/inertiajs/pingcrm/) - Demonstration application made with Laravel and Vue.js. 126 | - 💜 [Ping CRM / Svelte](https://github.com/inertiajs/pingcrm-svelte) - Demonstration application made with Laravel and Svelte. 127 | - [Ping CRM / Django](https://github.com/zodman/django-inertia-demo) - Demonstration application made with Django and Vue.js. 128 | - [Ping CRM / Rails](https://github.com/ledermann/pingcrm) - Demonstration application made with Ruby on Rails and Vue.js. 129 | - [Ping CRM / CakePHP](https://github.com/ishanvyas22/cakephp-pingcrm) - Demonstration application made with CakePHP and Vue.js. 130 | - [Ping CRM / Masonite](https://github.com/girardinsamuel/pingcrm-masonite) - Demonstration application made with Masonite and Vue.js. 131 | - [Ping CRM / React](https://github.com/Landish/pingcrm-react) - Demonstration application made with Laravel React. 132 | - [Ping CRM / Clojure](https://github.com/prestancedesign/pingcrm-clojure) - Demonstration application made with Clojure and Reagent. 133 | - [Ping CRM / Flask](https://github.com/j0ack/pingcrm-flask) - Demonstration application made with Flask and Vue.js. 134 | - [Ping CRM / Echo](https://github.com/kohkimakimoto/pingcrm-echo) - Demonstration application made with Echo and Vue.js. 135 | - [Ping CRM / Preact](https://github.com/jrson83/pingcrm-preact) - Demonstration application made with Laravel Preact. 136 | - [Ping CRM / Grails](https://github.com/matrei/pingcrm-grails) - Demonstration application made with Grails and Vue.js. 137 | 138 | ### Other 139 | 140 | - [Built with Inertia](https://builtwithinertia.com/) - Showcase of products built with Inertia.js. 141 | - [Jetbrains plugin](https://plugins.jetbrains.com/plugin/17435-inertia-js-support) - PhpStorm/Intellij Ultimate plugin for Inertia.js. 142 | - [Code extension](https://marketplace.visualstudio.com/items?itemName=nhedger.inertia) - Visual Studio Code extension for Inertia.js. 143 | 144 |

145 |
146 |
147 |
148 | · 149 |
150 |
151 | Contributions welcome! Read the contribution guidelines first. 152 |

153 | --------------------------------------------------------------------------------