Start with NPM's helpful troubleshooting guide. If you continue to have problems, and you've tried Google searching but you're still stumped, please carefully review the updated Sails contribution guide and then create a GitHub issue in the Sails repo.
We have learned again and again over the years to take versioning of dependencies very seriously. We lock Sails's dependency versions and only bump those versions if the associated updates fix a security issue or present other substantive advantages to Sails users (improved compatibility, performance, etc.) In addition, the core maintainers of Sails are committed to fixing any major security, performance, or stability bugs that arise in any of our core dependencies-- regardless of whether those modules are officially maintained by another entity or not.
Sails is tested with node versions 0.10.x and up, though we recommend using at least Node v4.0.0. The framework is built on the rock-solid foundations of Express and Socket.io. Out of the box, it also depends on other great modules, like grunt
, waterline
, and fs-extra
. Click the badge above for the full list of dependencies in the latest stable release of Sails core.
Sails Flagship users: We manually verify every dependency of Sails and other officially-maintained modules by hand, every single week. This includes core hooks, adapters, generators, client SDKs, and Flagship packages. We regularly send security/compatibility reports about dependencies to the primary email address associated with your account. If you'd like additional people on your team to receive these reports, no problem! Just let us know their email addresses and we'll get them set up. (These email addresses will also receive communications about patches, shrinkwrap updates, and compatibility notices.)
If you have questions or concerns about our dependencies, talk to a core team member. Please do not submit a pull request changing the version of a dependency without first (1) checking that dependency's changelog, (2) verifying compatibility, and (3) submitting an accompanying PR to update roadstead, our dependency wallah.
Sails is used in production by individuals and companies, non-profits, and government entities all over the world, for all sorts of projects (greenfield and mature). You can see some examples here of companies that have used Sails for their projects. (This small list is definitely not authoritative, so if you're using Sails in your app/product/service, we'd love to hear about it!
The Sails Company offers custom development, services, training, enterprise-class products, and support for teams building applications on Sails.
Our studio provides development services for startups, SMBs, and the Fortune 500. As you might expect, the Sails core team has done a lot of custom Sails/Node.js development, but we also have experience across the full stack, including: advanced interaction design, practical/scalable JavaScript development practices for huge applications, and building rich user experiences across many different devices and screen resolutions.
We can build your app and API from scratch, modernize your legacy web platform, or catalyze the development efforts of your established team. If you're interested in working with us on your next project, drop us a line.
Sails Flagship is a platform on top of Sails which provides a suite of additional services, production-quality accoutrements, and support for enterprise use cases. This includes early access to new features and enhancements, a license for our internal tools, as well as exclusive reports and best-practice guides created by core maintainers. To learn more, set up a call (or purchase online now).
We are actively expanding this product offering with new additions and official re-releases of some formerly-experimental modules. If you have specific suggestions/requests for new Flagship packages, please let us know.
The Sails Company also provides a lifeline for organizations using Sails to build their products. If you need guaranteed support in the event of a critical production issue, or just want an extra pair of eyes looking out for your code base during development, take a look at our basic subscriptions, or contact us and we'll give you a call.
Aside from the official documentation, be sure and check out the recommended support options on the Sails website, and pop in to our Gitter chat room. If you're stumped, make sure and ask a question on StackOverflow, where there's an active Sails community. Members of our core team recently taught a free video course on Platzi and wrote a book.
If you're using Sails Flagship, you can contact the core team here.
If you are the author of a tutorial or guide about Sails, please send us a pull request here and we'll check it out. (Be sure to add your tutorial to the top of the applicable list, as we try to order these from newest to oldest.)
- If you are the author of an article about Sails, please send us a pull request here. We'll check it out!
- If you are a company interested in doing a press release about Sails, please contact @mikermcneil on Twitter. We'll do what we can to help.
The Sails project tracks bug reports in GitHub issues and uses pull requests for feature proposals. Please read the contribution guide before you create an issue, submit a proposal, or begin working on pull request.
Unless you are a contributor running a pre-release version of the framework in order to do some testing or work on core, you should use the latest stable version of Sails from NPM (click the badge above). Installing is easy- just follow these instructions.
Note: to install/upgrade to the latest version of Sails locally in an existing project, run
npm install sails@latest --force
. If you are having trouble and are looking for a bazooka, you might also want to runrm -rf node_modules && npm cache clear && npm install sails@latest --force && npm install
.
If you are looking to install a pre-release version of Sails, you can install from the beta
tag on npm (i.e. npm install sails@beta
). This is a great way to try out a coming release ahead of time and start upgrading before the release becomes official. The beta npm release candidate corresponds with the beta
branch in the Sails repo.
Finally, if you like living on the edge, or you're working on adding a feature or fixing a bug in Sails, install the edge version from the master
branch on github. The edge version is not published on the registry since it's constantly under development, but you can still use npm to install it (e.g. npm install sails@git://github.com/balderdashy/sails.git
)
For more instructions on installing the beta and edge versions of Sails, check out the contribution guide.
There are many different ways to contribute to Sails; for example you could help us improve the official documentation, write a plugin, answer StackOverflow questions, start a Sails meetup, help troubleshoot GitHub issues, write some tests, or submit a patch to Sails core or one of its dependencies. Please look through the contribution guide before you get started. It's a short read that covers guidelines and best practices that ensure your hard work will have the maximum impact.
The documentation is compiled from the markdown files in the sails-docs
repo on github. A number of Sails users have expressed interest in emulating the process we use to generate the pages on the Sails website. Good news is it's pretty simple: The compilation process for the Sails docs involves generating HTML from Markdown files in the sails-docs repo, then performing some additional transformations such as adding data type bubbles, tagging permalinks for individual sections of pages, building JSON data to power the side navigation menu and setting HTML <title>
attributes for better search engine discoverability of individual doc pages. See the doc-templater module for more information.
The documentation on the main website is for the latest stable npm release of Sails, and is mirrored by the master branch of the sails-docs
repo on github (Master is sometimes a few commits ahead, but any critical documentation updates make it onto the website within a day or two.)
For older releases of Sails that are still widely used, the documentation is compiled from the relevant sails-docs
branches and hosted on the following subdomains: