Core Features
- Multi-language SupportSupport for Less,Sass, CoffeeScript and Compass Framework.
- Real-time CompilationListening files, compile automatically when the file changes, that everything is running in the background without user action.
- Compile Options
- Project SettingsSupport for the project to create a global configuration, set the same compiler options for the files.
- Error NotificationIf encountered an error during compilation, koala will pop up the error message.
- Cross-platform
- SupportIn case you encounter an issue, you can open a ticket on Github. Also feature requests can be entered here: Github issue tracker
- Author- Contributors: 
 Max Deng, Leott Liu, Ziad El Khoury Hanna, 单炒饭 Microsoft silverlight for mac os.
- Donate- If you find my work useful and you want to encourage the development of more free resources, you can do it by donating.. 
The Sass migrator automatically updates your Sass files to help you move on to the latest and greatest version of the language. Each of its commands migrates a single feature, to give you as much control as possible over what you update and when.
Compliments of Manning.com is a standing 37% discount on Sass and Compass in Action. Use promo code sasscomp37 at manning.com on the MEAP, eBook and pBook of Sass and Compass in Action. All pBook purchases include free eFormats (PDF, ePub, and Kindle) as soon as available. Hate the Command Line? Buy Compass.app for Windows and Mac for just $10. Sass provides two syntax options - Sass, which omits the use of semicolons and brackets, and SCSS, which is written like vanilla CSS with added features. Frameworks such as Bourbon and Compass can be used to further extend Sass. Koala is a GUI application for Less, Sass, Compass and CoffeeScript compilation, to help web developers to use them more efficiently. Koala can run in windows, linux and mac.
Usage permalinkUsage
To use the Sass migrator, tell it which migration you want to run and what Sass files you want to migrate:
By default, the migrator will only change files that you explicitly pass on the command line. Passing the --migrate-deps option tells the migrator to also change all the stylesheets that are loaded using the @use rule, @forward rule, or @import rule. And if you want to do a test run to see what changes will be made without actually saving them, you can pass (or -nv for short).
Installation permalinkInstallation
You can install the Sass migrator from most of the same places that you can install Dart Sass:
Standalone permalinkStandalone
You can install the Sass migrator on Windows, Mac, or Linux by downloading the package for your operating system from GitHub and adding it to your PATH.
npm permalinknpm
If you use Node.js, you can also install the Sass migrator using npm by running
Chocolatey permalinkChocolatey
If you use the Chocolatey package manager for Windows, you can install the Sass migrator by running
Homebrew permalinkHomebrew
If you use the Homebrew package manager for Mac OS X, you can install Dart Sass by running
Global Options permalinkGlobal Options
These options are available for all migrators.
Sas For Mac
–migrate-deps permalink--migrate-deps
This option (abbreviated -d) tells the migrator to change not just the stylesheets that are explicitly passed on the command line, but also any stylesheets that they depend on using the @use rule, @forward rule, or @import rule.
⚠️ Heads up!
Format for mac and pc. The module migrator assumes that any stylesheet that is depended on using a @use rule or a @forward rule has already been migrated to the module system, so it won’t attempt to migrate them, even when the --migrate-deps option is passed.

–load-path permalink--load-path
This option (abbreviated -I) tells the migrator a load path where it should look for stylesheets. It can be passed multiple times to provide multiple load paths. Earlier load paths will take precedence over later ones.
Dependencies loaded from load paths are assumed to be third-party libraries, so the migrator will not migrate them even when the --migrate-deps option is passed.
–dry-run permalink--dry-run
This flag (abbreviated -n) tells the migrator not to save any changes to disk. It instead prints the list of files that it would have changed. This is commonly paired with the --verbose option to print the contents of the changes that would have been made as well.
–no-unicode permalink--no-unicode
This flag tells the Sass migrator only to emit ASCII characters to the terminal as part of error messages. By default, or if --unicode is passed, the migrator will emit non-ASCII characters for these messages. This flag does not affect the CSS output.
–verbose permalink--verbose
This flag (abbreviated -v) tells the migrator to print extra information to the console. By default, it just prints the name of files that are changed, but when combined with the --dry-run option it also prints those files’ new contents.
Migrations permalinkMigrations
The migrator currently supports only one migration, but expect more to come as the Sass language continues to evolve!
Module permalinkModule
This migration converts stylesheets that use the old @import rule to load dependencies so that they use the Sass module system via the @use rule instead. It doesn’t just naïvely change @imports to @uses—it updates stylesheets intelligently so that they keep working the same way they did before, including:
- Adding namespaces to uses of members (variables, mixins, and functions) from other modules. 
- Adding new - @userules to stylesheets that were using members without importing them.
- Converting overridden default variables to - withclauses.
- Automatically removing - -and- _prefixes from members that are used from other files (because otherwise they’d be considered private and could only be used in the module they’re declared).
- Converting nested imports to use the - meta.load-css()mixin instead.
⚠️ Heads up!
Because the module migrator may need to modify both member definitions and member names, it’s important to either run it with the --migrate-deps option or ensure that you pass it all the stylesheets in your package or application.
Loading Dependencies permalinkLoading Dependencies
The module migrator needs to be able to read all of the stylesheets depended on by the ones it’s migrating, even if the --migrate-deps option is not passed. If the migrator fails to find a dependency, you’ll get an error.
Sass Machine
If you use a load path when compiling your stylesheets, make sure to pass that to the migrator using the --load-path option.
Unfortunately, the migrator does not support custom importers, but it does have built-in support for resolving URLs starting with ~ by searching in node_modules, similar to what Webpack supports.
–remove-prefix permalink--remove-prefix
This option (abbreviated -p) takes an identifier prefix to remove from the beginning of all variable, mixin, and function names when they’re migrated. Members that don’t start with this prefix will remain unchanged.
The @import rule put all top-level members in one global scope, so when it was the standard way of loading stylesheets, everyone was incentivized to add prefixes to all their member names to avoid accidentally redefining some other stylesheet’s. The module system solves this problem, so it’s useful to automatically strip those old prefixes now that they’re unnecessary.
When you pass this option, the migrator will also generate an import-only stylesheet that forwards all the members with the prefix added back, to preserve backwards-compatibility for users who were importing the library.
This option may be passed multiple times, or with multiple values separated by commas. Each prefix will be removed from any members that have it. If a member matches multiple prefixes, the longest matching prefix will be removed.
–forward permalink--forward
This option tells the migrator which members to forward using the @forward rule. It supports the following settings:
- none(the default) doesn’t forward any members.
- allforwards all members except those that started with- -or- _in the original stylesheet, since that was commonly used to mark a package-private member before the module system was introduced.
- prefixedforwards only members that begin with the prefix passed to the- --remove-prefixoption. This option may only be used in conjunction with the- --remove-prefixoption.
All files that are passed explicitly on the command line will forward members that are transitively loaded by those files using the @import rule. Files loaded using the --migrate-deps option will not forward any new members. This option is particularly useful when migrating a Sass library, because it ensures that users of that library will still be able to access all the members it defines.
- Current Releases:
- Dart Sass1.27.0
- LibSass3.6.4
- Ruby Sass ⚰
