-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Breaking Changes #2305
Comments
Added some info. |
We're still adding a default extension of Lines 53 to 63 in 610972b
|
Oops. Thanks for noticing it. |
Context: I am currently upgrading a project from Jade to the newest Pug, and I am just dumping whatever bites me on the way here.
|
The CLI was removed in
That's true. I might just make it a noop. |
- progressing on client side development, it becomes opinionated on the point to decide whether to continue with pug as main template and employ a build tool to render html files on load to integrate AngularJS better and SCSS to css. - or revert the layout and other core views files to html with ejs - The back-end code is pending migration to Angular2-Universal or Angular2-MeteorJS for better, agile, isomorphic, universal dev, ES6 import instead of require('module').. - If MongoDB is used in the dev and prod,MEANJS stack or Angular2-MeteorJS framework can be used right away without having to go through hoops of engineering this NodeMySQL app - But as relational databases still prevail, NodeJS and MeteorJS dev requires some efforts wiring Sequelize and back-end RESTful coding to engineer the app
This issue lists known breaking changes from jade to pug@2.0.0. If you think you've found another breaking change, please open a separate issue so it can be triaged. I'm going to lock this issue to collaborators only.
General Changes
include
andextend
both default to adding a.pug
extension if there is no extension, rather than a.jade
extension. You should ideally rename all.jade
files to.pug
files, failing that you will need to explicitly add a.jade
extension toinclude
andextend
statements.Removed/Changed syntax
mixin foo('whatever')
+foo('whatever')
a(href="#{link}")
a(href='before#{link}after')
a(href=link)
a(href=`before${link}after`)
(on Node.js/io.js ≥ 1.0.0)a(href='before' + link + 'after')
(everywhere)- each a in b
each a in b
each
is not part of the JavaScript syntax, so the use ofeach
"keyword" in a JavaScript line is confusing as well as hackish (in terms of implementation). Simply remove-
and your code should work again.Changed Output
input(value=new Date())
<input value="Wed Apr 13 2016 14:36:25 GMT+0100 (BST)"/>
<input value="2016-04-13T13:36:25.000Z"/>
input(value={some: 'object'})
<input value="[object Object]"/>
<input value='{"some":"object"}'/>
data-
. We've made this more consistent.Removed APIs
Most of the removed APIs never should have been public in the first place: they make it possible to pollute modules visible in the global scope.
selfClosing
doctype
utils
utils.merge
is now unneeded in the Pug code base. If you need it there are many excellent object merge packages out there on npm.utils.stringify
has been split into a new package “js-stringify.”utils.walkAST
is now “pug-walk” package.Compiler
Parser
Lexer
nodes
type
.The text was updated successfully, but these errors were encountered: