@profoundry-us/loco_motion 0.0.7 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,19 +6,45 @@ ViewComponent, TailwindCSS, DaisyUI and more!
|
|
|
6
6
|
|
|
7
7
|
<img src="//loco-motion-docs.profoundry.us/images/loco-chats.png" width="500px" style="border: 1px solid #bbb; padding: 2px; border-radius: 10px;">
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
<!-- omit from toc -->
|
|
10
|
+
## DISCLAIMER / CURRENT STATUS
|
|
10
11
|
|
|
11
12
|
This project is in active development and many changes occur with every release!
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
to
|
|
13
|
+
|
|
14
|
+
We've added a very basic / untested version of all DaisyUI 4 components. While
|
|
15
|
+
we originally intended to take some time to flesh out and attempt to use these
|
|
16
|
+
components, with the recent release of Tailwind 4 and DaisyUI 5, we feel our
|
|
17
|
+
time is best spent updating all of the components and dependencies for these
|
|
18
|
+
new releases.
|
|
19
|
+
|
|
20
|
+
This means that we will **NOT** be making any bug fixes to the current branch
|
|
21
|
+
(0.4.0), and will instead include any bug fixes / improvements into the 0.5.0
|
|
22
|
+
branch which will also upgrade to Tailwind 4 and DaisyUI 5.
|
|
23
|
+
|
|
24
|
+
- Current Release **(0.4.0)** - Works with DaisyUI 4 and Tailwind 3
|
|
25
|
+
- Next Release **(0.5.0)** - Will work with DaisyUI 5 and Tailwind 4
|
|
26
|
+
|
|
27
|
+
<!-- omit from toc -->
|
|
28
|
+
## Additional Notes
|
|
29
|
+
|
|
30
|
+
### DataInput Components
|
|
31
|
+
|
|
32
|
+
Many of the DataInput elements (file input, text input, select dropdown, etc)
|
|
33
|
+
were built rather hastily so that we would have a base version to start from.
|
|
34
|
+
|
|
35
|
+
However, the new DaisyUI 5 components are implemented in a much cleaner way and
|
|
36
|
+
we didn't want to invest too much time building these out and making them more
|
|
37
|
+
ideal since we're about to change them.
|
|
38
|
+
|
|
39
|
+
### Hosting / Sites
|
|
15
40
|
|
|
16
41
|
We expect to settle on and purchase a real domain name in the near future, but
|
|
17
42
|
for the time being, the latest documentation is available at the links below.
|
|
18
43
|
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
|
|
44
|
+
- [Latest Release][1]
|
|
45
|
+
- [Main / Staging][3]
|
|
46
|
+
|
|
47
|
+
### Getting Help
|
|
22
48
|
|
|
23
49
|
Please reach out by opening an
|
|
24
50
|
[Issue](https://github.com/profoundry-us/loco_motion/issues) if you've found a
|
|
@@ -33,11 +59,13 @@ your solution is aligned with our goals.
|
|
|
33
59
|
- [About](#about)
|
|
34
60
|
- [Getting Started](#getting-started)
|
|
35
61
|
- [Installing / Setting up Rails](#installing--setting-up-rails)
|
|
62
|
+
- [Using UUIDs by Default](#using-uuids-by-default)
|
|
36
63
|
- [Install HAML (Optional)](#install-haml-optional)
|
|
37
64
|
- [Install DaisyUI (Optional)](#install-daisyui-optional)
|
|
38
65
|
- [Try Out Your Application](#try-out-your-application)
|
|
39
66
|
- [Debugging](#debugging)
|
|
40
67
|
- [Testing](#testing)
|
|
68
|
+
- [Services / Service Objects](#services--service-objects)
|
|
41
69
|
- [Authentication](#authentication)
|
|
42
70
|
- [Web Console](#web-console)
|
|
43
71
|
- [BetterErrors (Optional)](#bettererrors-optional)
|
|
@@ -45,6 +73,8 @@ your solution is aligned with our goals.
|
|
|
45
73
|
- [Install](#install)
|
|
46
74
|
- [Using Components](#using-components)
|
|
47
75
|
- [Developing](#developing)
|
|
76
|
+
- [Contributing](#contributing)
|
|
77
|
+
- [Releasing](#releasing)
|
|
48
78
|
- [Tooling](#tooling)
|
|
49
79
|
- [TODO / Next Steps](#todo--next-steps)
|
|
50
80
|
|
|
@@ -203,6 +233,20 @@ Congratulations!
|
|
|
203
233
|
You can now visit [http://localhost:3000](http://localhost:3000) in your web
|
|
204
234
|
browser and see your running Rails application!
|
|
205
235
|
|
|
236
|
+
### Using UUIDs by Default
|
|
237
|
+
|
|
238
|
+
We believe strongly in migrating all of your primary keys to UUIDs to increase
|
|
239
|
+
security as well as avoiding potential scaling issues in the future.
|
|
240
|
+
|
|
241
|
+
To enable this by default, create the following file:
|
|
242
|
+
|
|
243
|
+
```ruby
|
|
244
|
+
# config/initializers/generators.rb
|
|
245
|
+
Rails.application.config.generators do |generator|
|
|
246
|
+
generator.orm :active_record, primary_key_type: :uuid
|
|
247
|
+
end
|
|
248
|
+
```
|
|
249
|
+
|
|
206
250
|
### Install HAML (Optional)
|
|
207
251
|
|
|
208
252
|
While you can use the default ERB templating system that comes with Rails, we
|
|
@@ -479,6 +523,28 @@ We'll have some guides and examples for this coming soon!
|
|
|
479
523
|
> We plan to have a writeup soon (an ADR specifically) on exactly why we made
|
|
480
524
|
> the switch.
|
|
481
525
|
|
|
526
|
+
## Services / Service Objects
|
|
527
|
+
|
|
528
|
+
It is best practice to separate your logic into Service Objects rather than
|
|
529
|
+
shoving all of it into your Controllers and Models.
|
|
530
|
+
|
|
531
|
+
One solution we really like is
|
|
532
|
+
[ActiveInteraction](https://github.com/AaronLasseigne/active_interaction).
|
|
533
|
+
|
|
534
|
+
It is very stable, has wonderful documentation, and gives you a clean way to
|
|
535
|
+
build your service objects with support for things like composed interactions
|
|
536
|
+
and even ActiveModel validations.
|
|
537
|
+
|
|
538
|
+
Add `gem 'active_interaction', '~> 5.3'` to your `Gemfile` and create a new
|
|
539
|
+
class called `ApplicationInteraction` if you want to give it a try!
|
|
540
|
+
|
|
541
|
+
```
|
|
542
|
+
# app/interactions/application_interaction.rb
|
|
543
|
+
class ApplicationInteraction < ActiveInteraction::Base
|
|
544
|
+
# Your interactions will inherit from this class!
|
|
545
|
+
end
|
|
546
|
+
```
|
|
547
|
+
|
|
482
548
|
## Authentication
|
|
483
549
|
|
|
484
550
|
There are a **lot** of different ways to handle user authentication in Ruby on
|
|
@@ -818,6 +884,20 @@ See the `Makefile` for all available commands.
|
|
|
818
884
|
> make demo-restart
|
|
819
885
|
> ```
|
|
820
886
|
|
|
887
|
+
### Contributing
|
|
888
|
+
|
|
889
|
+
If you're interested in contributing to LocoMotion, please check out our
|
|
890
|
+
[CONTRIBUTING guide](docs/dev_guides/CONTRIBUTING.md) which provides detailed
|
|
891
|
+
information about the contribution process, code standards, documentation
|
|
892
|
+
requirements, and testing procedures.
|
|
893
|
+
|
|
894
|
+
### Releasing
|
|
895
|
+
|
|
896
|
+
For core team members who need to release new versions of LocoMotion, please
|
|
897
|
+
refer to our [RELEASING guide](docs/dev_guides/RELEASING.md) for step-by-step
|
|
898
|
+
instructions on version updates, building, testing, and publishing both the Ruby
|
|
899
|
+
gem and NPM package.
|
|
900
|
+
|
|
821
901
|
### Tooling
|
|
822
902
|
|
|
823
903
|
For VSCode, you may want to add the following to your settings to get
|
|
@@ -881,10 +961,10 @@ the GitHub Discussions feature and let us know!
|
|
|
881
961
|
- [x] Basic versions of DaisyUI Data Display
|
|
882
962
|
- [x] Basic versions of DaisyUI Navigation
|
|
883
963
|
- [x] Basic versions of DaisyUI Feedback
|
|
884
|
-
- [
|
|
885
|
-
- [
|
|
886
|
-
- [
|
|
887
|
-
- [
|
|
964
|
+
- [x] Basic versions of DaisyUI Data Input
|
|
965
|
+
- [x] Basic versions of DaisyUI Layout
|
|
966
|
+
- [x] Basic versions of DaisyUI Mockup
|
|
967
|
+
- [x] ~~Get YARD docs rendering with (better) Markdown~~ _**Working for now**_
|
|
888
968
|
- [x] Extract relevant pieces into a yard-loco_motion plugin
|
|
889
969
|
- [x] Publish Gem
|
|
890
970
|
- [x] Publish NPM package
|
|
@@ -894,14 +974,21 @@ the GitHub Discussions feature and let us know!
|
|
|
894
974
|
- [ ] Choose, recommend, and document a pagination gem
|
|
895
975
|
- [ ] Discuss caching techniques / setup
|
|
896
976
|
- [x] Create / publish a staging version of the demo site ([Demo Staging][2])
|
|
897
|
-
- [
|
|
898
|
-
- [
|
|
899
|
-
- [
|
|
977
|
+
- [x] Create / publish a staging version of the docs site
|
|
978
|
+
- [x] Create / publish a production version of the demo site
|
|
979
|
+
- [x] Create / publish a production version of the docs site
|
|
900
980
|
- [x] Update demo site to allow for a different docs site using ENV var
|
|
901
981
|
- [x] Update README to suggest Playwright
|
|
902
982
|
- [ ] Build some have docs / guides / examples for using playwright-ruby-client
|
|
903
983
|
- [x] See if we can build a `Tippable` concern that relevant components can
|
|
904
984
|
include to automatically add the tooltip param and classes where possible
|
|
985
|
+
- [x] Rename `tail` methods to `end` since we use that in other places
|
|
986
|
+
- [x] Update CardComponent Figure to be a proper class like other components
|
|
987
|
+
- [x] Create a GitHub pull request template to standardize PR submissions
|
|
988
|
+
- [ ] See if we can update the Join component to auto-add the `join-item` CSS
|
|
989
|
+
under certain conditions
|
|
990
|
+
- [ ] Add title and description content_for blocks to all examples for SEO purposes
|
|
991
|
+
- [ ] Update to Tailwind 4 and DaisyUI 5
|
|
905
992
|
|
|
906
993
|
[1]: https://loco-motion.profoundry.us/
|
|
907
994
|
[2]: https://loco-motion-demo-staging.profoundry.us/
|