symfony / ux

Symfony UX initiative: a JavaScript ecosystem for Symfony
https://ux.symfony.com/
MIT License
858 stars 315 forks source link

[StimulusBundle] Rename bootstrap.js to bootstrap-stimulus.js #1278

Open tacman opened 1 year ago

tacman commented 1 year ago

Given the ubiquity of the bootstrap framework, I find it confusing to have the script to integrating stimulus also called bootstrap.js.

My app.js usually looks like this

// stimulus
import './bootstrap.js';

// bootstrap 5
import 'bootstrap'; // bootstrap javascript
import 'bootstrap/dist/css/bootstrap.min.css'

It's so easy to get these confused, I think bootstrap-stimulus.js would be clearer. Also, it's generated by the recipe, so it's not even like its saving typing.

94noni commented 10 months ago

Had at work the same « wtf » moment with coworker when i introduced this package /file

boot_ux.js / init_ux.js / boot_app.js ?

naming can be « improved » to dissociate with bootstrap framework indeed :)

javiereguiluz commented 7 months ago

This is still confusing to me too.

If others face the same issue, we could revisit this and consider a name change.

smnandre commented 7 months ago

This is very "webpack-like"..

If we can find a way to do this with no BC / generating frustration, i'm all in to rename.... but i'd even think we could entirely remove it (and merge within app.js)

WDYT ?

tacman commented 7 months ago

I quite like the idea of moving it into app.js. If we were to do that, what about also renaming the app var to application, so it'd be more consistent with stimulus-components and the hotwired documentation

that is

import { Application } from '@hotwired/stimulus'

const application = Application.start()

I think the recipe should include

application.debug=true;

or false, but either way, make it explicit.

One potential downside to embedding the code in app.js is that if someone were to create a command that installs stimulus components, it'd be easier to automate initializing it. That is

bin/console importmap:require-stimulus timeago
# same as 
bin/console importmap:require stimulus-timeago
cat assets/stimulus-bootstrap.js

would install it as well.

import { startStimulusApp } from '@symfony/stimulus-bundle';
import Timeago from 'stimulus-timeago'

const application = startStimulusApp();
application.debug=true;
application.register('timeago', Timeago);
carsonbot commented 1 month ago

Thank you for this issue. There has not been a lot of activity here for a while. Has this been resolved?

carsonbot commented 1 month ago

Could I get an answer? If I do not hear anything I will assume this issue is resolved or abandoned. Please get back to me <3

carsonbot commented 3 weeks ago

Hey,

I didn't hear anything so I'm going to close it. Feel free to comment if this is still relevant, I can always reopen!