@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.
Files changed (2) hide show
  1. package/README.md +101 -14
  2. 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
- _**DISCLAIMER**_
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
- In particular, new Daisy components are being added frequently and older
13
- components are being updated with new features meaning the APIs are very likely
14
- to change!
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
- - [Docs / Demo (Latest Release)][1]
20
- - [API Docs (Latest Release)][2]
21
- - [Docs / Demo (Main Branch / Staging)][3]
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
- - [ ] Basic versions of DaisyUI Data Input
885
- - [ ] Basic versions of DaisyUI Layout
886
- - [ ] Basic versions of DaisyUI Mockup
887
- - [ ] ~~Get YARD docs rendering with (better) Markdown~~ _**Working for now**_
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
- - [ ] Create / publish a staging version of the docs site
898
- - [ ] Create / publish a production version of the demo site
899
- - [ ] Create / publish a production version of the docs site
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/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@profoundry-us/loco_motion",
3
- "version": "0.0.7",
3
+ "version": "0.4.0",
4
4
  "description": "Crazy fast Rails development!",
5
5
  "main": "index.js",
6
6
  "repository": {