Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
bootstrap-sass-loader
Advanced tools
We're moving to a new project name and slightly different file format.
The new npm libs and corresponding github repos are:
This new system is currently used by the live demo of reactrails.com. You can find the source code here: shakacode/react-webpack-rails-tutorial.
That being said, the current version will probably keep working, so there's no urgency to upgrade.
bootstrap-loader
as an entry point. Or you might configure bootstrap-loader/extractStyles
as an entry point, as shown here. Note, you no longer specify the name of your bootstrap customization file..bootstraprc
. See sample file .bootstraprc-3-default for how to migrate your existing bootstrap-sass-config
file.Bootstrap configuration and loading package for webpack, using the npm packages bootstrap-sass
and sass-loader
.
Install from bootstrap-sass-loader on npm.
If you're looking for the less version, see bootstrap-webpack. This project is based on that version for less, with some minor differences, the main one being how the configuration file specifies two sass files for customization.
In a nutshell:
/node_modules/bootstrap-sass/assets
.You can find an example of using this:
shakacode/bootstrap-sass-loader-example
Note, bootstrap-sass
must be installed locally inside of ../node_modules
or a parent directories node_modules
directory relative to the loaded config file.
The version of sass-bootstrap used is listed in peerDependencies, so you should be able to use whichever version you like.
Simply specify that version of bootstrap-sass
in your package.json
, like this:
"bootstrap-sass": "~3.3.1"
To use the complete bootstrap package including styles and scripts with the default settings:
require("bootstrap-sass-loader");
The disadvantage to using this setup is that you can't:
bootstrap-sass.config.js
to your project. You will specify the file path in the require
statement.preBootstrapCustomizations
and bootstrapCustomizations
, and your main Sass file that can depend on Bootstrap variables, plus your customizations.
Any of these 3 files are optional. You may also remove any Sass or Js modules that you don't need.Next, you should specify this as an entry point:
module.exports = {
entry: [
"bootstrap-sass!./path/to/bootstrap-sass.config.js"
]
Or a dependency within a file, like you'd specify other webpack dependencies:
require("bootstrap-sass!./path/to/bootstrap-sass.config.js");
bootstrap-sass.config.js
Here's a sample configuration file. The file included in the bootstrap-sass-loader git repo
has many more options. The two customization files, bootstrapCustomizations
and mainSass
are optional.
module.exports = {
bootstrapCustomizations: "./bootstrap-customizations.scss",
mainSass: "./main.scss", // path to your main SASS file (optional)
verbose: true, // print out your custom files used
debug: false, // print out the full generated scss file
styleLoader: "style-loader!css-loader!sass-loader", // see example for the ExtractTextPlugin
scripts: {
// add every bootstrap script you need
'transition': true
},
styles: {
// add every bootstrap style you need
"mixins": true,
"normalize": true,
"print": true,
"scaffolding": true,
"type": true,
}
};
Bootstrap use some fonts. You need to configure the correct loaders in your webpack.config.js
.
Take a look at example https://github.com/shakacode/react-webpack-rails-tutorial which uses custom fonts with the bootstrap-sass-loader. You'll need to create define a font-face like this:
@font-face {
font-family: 'OpenSans-Light';
src: url('assets/fonts/OpenSans-Light.ttf') format('truetype');
}
module.exports = {
module: {
loaders: [
// **IMPORTANT** This is needed so that each bootstrap js file required by
// bootstrap-webpack has access to the jQuery object
{ test: /bootstrap\/js\//, loader: 'imports?jQuery=jquery' },
// Needed for the css-loader when [bootstrap-webpack](https://github.com/bline/bootstrap-webpack)
// loads bootstrap's css.
{ test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream" },
{ test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file" },
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml" }
]
}
};
PATH=$(npm bin):$PATH webpack --config webpack.rails.config.js
Alternate, you can put $(npm bin) in your path. Basically if you run type webpack
and the path is your global one, then
you may have issues.
plugins: [
new ExtractTextPlugin("../stylesheets/bootstrap-and-customizations.css")
]
npm i bootstrap-sass
in the directory where you have the bootstrap-sass-loader
. This is because
the location of bootstap-sass is found relative to the bootstrap-sass-loader
and if you linked it and it's not not
there, then you'll bet this error: "Error: Could not find path to bootstrap-sass. Check to see that it's in a parent
directory of config file containing node_modules/bootstrap-sass".Then in the bootstrap-sass-loader-example project:
gulp webpack
to invoke the loader.gulp build
and open the resulting file dist/index.html in the browser.gulp test
to confirm the changes work.Pull requests are welcome!
For more info see: http://www.railsonmaui.com and http://forum.railsonmaui.com.
eslint .
release-it
FAQs
bootstrap-sass package for webpack
The npm package bootstrap-sass-loader receives a total of 167 weekly downloads. As such, bootstrap-sass-loader popularity was classified as not popular.
We found that bootstrap-sass-loader demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.