npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

compass-loader

v0.0.4

Published

Compass loader for Webpack

Downloads

273

Readme

#This is 100% sourced code from sass-loader with slightly different dependencies. All credit to @jtangelder for sass-loader and @miniflycn for writing compass-node

If you do not need compass (various mixins and sprite generation, etc) then please see the sass-loader https://github.com/jtangelder/sass-loader

compass loader for webpack

####Warning This is all pretty beta stuff, I don't recommend using this in production just yet. Honestly you're better off using sass-loader and https://github.com/Igosuki/compass-mixins then add node_modules/compass-mixins/lib as an include path.

####You've been warned

Usage

Documentation: Using loaders

var css = require("!raw!compass!./file.scss");
// => returns compiled css code from file.scss, resolves imports
var css = require("!css!compass!./file.scss");
// => returns compiled css code from file.scss, resolves imports and url(...)s

Use in tandem with the style-loader to add the css rules to your document:

require("!style!css!compass!./file.scss");

webpack config

It's recommended to adjust your webpack.config so style!css!compass! is applied automatically on all files ending on .scss:

module.exports = {
  module: {
    loaders: [
      {
        test: /\.scss$/,
        // Query parameters are passed to node-sass
        loader: "style!css!compass?outputStyle=expanded&" +
          "includePaths[]=" +
            (path.resolve(__dirname, "./bower_components")) + "&" +
          "includePaths[]=" +
            (path.resolve(__dirname, "./node_modules"))
      }
    ]
  }
};

If you utilize sprites or anything that utilizes your config.rb images path then you'll need to pass in both imagePath and spriteDist paths.

var imagePath = path.resolve(__dirname, '../images'),
    spriteOutput = imagePath;
require("!style!raw!compass!./file.scss?imagePath=" + imagePath + "&spriteOutput=" + spriteOutput);

Comma separate imports are not supported.

@import "language", "another/module";

should be written as

@import "language";
@import "another/module";

Sorry.

Also this depends on the latest node-sass 2.0 beta to return all included files so we can tell webpack about dependencies. This may or may not work well, and also won't work when node-sass generates errors as it will not complete parsing the CSS and will not return all included files. To get this functionality sass-graph would have to be modified

Then you only need to write: require("./file.scss"). See node-sass for the available options.

Install

npm install compass-loader

Caveats

Currently the sass-loader does not follow all of the webpack loader guidelines. The general problem is that the entry scss-file is passed to node-sass which does pretty much the rest. Thus @import statements inside your scss-files cannot be resolved by webpack's resolver. However, there is an issue for that missing feature in libsass.

License

MIT (http://www.opensource.org/licenses/mit-license.php)