Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update all devDependencies and assorted fixes #986

Merged
merged 1 commit into from Sep 9, 2020
Merged

Update all devDependencies and assorted fixes #986

merged 1 commit into from Sep 9, 2020

Conversation

XhmikosR
Copy link
Contributor

@XhmikosR XhmikosR commented Aug 12, 2020

  • Add @lodder/grunt-postcss
  • Specify precision: 6 for node-sass like upstream
  • Add clean-css
  • Update browserslistc config from upstream
  • Remove engines version since the consumers of the package are not affected by the Node.js version
  • Switch to explicitly using grunt.config's methods

Draft because:

  1. the previous browserslist config was severely outdated and does not follow what we support upstream in 4.x, but this change is a breaking one for this project
  2. this PR requires some of the other PRs merged
  3. the result files are significantly smaller

IMHO the Gruntfile needs some refactoring. There are a few issues I noticed:

  1. building all files at once should be faster than what it is now; At least postcss and minifying should be faster if it ran for all files at once, but I don't have more time to dig into this and this PR seems to work (I tested only a few grunt targets)
  2. the copy task runs N times, where N is the number of themes

@thomaspark thomaspark changed the base branch from master to v4 August 17, 2020 19:03
@thomaspark
Copy link
Owner

Thanks for taking a stab at this. The build process is definitely in need of refresh, as it's out of sync with Bootstrap and has room for some major optimizations. Will be nice to get this all resolved in v4 before work on v5 starts.

@XhmikosR
Copy link
Contributor Author

I think this should be enough of improvement for now, but please consider the points in my OP.

The build process could be simplified a lot by not allowing to build each theme separately. I don't have the time to look into this though. Alternatively, you could just switch to npm scripts with building everything at once.

@thomaspark thomaspark marked this pull request as ready for review August 18, 2020 15:28
@XhmikosR
Copy link
Contributor Author

XhmikosR commented Sep 9, 2020

@thomaspark I rebased this. Please check the generated files' diff and my points above.

BTW if you want you can join our Slack channel so that we can communicate faster if needed :)

@XhmikosR XhmikosR mentioned this pull request Sep 9, 2020
@XhmikosR
Copy link
Contributor Author

XhmikosR commented Sep 9, 2020

Here's the npm pack diff:

v4.5.2
C:\Users\xmr\Desktop\bootswatch>npm pack --dry
npm notice
npm notice package: bootswatch@4.5.2
npm notice === Tarball Contents ===
npm notice 1.1kB   LICENSE
npm notice 239.5kB dist/cerulean/bootstrap.css
npm notice 227.8kB dist/cosmo/bootstrap.css
npm notice 240.4kB dist/cyborg/bootstrap.css
npm notice 239.4kB dist/darkly/bootstrap.css
npm notice 240.1kB dist/flatly/bootstrap.css
npm notice 236.4kB dist/journal/bootstrap.css
npm notice 240.7kB dist/litera/bootstrap.css
npm notice 244.3kB dist/lumen/bootstrap.css
npm notice 230.4kB dist/lux/bootstrap.css
npm notice 284.6kB dist/materia/bootstrap.css
npm notice 241.5kB dist/minty/bootstrap.css
npm notice 230.4kB dist/pulse/bootstrap.css
npm notice 238.6kB dist/sandstone/bootstrap.css
npm notice 239.4kB dist/simplex/bootstrap.css
npm notice 242.9kB dist/sketchy/bootstrap.css
npm notice 251.7kB dist/slate/bootstrap.css
npm notice 252.9kB dist/solar/bootstrap.css
npm notice 242.8kB dist/spacelab/bootstrap.css
npm notice 240.2kB dist/superhero/bootstrap.css
npm notice 235.9kB dist/united/bootstrap.css
npm notice 244.9kB dist/yeti/bootstrap.css
npm notice 184.7kB dist/cerulean/bootstrap.min.css
npm notice 174.6kB dist/cosmo/bootstrap.min.css
npm notice 185.0kB dist/cyborg/bootstrap.min.css
npm notice 184.4kB dist/darkly/bootstrap.min.css
npm notice 185.0kB dist/flatly/bootstrap.min.css
npm notice 181.8kB dist/journal/bootstrap.min.css
npm notice 185.4kB dist/litera/bootstrap.min.css
npm notice 188.2kB dist/lumen/bootstrap.min.css
npm notice 176.7kB dist/lux/bootstrap.min.css
npm notice 223.4kB dist/materia/bootstrap.min.css
npm notice 186.1kB dist/minty/bootstrap.min.css
npm notice 176.6kB dist/pulse/bootstrap.min.css
npm notice 183.7kB dist/sandstone/bootstrap.min.css
npm notice 184.4kB dist/simplex/bootstrap.min.css
npm notice 187.1kB dist/sketchy/bootstrap.min.css
npm notice 194.9kB dist/slate/bootstrap.min.css
npm notice 197.1kB dist/solar/bootstrap.min.css
npm notice 187.3kB dist/spacelab/bootstrap.min.css
npm notice 184.8kB dist/superhero/bootstrap.min.css
npm notice 181.5kB dist/united/bootstrap.min.css
npm notice 188.9kB dist/yeti/bootstrap.min.css
npm notice 465B    bootswatch.gemspec
npm notice 1.1kB   package.json
npm notice 5.4kB   README.md
npm notice 2.0kB   dist/cerulean/_bootswatch.scss
npm notice 1.2kB   dist/cosmo/_bootswatch.scss
npm notice 5.0kB   dist/cyborg/_bootswatch.scss
npm notice 4.0kB   dist/darkly/_bootswatch.scss
npm notice 4.5kB   dist/flatly/_bootswatch.scss
npm notice 1.8kB   dist/journal/_bootswatch.scss
npm notice 4.5kB   dist/litera/_bootswatch.scss
npm notice 8.5kB   dist/lumen/_bootswatch.scss
npm notice 3.3kB   dist/lux/_bootswatch.scss
npm notice 15.5kB  dist/materia/_bootswatch.scss
npm notice 5.3kB   dist/minty/_bootswatch.scss
npm notice 2.8kB   dist/pulse/_bootswatch.scss
npm notice 3.9kB   dist/sandstone/_bootswatch.scss
npm notice 2.8kB   dist/simplex/_bootswatch.scss
npm notice 8.8kB   dist/sketchy/_bootswatch.scss
npm notice 9.8kB   dist/slate/_bootswatch.scss
npm notice 4.3kB   dist/solar/_bootswatch.scss
npm notice 2.3kB   dist/spacelab/_bootswatch.scss
npm notice 4.8kB   dist/superhero/_bootswatch.scss
npm notice 1.0kB   dist/united/_bootswatch.scss
npm notice 9.6kB   dist/yeti/_bootswatch.scss
npm notice 1.4kB   dist/cerulean/_variables.scss
npm notice 1.5kB   dist/cosmo/_variables.scss
npm notice 5.0kB   dist/cyborg/_variables.scss
npm notice 5.2kB   dist/darkly/_variables.scss
npm notice 3.1kB   dist/flatly/_variables.scss
npm notice 1.6kB   dist/journal/_variables.scss
npm notice 2.5kB   dist/litera/_variables.scss
npm notice 2.4kB   dist/lumen/_variables.scss
npm notice 3.4kB   dist/lux/_variables.scss
npm notice 3.7kB   dist/materia/_variables.scss
npm notice 2.9kB   dist/minty/_variables.scss
npm notice 2.6kB   dist/pulse/_variables.scss
npm notice 4.3kB   dist/sandstone/_variables.scss
npm notice 2.8kB   dist/simplex/_variables.scss
npm notice 4.7kB   dist/sketchy/_variables.scss
npm notice 5.1kB   dist/slate/_variables.scss
npm notice 5.7kB   dist/solar/_variables.scss
npm notice 1.7kB   dist/spacelab/_variables.scss
npm notice 5.0kB   dist/superhero/_variables.scss
npm notice 1.4kB   dist/united/_variables.scss
npm notice 3.0kB   dist/yeti/_variables.scss
npm notice 684B    .github/stale.yml
npm notice === Tarball Details ===
npm notice name:          bootswatch
npm notice version:       4.5.2
npm notice filename:      bootswatch-4.5.2.tgz
npm notice package size:  1.2 MB
npm notice unpacked size: 9.2 MB
npm notice shasum:        c7919d2839ffc423d9a2c52ca04e8a56e7b70fd3
npm notice integrity:     sha512-hpXfl9tZcROVr[...]vmKgm83f5RJaw==
npm notice total files:   89
npm notice
bootswatch-4.5.2.tgz
This branch
C:\Users\xmr\Desktop\bootswatch>npm pack --dry
npm notice
npm notice package: bootswatch@4.5.2
npm notice === Tarball Contents ===
npm notice 1.1kB   LICENSE
npm notice 202.4kB dist/cerulean/bootstrap.css
npm notice 192.8kB dist/cosmo/bootstrap.css
npm notice 204.5kB dist/cyborg/bootstrap.css
npm notice 203.6kB dist/darkly/bootstrap.css
npm notice 204.3kB dist/flatly/bootstrap.css
npm notice 200.7kB dist/journal/bootstrap.css
npm notice 204.8kB dist/litera/bootstrap.css
npm notice 208.0kB dist/lumen/bootstrap.css
npm notice 194.6kB dist/lux/bootstrap.css
npm notice 237.6kB dist/materia/bootstrap.css
npm notice 205.5kB dist/minty/bootstrap.css
npm notice 194.5kB dist/pulse/bootstrap.css
npm notice 202.8kB dist/sandstone/bootstrap.css
npm notice 202.6kB dist/simplex/bootstrap.css
npm notice 206.9kB dist/sketchy/bootstrap.css
npm notice 212.3kB dist/slate/bootstrap.css
npm notice 209.0kB dist/solar/bootstrap.css
npm notice 204.6kB dist/spacelab/bootstrap.css
npm notice 204.1kB dist/superhero/bootstrap.css
npm notice 200.3kB dist/united/bootstrap.css
npm notice 208.6kB dist/yeti/bootstrap.css
npm notice 162.2kB dist/cerulean/bootstrap.min.css
npm notice 153.9kB dist/cosmo/bootstrap.min.css
npm notice 163.6kB dist/cyborg/bootstrap.min.css
npm notice 163.2kB dist/darkly/bootstrap.min.css
npm notice 163.8kB dist/flatly/bootstrap.min.css
npm notice 160.6kB dist/journal/bootstrap.min.css
npm notice 164.2kB dist/litera/bootstrap.min.css
npm notice 166.8kB dist/lumen/bootstrap.min.css
npm notice 155.4kB dist/lux/bootstrap.min.css
npm notice 193.3kB dist/materia/bootstrap.min.css
npm notice 164.8kB dist/minty/bootstrap.min.css
npm notice 155.3kB dist/pulse/bootstrap.min.css
npm notice 162.5kB dist/sandstone/bootstrap.min.css
npm notice 162.2kB dist/simplex/bootstrap.min.css
npm notice 166.0kB dist/sketchy/bootstrap.min.css
npm notice 170.6kB dist/slate/bootstrap.min.css
npm notice 168.1kB dist/solar/bootstrap.min.css
npm notice 163.9kB dist/spacelab/bootstrap.min.css
npm notice 163.5kB dist/superhero/bootstrap.min.css
npm notice 160.3kB dist/united/bootstrap.min.css
npm notice 167.5kB dist/yeti/bootstrap.min.css
npm notice 1.0kB   package.json
npm notice 5.2kB   README.md
npm notice 1.9kB   dist/cerulean/_bootswatch.scss
npm notice 1.2kB   dist/cosmo/_bootswatch.scss
npm notice 4.7kB   dist/cyborg/_bootswatch.scss
npm notice 3.8kB   dist/darkly/_bootswatch.scss
npm notice 4.2kB   dist/flatly/_bootswatch.scss
npm notice 1.7kB   dist/journal/_bootswatch.scss
npm notice 4.2kB   dist/litera/_bootswatch.scss
npm notice 8.0kB   dist/lumen/_bootswatch.scss
npm notice 3.1kB   dist/lux/_bootswatch.scss
npm notice 14.7kB  dist/materia/_bootswatch.scss
npm notice 5.0kB   dist/minty/_bootswatch.scss
npm notice 2.7kB   dist/pulse/_bootswatch.scss
npm notice 3.7kB   dist/sandstone/_bootswatch.scss
npm notice 2.7kB   dist/simplex/_bootswatch.scss
npm notice 8.3kB   dist/sketchy/_bootswatch.scss
npm notice 9.3kB   dist/slate/_bootswatch.scss
npm notice 4.1kB   dist/solar/_bootswatch.scss
npm notice 2.2kB   dist/spacelab/_bootswatch.scss
npm notice 4.5kB   dist/superhero/_bootswatch.scss
npm notice 983B    dist/united/_bootswatch.scss
npm notice 9.0kB   dist/yeti/_bootswatch.scss
npm notice 1.3kB   dist/cerulean/_variables.scss
npm notice 1.6kB   dist/cosmo/_variables.scss
npm notice 4.8kB   dist/cyborg/_variables.scss
npm notice 5.0kB   dist/darkly/_variables.scss
npm notice 3.0kB   dist/flatly/_variables.scss
npm notice 1.5kB   dist/journal/_variables.scss
npm notice 2.4kB   dist/litera/_variables.scss
npm notice 2.4kB   dist/lumen/_variables.scss
npm notice 3.2kB   dist/lux/_variables.scss
npm notice 3.6kB   dist/materia/_variables.scss
npm notice 2.8kB   dist/minty/_variables.scss
npm notice 2.5kB   dist/pulse/_variables.scss
npm notice 4.1kB   dist/sandstone/_variables.scss
npm notice 2.7kB   dist/simplex/_variables.scss
npm notice 4.5kB   dist/sketchy/_variables.scss
npm notice 5.0kB   dist/slate/_variables.scss
npm notice 5.5kB   dist/solar/_variables.scss
npm notice 1.6kB   dist/spacelab/_variables.scss
npm notice 4.8kB   dist/superhero/_variables.scss
npm notice 1.3kB   dist/united/_variables.scss
npm notice 2.9kB   dist/yeti/_variables.scss
npm notice === Tarball Details ===
npm notice name:          bootswatch
npm notice version:       4.5.2
npm notice filename:      bootswatch-4.5.2.tgz
npm notice package size:  1.1 MB
npm notice unpacked size: 7.9 MB
npm notice shasum:        4e5fefa455bd4606dd8242d3a9e511fc062c4fd1
npm notice integrity:     sha512-pPuxouDjn4Sy8[...]Gbh2/eZS5szQA==
npm notice total files:   87
npm notice
bootswatch-4.5.2.tgz

* Add @lodder/grunt-postcss
* Specify `precision: 6` for node-sass like upstream
* Add clean-css
* Update browserslistc config from upstream
* Remove engines version since the consumers of the package are not affected by the Node.js version
* Switch to explicitly using `grunt.config`'s methods
@thomaspark
Copy link
Owner

This is awesome, thanks for your work on this @XhmikosR!

@thomaspark thomaspark merged commit 4dfd19d into thomaspark:v4 Sep 9, 2020
@XhmikosR XhmikosR deleted the build branch September 10, 2020 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants