8000 chore: migrate from `node-sass` to `sass` (Dart Sass) · bootstrap-vue/bootstrap-vue@9162e15 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9162e15

Browse files
committed
chore: migrate from node-sass to sass (Dart Sass)
1 parent 142188e commit 9162e15

File tree

8 files changed

+108
-358
lines changed

8 files changed

+108
-358
lines changed

docs/components/componentdoc.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ ul.component-ref-mini-toc:empty {
523523
display: none;
524524
}
525525
526-
/deep/ .word-wrap-normal {
526+
>>> .word-wrap-normal {
527527
white-space: normal !important;
528528
word-break: normal !important;
529529
overflow-wrap: normal !important;

docs/components/icons-table.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,16 @@ export default {
118118
position: relative;
119119
}
120120
121-
#bv-icons-table-result /deep/ .bi {
121+
#bv-icons-table-result >>> .bi {
122122
font-size: 1.5rem;
123123
}
124124
125-
.form-group /deep/ .form-text {
125+
.form-group >>> .form-text {
126126
text-align: right;
127127
}
128128
129129
// Icon zoom on hover
130-
.flip-icon-list-icon /deep/ .card {
130+
.flip-icon-list-icon >>> .card {
131131
.bi {
132132
transition: transform 0.15s;
133133
}

docs/markdown/reference/theming/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,10 @@ import 'custom.scss'
195195
196196
You can find all of the possible variables in `node_modules/bootstrap/scss/_variables.scss`.
197197
198-
Do not forget to include `node-sass` and `sass-loader` to use `scss` in Vue:
198+
Do not forget to include `sass` and `sass-loader` to use `scss` in Vue:
199199
200200
```sh
201-
npm install --save-dev node-sass sass-loader
201+
npm install --save-dev sass sass-loader
202202
```
203203
204204
**Note:** You may need to adjust the SCSS import paths based on your build environment.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@
139139
"loader-utils": "^2.0.0",
140140
"lodash": "^4.17.20",
141141
"marked": "^1.2.2",
142-
"node-sass": "^5.0.0",
143142
"nuxt": "^2.14.7",
144143
"postcss": "^8.1.4",
145144
"postcss-cli": "^8.2.0",
@@ -149,6 +148,7 @@
149148
"rollup-plugin-babel": "^4.4.0",
150149
"rollup-plugin-commonjs": "^10.1.0",
151150
"rollup-plugin-node-resolve": "^5.2.0",
151+
"sass": "^1.28.0",
152152
"sass-loader": "^10.0.4",
153153
"standard-version": "^9.0.0",
154154
"terser": "^5.3.8",

scripts/build.sh

Lines changed: 69 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ echo ''
2727

2828
echo 'Compiling ESM modular build...'
2929
NODE_ENV=esm babel src \
30-
--out-dir esm \
31-
--ignore 'src/**/*.spec.js' \
32-
--ignore 'src/browser.js' \
33-
--ignore 'src/browser-icons.js' \
34-
--ignore 'src/icons-only.js'
30+
--out-dir esm \
31+
--ignore 'src/**/*.spec.js' \
32+
--ignore 'src/browser.js' \
33+
--ignore 'src/browser-icons.js' \
34+
--ignore 'src/icons-only.js'
3535
echo "${BV_BANNER}" | cat - esm/index.js > esm/tmp.js && mv -f esm/tmp.js esm/index.js
3636
echo 'Done.'
3737
echo ''
@@ -40,93 +40,91 @@ echo 'Minify JS...'
4040
# We instruct terser to preserve our `Bv*Event` class names and
4141
# safe types (i.e. `Element`, etc.) when mangling top level names
4242
terser dist/bootstrap-vue.js \
43-
--compress typeofs=false \
44-
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
45-
--toplevel \
46-
--keep-classnames \
47-
--comments "/^!/" \
48-
--source-map "content=dist/bootstrap-vue.js.map,includeSources,url=bootstrap-vue.min.js.map" \
49-
--output dist/bootstrap-vue.min.js
43+
--compress typeofs=false \
44+
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
45+ --toplevel \
46+
--keep-classnames \
47+
--comments "/^!/" \
48+
--source-map "content=dist/bootstrap-vue.js.map,includeSources,url=bootstrap-vue.min.js.map" \
49+
--output dist/bootstrap-vue.min.js
5050
terser dist/bootstrap-vue-icons.js \
51-
--compress typeofs=false \
52-
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
53-
--toplevel \
54-
--keep-classnames \
55-
--comments "/^!/" \
56-
--source-map "content=dist/bootstrap-vue-icons.js.map,includeSources,url=bootstrap-vue-icons.min.js.map" \
57-
--output dist/bootstrap-vue-icons.min.js
51+
--compress typeofs=false \
52+
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
53+
--toplevel \
54+
--keep-classnames \
55+
--comments "/^!/" \
56+
--source-map "content=dist/bootstrap-vue-icons.js.map,includeSources,url=bootstrap-vue-icons.min.js.map" \
57+
--output dist/bootstrap-vue-icons.min.js
5858
terser dist/bootstrap-vue.common.js \
59-
--compress typeofs=false \
60-
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
61-
--toplevel \
62-
--keep-classnames \
63-
--comments "/^!/" \
64-
--source-map "content=dist/bootstrap-vue.common.js.map,includeSources,url=bootstrap-vue.common.min.js.map" \
65-
--output dist/bootstrap-vue.common.min.js
59+
--compress typeofs=false \
60+
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
61+
--toplevel \
62+
--keep-classnames \
63+
--comments "/^!/" \
64+
--source-map "content=dist/bootstrap-vue.common.js.map,includeSources,url=bootstrap-vue.common.min.js.map" \
65+
--output dist/bootstrap-vue.common.min.js
6666
terser dist/bootstrap-vue-icons.common.js \
67-
--compress typeofs=false \
68-
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
69-
--toplevel \
70-
--keep-classnames \
71-
--comments "/^!/" \
72-
--source-map "content=dist/bootstrap-vue-icons.common.js.map,includeSources,url=bootstrap-vue-icons.common.min.js.map" \
73-
--output dist/bootstrap-vue-icons.common.min.js
67+
--compress typeofs=false \
68+
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
69+
--toplevel \
70+
--keep-classnames \
71+
--comments "/^!/" \
72+
--source-map "content=dist/bootstrap-vue-icons.common.js.map,includeSources,url=bootstrap-vue-icons.common.min.js.map" \
73+
--output dist/bootstrap-vue-icons.common.min.js
7474
terser dist/bootstrap-vue.esm.js \
75-
--compress typeofs=false \
76-
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
77-
--toplevel \
78-
--keep-classnames \
79-
--comments "/^!/" \
80-
--source-map "content=dist/bootstrap-vue.esm.js.map,includeSources,url=bootstrap-vue.esm.min.js.map" \
81-
--output dist/bootstrap-vue.esm.min.js
75+
--compress typeofs=false \
76+
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
77+
--toplevel \
78+
--keep-classnames \
79+
--comments "/^!/" \
80+
--source-map "content=dist/bootstrap-vue.esm.js.map,includeSources,url=bootstrap-vue.esm.min.js.map" \
81+
--output dist/bootstrap-vue.esm.min.js
8282
terser dist/bootstrap-vue-icons.esm.js \
83-
--compress typeofs=false \
84-
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
85-
--toplevel \
86-
--keep-classnames \
87-
--comments "/^!/" \
88-
--source-map "content=dist/bootstrap-vue-icons.esm.js.map,includeSources,url=bootstrap-vue-icons.esm.min.js.map" \
89-
--output dist/bootstrap-vue-icons.esm.min.js
83+
--compress typeofs=false \
84+
--mangle reserved=['BvEvent','BvModalEvent','Element','HTMLElement','SVGElement'] \
85+
--toplevel \
86+
--keep-classnames \
87+
--comments "/^!/" \
88+
--source-map "content=dist/bootstrap-vue-icons.esm.js.map,includeSources,url=bootstrap-vue-icons.esm.min.js.map" \
89+
--output dist/bootstrap-vue-icons.esm.min.js
9090
echo 'Done.'
9191
echo ''
9292

9393
echo 'Compile SCSS...'
9494
# Complete BootstrapVue CSS
95-
node-sass --output-style expanded \
96-
--source-map true \
97-
--source-map-contents true \
98-
--precision 6 \
99-
scripts/index.scss \
100-
dist/bootstrap-vue.css
95+
SASS_PATH=node_modules sass --style expanded \
96+
--embed-source-map \
97+
--precision 6 \
98+
scripts/index.scss \
99+
dist/bootstrap-vue.css
101100
postcss --config scripts/postcss.config.js \
102-
--replace dist/bootstrap-vue.css
101+
--replace dist/bootstrap-vue.css
103102
# BootstrapVue Icons only CSS
104-
node-sass --output-style expanded \
105-
--source-map true \
106-
--source-map-contents true \
107-
--precision 6 \
108-
scripts/icons.scss \
109-
dist/bootstrap-vue-icons.css
103+
SASS_PATH=node_modules sass --style expanded \
104+
--embed-source-map \
105+
--precision 6 \
106+
scripts/icons.scss \
107+
dist/bootstrap-vue-icons.css
110108
postcss --config scripts/postcss.config.js \
111-
--replace dist/bootstrap-vue-icons.css
109+
--replace dist/bootstrap-vue-icons.css
112110
echo 'Done.'
113111
echo ''
114112

115113
echo 'Minify CSS...'
116114
# Complete BootstrapVue CSS
117115
cleancss --level 1 \
118-
--format breaksWith=lf \
119-
--source-map \
120-
--source-map-inline-sources \
121-
--output dist/bootstrap-vue.min.css \
122-
dist/bootstrap-vue.css
116+
--format breaksWith=lf \
117+
--source-map \
118+
--source-map-inline-sources \
119+
--output dist/bootstrap-vue.min.css \
120+
dist/bootstrap-vue.css
123121
# Icons only CSS
124122
cleancss --level 1 \
125-
--format breaksWith=lf \
126-
--source-map \
127-
--source-map-inline-sources \
128-
--output dist/bootstrap-vue-icons.min.css \
129-
dist/bootstrap-vue-icons.css
123+
--format breaksWith=lf \
124+
--source-map \
125+
--source-map-inline-sources \
126+
--output dist/bootstrap-vue-icons.min.css \
127+
dist/bootstrap-vue-icons.css
130128
echo 'Done.'
131129
echo ''
132130

scripts/icons.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
*/
44

55
// Include Bootstrap functions, variables, and mixins
6-
@import "node_modules/bootstrap/scss/functions";
7-
@import "node_modules/bootstrap/scss/variables";
8-
@import "node_modules/bootstrap/scss/mixins";
6+
@import "bootstrap/scss/functions";
7+
@import "bootstrap/scss/variables";
8+
@import "bootstrap/scss/mixins";
99

1010
// Import BootstrapVue Icons custom SCSS
1111
@import "../src/icons.scss";

scripts/index.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
*/
44

55
// Include Bootstrap functions, variables, and mixins
6-
@import "node_modules/bootstrap/scss/functions";
7-
@import "node_modules/bootstrap/scss/variables";
8-
@import "node_modules/bootstrap/scss/mixins";
6+
@import "bootstrap/scss/functions";
7+
@import "bootstrap/scss/variables";
8+
@import "bootstrap/scss/mixins";
99

1010
// Import BootstrapVue custom SCSS
1111
@import "../src/index.scss";

0 commit comments

Comments
 (0)
0