stylus-source 0.15.4 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/Rakefile +39 -0
- data/VERSION +1 -0
- data/lib/stylus/source.rb +1 -1
- data/stylus-source.gemspec +2 -2
- data/vendor/History.md +525 -0
- data/vendor/LICENSE +22 -0
- data/vendor/Makefile +20 -0
- data/vendor/Readme.md +127 -0
- data/vendor/bin/stylus +606 -0
- data/vendor/bm.js +22 -0
- data/vendor/docs/bifs.md +582 -0
- data/vendor/docs/comments.md +35 -0
- data/vendor/docs/compare.md +81 -0
- data/vendor/docs/conditionals.md +107 -0
- data/vendor/docs/css-style.md +77 -0
- data/vendor/docs/error-reporting.md +50 -0
- data/vendor/docs/escape.md +27 -0
- data/vendor/docs/executable.md +159 -0
- data/vendor/docs/firebug.md +60 -0
- data/vendor/docs/font-face.md +26 -0
- data/vendor/docs/functions.md +192 -0
- data/vendor/docs/functions.url.md +30 -0
- data/vendor/docs/gedit.md +24 -0
- data/vendor/docs/import.md +73 -0
- data/vendor/docs/interpolation.md +55 -0
- data/vendor/docs/introspection.md +39 -0
- data/vendor/docs/iteration.md +100 -0
- data/vendor/docs/js.md +136 -0
- data/vendor/docs/keyframes.md +120 -0
- data/vendor/docs/kwargs.md +35 -0
- data/vendor/docs/literal.md +16 -0
- data/vendor/docs/media.md +18 -0
- data/vendor/docs/middleware.md +73 -0
- data/vendor/docs/mixins.md +130 -0
- data/vendor/docs/operators.md +451 -0
- data/vendor/docs/selectors.md +131 -0
- data/vendor/docs/textmate.md +4 -0
- data/vendor/docs/vargs.md +84 -0
- data/vendor/docs/variables.md +78 -0
- data/vendor/editors/Stylus.tmbundle/Commands/Compile and Display CSS.tmCommand +33 -0
- data/vendor/editors/Stylus.tmbundle/Preferences/Comments.tmPreferences +36 -0
- data/vendor/editors/Stylus.tmbundle/Syntaxes/Stylus.tmLanguage +166 -0
- data/vendor/editors/Stylus.tmbundle/info.plist +10 -0
- data/vendor/editors/gedit/styl.lang +475 -0
- data/vendor/examples/arithmetic.js +12 -0
- data/vendor/examples/arithmetic.styl +29 -0
- data/vendor/examples/basic.js +12 -0
- data/vendor/examples/basic.styl +8 -0
- data/vendor/examples/builtins.js +12 -0
- data/vendor/examples/builtins.styl +56 -0
- data/vendor/examples/comments.js +11 -0
- data/vendor/examples/comments.styl +15 -0
- data/vendor/examples/compress.js +12 -0
- data/vendor/examples/conversions.js +12 -0
- data/vendor/examples/conversions.styl +34 -0
- data/vendor/examples/functions.js +12 -0
- data/vendor/examples/functions.styl +30 -0
- data/vendor/examples/gradients.js +13 -0
- data/vendor/examples/gradients.styl +8 -0
- data/vendor/examples/images/gopher.jpg +0 -0
- data/vendor/examples/images/gradient.svg +9 -0
- data/vendor/examples/images/jesus.gif +0 -0
- data/vendor/examples/images/sprite.gif +0 -0
- data/vendor/examples/images.js +20 -0
- data/vendor/examples/images.styl +15 -0
- data/vendor/examples/implicit-functions.js +12 -0
- data/vendor/examples/implicit-functions.styl +23 -0
- data/vendor/examples/import.js +12 -0
- data/vendor/examples/import.styl +11 -0
- data/vendor/examples/js-functions.js +55 -0
- data/vendor/examples/js-functions.styl +23 -0
- data/vendor/examples/literal.js +12 -0
- data/vendor/examples/literal.styl +8 -0
- data/vendor/examples/middleware.js +23 -0
- data/vendor/examples/mixins/box.styl +14 -0
- data/vendor/examples/mixins/gradients.styl +92 -0
- data/vendor/examples/nesting.js +12 -0
- data/vendor/examples/nesting.styl +14 -0
- data/vendor/examples/variables.js +12 -0
- data/vendor/examples/variables.styl +24 -0
- data/vendor/index.js +2 -0
- data/{lib/stylus → vendor/lib}/colors.js +0 -0
- data/{lib/stylus → vendor/lib}/convert/css.js +0 -0
- data/{lib/stylus → vendor/lib}/errors.js +0 -0
- data/{lib/stylus → vendor/lib}/functions/image.js +0 -0
- data/{lib/stylus → vendor/lib}/functions/index.js +0 -0
- data/{lib/stylus → vendor/lib}/functions/index.styl +11 -2
- data/{lib/stylus → vendor/lib}/functions/url.js +0 -0
- data/{lib/stylus → vendor/lib}/lexer.js +14 -1
- data/{lib/stylus → vendor/lib}/middleware.js +5 -1
- data/{lib/stylus → vendor/lib}/nodes/arguments.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/binop.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/block.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/boolean.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/call.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/charset.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/comment.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/each.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/expression.js +32 -0
- data/{lib/stylus → vendor/lib}/nodes/fontface.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/function.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/group.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/hsla.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/ident.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/if.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/import.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/index.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/jsliteral.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/keyframes.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/literal.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/media.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/node.js +14 -0
- data/{lib/stylus → vendor/lib}/nodes/null.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/page.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/params.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/property.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/return.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/rgba.js +4 -2
- data/{lib/stylus → vendor/lib}/nodes/root.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/selector.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/string.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/ternary.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/unaryop.js +0 -0
- data/{lib/stylus → vendor/lib}/nodes/unit.js +0 -0
- data/{lib/stylus → vendor/lib}/parser.js +17 -2
- data/{lib/stylus → vendor/lib}/renderer.js +0 -0
- data/{lib/stylus → vendor/lib}/stack/frame.js +0 -0
- data/{lib/stylus → vendor/lib}/stack/index.js +0 -0
- data/{lib/stylus → vendor/lib}/stack/scope.js +0 -0
- data/{lib/stylus → vendor/lib}/stylus.js +1 -1
- data/{lib/stylus → vendor/lib}/token.js +0 -0
- data/{lib/stylus → vendor/lib}/utils.js +0 -0
- data/{lib/stylus → vendor/lib}/visitor/compiler.js +1 -0
- data/{lib/stylus → vendor/lib}/visitor/evaluator.js +9 -3
- data/{lib/stylus → vendor/lib}/visitor/index.js +0 -0
- data/{lib → vendor}/node_modules/cssom/Jakefile +0 -0
- data/{lib → vendor}/node_modules/cssom/README.mdown +0 -0
- data/{lib → vendor}/node_modules/cssom/Rakefile +0 -0
- data/{lib → vendor}/node_modules/cssom/docs/bar.css +0 -0
- data/{lib → vendor}/node_modules/cssom/docs/demo.css +0 -0
- data/{lib → vendor}/node_modules/cssom/docs/foo.css +0 -0
- data/{lib → vendor}/node_modules/cssom/docs/parse.html +0 -0
- data/{lib → vendor}/node_modules/cssom/docs/parse2.html +0 -0
- data/{lib → vendor}/node_modules/cssom/index.html +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSImportRule.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSMediaRule.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSOM.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSRule.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSStyleDeclaration.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSStyleRule.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/CSSStyleSheet.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/MediaList.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/StyleSheet.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/clone.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/index.js +0 -0
- data/{lib → vendor}/node_modules/cssom/lib/parse.js +0 -0
- data/{lib → vendor}/node_modules/cssom/media.html +0 -0
- data/{lib → vendor}/node_modules/cssom/package.json +0 -0
- data/{lib → vendor}/node_modules/cssom/plugins/toHTML.js +0 -0
- data/{lib → vendor}/node_modules/cssom/server/index.html +0 -0
- data/{lib → vendor}/node_modules/cssom/server/index.js +0 -0
- data/{lib → vendor}/node_modules/cssom/shorthands.html +0 -0
- data/{lib → vendor}/node_modules/cssom/test/CSSStyleDeclaration.test.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/CSSStyleRule.test.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/CSSStyleSheet.test.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/MediaList.test.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/clone.test.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/fixtures/dummy.css +0 -0
- data/{lib → vendor}/node_modules/cssom/test/helper.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/index.html +0 -0
- data/{lib → vendor}/node_modules/cssom/test/parse.test.js +0 -0
- data/{lib → vendor}/node_modules/cssom/test/vendor/qunit.css +0 -0
- data/{lib → vendor}/node_modules/cssom/test/vendor/qunit.js +0 -0
- data/{lib → vendor}/node_modules/growl/History.md +0 -0
- data/{lib → vendor}/node_modules/growl/Readme.md +0 -0
- data/{lib → vendor}/node_modules/growl/lib/growl.js +0 -0
- data/{lib → vendor}/node_modules/growl/package.json +0 -0
- data/{lib → vendor}/node_modules/growl/test.js +0 -0
- data/vendor/node_modules/mkdirp/LICENSE +21 -0
- data/vendor/node_modules/mkdirp/README.markdown +21 -0
- data/vendor/node_modules/mkdirp/examples/pow.js +6 -0
- data/vendor/node_modules/mkdirp/examples/pow.js.orig +6 -0
- data/vendor/node_modules/mkdirp/examples/pow.js.rej +19 -0
- data/vendor/node_modules/mkdirp/index.js +20 -0
- data/vendor/node_modules/mkdirp/package.json +23 -0
- data/vendor/node_modules/mkdirp/test/mkdirp.js +28 -0
- data/vendor/node_modules/mkdirp/test/race.js +41 -0
- data/vendor/node_modules/mkdirp/test/rel.js +32 -0
- data/vendor/package.json +16 -0
- data/vendor/test/cases/arithmetic.color.css +44 -0
- data/vendor/test/cases/arithmetic.color.styl +48 -0
- data/vendor/test/cases/arithmetic.css +23 -0
- data/vendor/test/cases/arithmetic.styl +30 -0
- data/vendor/test/cases/arithmetic.unary.css +16 -0
- data/vendor/test/cases/arithmetic.unary.styl +16 -0
- data/vendor/test/cases/atscope.css +21 -0
- data/vendor/test/cases/atscope.styl +23 -0
- data/vendor/test/cases/bifs.add-property.css +21 -0
- data/vendor/test/cases/bifs.add-property.styl +48 -0
- data/vendor/test/cases/bifs.components.css +9 -0
- data/vendor/test/cases/bifs.components.styl +9 -0
- data/vendor/test/cases/bifs.dark.css +5 -0
- data/vendor/test/cases/bifs.dark.styl +4 -0
- data/vendor/test/cases/bifs.darken.css +8 -0
- data/vendor/test/cases/bifs.darken.styl +9 -0
- data/vendor/test/cases/bifs.fade.css +6 -0
- data/vendor/test/cases/bifs.fade.styl +6 -0
- data/vendor/test/cases/bifs.image-size.css +9 -0
- data/vendor/test/cases/bifs.image-size.styl +16 -0
- data/vendor/test/cases/bifs.join.css +18 -0
- data/vendor/test/cases/bifs.join.styl +21 -0
- data/vendor/test/cases/bifs.last.css +5 -0
- data/vendor/test/cases/bifs.last.styl +6 -0
- data/vendor/test/cases/bifs.length.css +10 -0
- data/vendor/test/cases/bifs.length.styl +18 -0
- data/vendor/test/cases/bifs.light.css +5 -0
- data/vendor/test/cases/bifs.light.styl +4 -0
- data/vendor/test/cases/bifs.lighten.css +14 -0
- data/vendor/test/cases/bifs.lighten.styl +14 -0
- data/vendor/test/cases/bifs.lookup.css +3 -0
- data/vendor/test/cases/bifs.lookup.styl +8 -0
- data/vendor/test/cases/bifs.match.css +4 -0
- data/vendor/test/cases/bifs.match.styl +9 -0
- data/vendor/test/cases/bifs.opposite-position.css +8 -0
- data/vendor/test/cases/bifs.opposite-position.styl +9 -0
- data/vendor/test/cases/bifs.push.css +25 -0
- data/vendor/test/cases/bifs.push.styl +48 -0
- data/vendor/test/cases/bifs.rgba.css +5 -0
- data/vendor/test/cases/bifs.rgba.styl +4 -0
- data/vendor/test/cases/bifs.s.css +11 -0
- data/vendor/test/cases/bifs.s.styl +12 -0
- data/vendor/test/cases/bifs.type.css +11 -0
- data/vendor/test/cases/bifs.type.styl +12 -0
- data/vendor/test/cases/bifs.unit.css +6 -0
- data/vendor/test/cases/bifs.unit.styl +5 -0
- data/vendor/test/cases/bifs.unquote.css +5 -0
- data/vendor/test/cases/bifs.unquote.styl +8 -0
- data/vendor/test/cases/bifs.url.css +11 -0
- data/vendor/test/cases/bifs.url.styl +15 -0
- data/vendor/test/cases/coercion.css +6 -0
- data/vendor/test/cases/coercion.styl +5 -0
- data/vendor/test/cases/comments.css +18 -0
- data/vendor/test/cases/comments.styl +28 -0
- data/vendor/test/cases/compress.comments.css +2 -0
- data/vendor/test/cases/compress.comments.styl +5 -0
- data/vendor/test/cases/compress.units.css +2 -0
- data/vendor/test/cases/compress.units.styl +18 -0
- data/vendor/test/cases/conditional-assignment.css +4 -0
- data/vendor/test/cases/conditional-assignment.styl +9 -0
- data/vendor/test/cases/control.blueprint.ie.css +126 -0
- data/vendor/test/cases/control.blueprint.ie.styl +36 -0
- data/vendor/test/cases/control.blueprint.screen.css +1103 -0
- data/vendor/test/cases/control.blueprint.screen.styl +265 -0
- data/vendor/test/cases/control.boilerplate.css +473 -0
- data/vendor/test/cases/control.boilerplate.styl +265 -0
- data/vendor/test/cases/css.functions.single-line.css +9 -0
- data/vendor/test/cases/css.functions.single-line.styl +13 -0
- data/vendor/test/cases/css.if.css +8 -0
- data/vendor/test/cases/css.if.styl +21 -0
- data/vendor/test/cases/css.keyframes.css +57 -0
- data/vendor/test/cases/css.keyframes.styl +48 -0
- data/vendor/test/cases/css.large.css +172 -0
- data/vendor/test/cases/css.large.styl +172 -0
- data/vendor/test/cases/css.media.css +15 -0
- data/vendor/test/cases/css.media.styl +17 -0
- data/vendor/test/cases/css.mixins.braces.css +38 -0
- data/vendor/test/cases/css.mixins.braces.styl +53 -0
- data/vendor/test/cases/css.mixins.css +38 -0
- data/vendor/test/cases/css.mixins.root.css +26 -0
- data/vendor/test/cases/css.mixins.root.styl +25 -0
- data/vendor/test/cases/css.mixins.root.wonky.css +26 -0
- data/vendor/test/cases/css.mixins.root.wonky.styl +17 -0
- data/vendor/test/cases/css.mixins.styl +47 -0
- data/vendor/test/cases/css.selector.interpolation.css +91 -0
- data/vendor/test/cases/css.selector.interpolation.styl +90 -0
- data/vendor/test/cases/css.selectors.css +38 -0
- data/vendor/test/cases/css.selectors.styl +53 -0
- data/vendor/test/cases/css.whitespace.css +37 -0
- data/vendor/test/cases/css.whitespace.styl +38 -0
- data/vendor/test/cases/escape.css +4 -0
- data/vendor/test/cases/escape.styl +4 -0
- data/vendor/test/cases/fontface.css +4 -0
- data/vendor/test/cases/fontface.styl +5 -0
- data/vendor/test/cases/for.complex.css +44 -0
- data/vendor/test/cases/for.complex.styl +28 -0
- data/vendor/test/cases/for.css +52 -0
- data/vendor/test/cases/for.function.css +20 -0
- data/vendor/test/cases/for.function.styl +51 -0
- data/vendor/test/cases/for.styl +44 -0
- data/vendor/test/cases/function.arguments.css +4 -0
- data/vendor/test/cases/function.arguments.styl +14 -0
- data/vendor/test/cases/function.literals.css +6 -0
- data/vendor/test/cases/function.literals.styl +12 -0
- data/vendor/test/cases/functions.arg-calls.css +3 -0
- data/vendor/test/cases/functions.arg-calls.styl +9 -0
- data/vendor/test/cases/functions.call.css +4 -0
- data/vendor/test/cases/functions.call.styl +7 -0
- data/vendor/test/cases/functions.css +11 -0
- data/vendor/test/cases/functions.defaults.css +15 -0
- data/vendor/test/cases/functions.defaults.styl +30 -0
- data/vendor/test/cases/functions.multi-line.css +9 -0
- data/vendor/test/cases/functions.multi-line.styl +25 -0
- data/vendor/test/cases/functions.multiple-calls.css +13 -0
- data/vendor/test/cases/functions.multiple-calls.styl +26 -0
- data/vendor/test/cases/functions.nested-calls.css +3 -0
- data/vendor/test/cases/functions.nested-calls.styl +9 -0
- data/vendor/test/cases/functions.nested.css +10 -0
- data/vendor/test/cases/functions.nested.styl +37 -0
- data/vendor/test/cases/functions.property.css +10 -0
- data/vendor/test/cases/functions.property.styl +11 -0
- data/vendor/test/cases/functions.return.css +15 -0
- data/vendor/test/cases/functions.return.each.css +10 -0
- data/vendor/test/cases/functions.return.each.styl +23 -0
- data/vendor/test/cases/functions.return.styl +86 -0
- data/vendor/test/cases/functions.styl +34 -0
- data/vendor/test/cases/functions.variable.css +9 -0
- data/vendor/test/cases/functions.variable.ident.css +3 -0
- data/vendor/test/cases/functions.variable.ident.styl +11 -0
- data/vendor/test/cases/functions.variable.styl +27 -0
- data/vendor/test/cases/hack.star.css +27 -0
- data/vendor/test/cases/hack.star.styl +37 -0
- data/vendor/test/cases/if.css +43 -0
- data/vendor/test/cases/if.else.css +6 -0
- data/vendor/test/cases/if.else.styl +16 -0
- data/vendor/test/cases/if.mixin.css +7 -0
- data/vendor/test/cases/if.mixin.styl +24 -0
- data/vendor/test/cases/if.postfix.css +61 -0
- data/vendor/test/cases/if.postfix.styl +110 -0
- data/vendor/test/cases/if.selectors.css +16 -0
- data/vendor/test/cases/if.selectors.styl +22 -0
- data/vendor/test/cases/if.styl +99 -0
- data/vendor/test/cases/import.basic/a.styl +5 -0
- data/vendor/test/cases/import.basic/b.styl +5 -0
- data/vendor/test/cases/import.basic/c.styl +3 -0
- data/vendor/test/cases/import.basic.css +11 -0
- data/vendor/test/cases/import.basic.styl +4 -0
- data/vendor/test/cases/import.complex/a.styl +4 -0
- data/vendor/test/cases/import.complex/c.styl +2 -0
- data/vendor/test/cases/import.complex/nested/b.styl +4 -0
- data/vendor/test/cases/import.complex.css +9 -0
- data/vendor/test/cases/import.complex.styl +1 -0
- data/vendor/test/cases/import.index/vendor/a.styl +2 -0
- data/vendor/test/cases/import.index/vendor/b.styl +2 -0
- data/vendor/test/cases/import.index/vendor/c.styl +2 -0
- data/vendor/test/cases/import.index/vendor/index.styl +4 -0
- data/vendor/test/cases/import.index.css +9 -0
- data/vendor/test/cases/import.index.styl +2 -0
- data/vendor/test/cases/import.literal.css +2 -0
- data/vendor/test/cases/import.literal.styl +3 -0
- data/vendor/test/cases/import.mixins.css +7 -0
- data/vendor/test/cases/import.mixins.styl +9 -0
- data/vendor/test/cases/import.ordering/five.styl +2 -0
- data/vendor/test/cases/import.ordering/four.styl +4 -0
- data/vendor/test/cases/import.ordering/two.styl +2 -0
- data/vendor/test/cases/import.ordering.css +15 -0
- data/vendor/test/cases/import.ordering.styl +12 -0
- data/vendor/test/cases/important.css +6 -0
- data/vendor/test/cases/important.styl +6 -0
- data/vendor/test/cases/interpolation.properties.css +40 -0
- data/vendor/test/cases/interpolation.properties.styl +56 -0
- data/vendor/test/cases/introspection.css +7 -0
- data/vendor/test/cases/introspection.styl +14 -0
- data/vendor/test/cases/jquery.css +3 -0
- data/vendor/test/cases/jquery.styl +5 -0
- data/vendor/test/cases/keyframes.css +9 -0
- data/vendor/test/cases/keyframes.fabrication.css +18 -0
- data/vendor/test/cases/keyframes.fabrication.defaults.css +45 -0
- data/vendor/test/cases/keyframes.fabrication.defaults.styl +9 -0
- data/vendor/test/cases/keyframes.fabrication.styl +11 -0
- data/vendor/test/cases/keyframes.styl +6 -0
- data/vendor/test/cases/kwargs.css +63 -0
- data/vendor/test/cases/kwargs.styl +74 -0
- data/vendor/test/cases/list.css +3 -0
- data/vendor/test/cases/list.styl +3 -0
- data/vendor/test/cases/literal.color.css +6 -0
- data/vendor/test/cases/literal.color.styl +5 -0
- data/vendor/test/cases/literal.css +10 -0
- data/vendor/test/cases/literal.styl +18 -0
- data/vendor/test/cases/media.css +14 -0
- data/vendor/test/cases/media.styl +11 -0
- data/vendor/test/cases/mixin.conditional.css +19 -0
- data/vendor/test/cases/mixin.conditional.styl +36 -0
- data/vendor/test/cases/mixin.order.conditional.css +11 -0
- data/vendor/test/cases/mixin.order.conditional.styl +20 -0
- data/vendor/test/cases/mixin.order.css +9 -0
- data/vendor/test/cases/mixin.order.nested.css +9 -0
- data/vendor/test/cases/mixin.order.nested.styl +21 -0
- data/vendor/test/cases/mixin.order.styl +20 -0
- data/vendor/test/cases/mixins/box.styl +11 -0
- data/vendor/test/cases/mixins.complex.css +30 -0
- data/vendor/test/cases/mixins.complex.fix-to.css +15 -0
- data/vendor/test/cases/mixins.complex.fix-to.styl +28 -0
- data/vendor/test/cases/mixins.complex.styl +41 -0
- data/vendor/test/cases/mixins.conditional.css +3 -0
- data/vendor/test/cases/mixins.conditional.styl +8 -0
- data/vendor/test/cases/mixins.nested.css +7 -0
- data/vendor/test/cases/mixins.nested.selectors.css +21 -0
- data/vendor/test/cases/mixins.nested.selectors.styl +31 -0
- data/vendor/test/cases/mixins.nested.styl +14 -0
- data/vendor/test/cases/mixins.order.2.css +11 -0
- data/vendor/test/cases/mixins.order.2.styl +16 -0
- data/vendor/test/cases/mixins.reset.css +75 -0
- data/vendor/test/cases/mixins.reset.styl +27 -0
- data/vendor/test/cases/mixins.return.css +4 -0
- data/vendor/test/cases/mixins.return.styl +8 -0
- data/vendor/test/cases/mixins.root.css +3 -0
- data/vendor/test/cases/mixins.root.styl +5 -0
- data/vendor/test/cases/operator.range.css +15 -0
- data/vendor/test/cases/operator.range.styl +23 -0
- data/vendor/test/cases/operators.assignment.function.css +15 -0
- data/vendor/test/cases/operators.assignment.function.styl +34 -0
- data/vendor/test/cases/operators.assignment.mixin.css +15 -0
- data/vendor/test/cases/operators.assignment.mixin.styl +39 -0
- data/vendor/test/cases/operators.assignment.root.css +25 -0
- data/vendor/test/cases/operators.assignment.root.styl +55 -0
- data/vendor/test/cases/operators.complex.css +9 -0
- data/vendor/test/cases/operators.complex.styl +32 -0
- data/vendor/test/cases/operators.css +40 -0
- data/vendor/test/cases/operators.equality.css +55 -0
- data/vendor/test/cases/operators.equality.styl +55 -0
- data/vendor/test/cases/operators.in.css +37 -0
- data/vendor/test/cases/operators.in.styl +51 -0
- data/vendor/test/cases/operators.mixins.css +10 -0
- data/vendor/test/cases/operators.mixins.styl +25 -0
- data/vendor/test/cases/operators.precedence.css +51 -0
- data/vendor/test/cases/operators.precedence.styl +82 -0
- data/vendor/test/cases/operators.styl +96 -0
- data/vendor/test/cases/operators.subscript.assign.css +21 -0
- data/vendor/test/cases/operators.subscript.assign.styl +45 -0
- data/vendor/test/cases/operators.subscript.css +59 -0
- data/vendor/test/cases/operators.subscript.range.css +14 -0
- data/vendor/test/cases/operators.subscript.range.styl +15 -0
- data/vendor/test/cases/operators.subscript.styl +81 -0
- data/vendor/test/cases/page.css +13 -0
- data/vendor/test/cases/page.styl +13 -0
- data/vendor/test/cases/parent.css +32 -0
- data/vendor/test/cases/parent.styl +33 -0
- data/vendor/test/cases/properties.colons.css +8 -0
- data/vendor/test/cases/properties.colons.styl +10 -0
- data/vendor/test/cases/properties.css +4 -0
- data/vendor/test/cases/properties.one-line.css +10 -0
- data/vendor/test/cases/properties.one-line.styl +11 -0
- data/vendor/test/cases/properties.styl +4 -0
- data/vendor/test/cases/property-access.css +48 -0
- data/vendor/test/cases/property-access.styl +62 -0
- data/vendor/test/cases/regression.107.lookup-failure.css +12 -0
- data/vendor/test/cases/regression.107.lookup-failure.styl +13 -0
- data/vendor/test/cases/regression.127.css +3 -0
- data/vendor/test/cases/regression.127.styl +2 -0
- data/vendor/test/cases/regression.130.css +16 -0
- data/vendor/test/cases/regression.130.styl +6 -0
- data/vendor/test/cases/regression.131.css +7 -0
- data/vendor/test/cases/regression.131.styl +2 -0
- data/vendor/test/cases/regression.137.css +7 -0
- data/vendor/test/cases/regression.137.styl +7 -0
- data/vendor/test/cases/regression.139.css +5 -0
- data/vendor/test/cases/regression.139.styl +21 -0
- data/vendor/test/cases/regression.142.css +39 -0
- data/vendor/test/cases/regression.142.styl +54 -0
- data/vendor/test/cases/regression.146.css +30 -0
- data/vendor/test/cases/regression.146.styl +31 -0
- data/vendor/test/cases/regression.153.css +8 -0
- data/vendor/test/cases/regression.153.styl +9 -0
- data/vendor/test/cases/regression.154.css +8 -0
- data/vendor/test/cases/regression.154.styl +14 -0
- data/vendor/test/cases/regression.156.css +4 -0
- data/vendor/test/cases/regression.156.styl +6 -0
- data/vendor/test/cases/regression.212.css +15 -0
- data/vendor/test/cases/regression.212.styl +14 -0
- data/vendor/test/cases/regression.216.css +10 -0
- data/vendor/test/cases/regression.216.styl +8 -0
- data/vendor/test/cases/regression.220.css +5 -0
- data/vendor/test/cases/regression.220.styl +5 -0
- data/vendor/test/cases/regression.229.css +12 -0
- data/vendor/test/cases/regression.229.styl +9 -0
- data/vendor/test/cases/regression.233.css +6 -0
- data/vendor/test/cases/regression.233.styl +7 -0
- data/vendor/test/cases/regression.235.css +11 -0
- data/vendor/test/cases/regression.235.styl +13 -0
- data/vendor/test/cases/regression.243.css +3 -0
- data/vendor/test/cases/regression.243.styl +4 -0
- data/vendor/test/cases/regression.244.css +3 -0
- data/vendor/test/cases/regression.244.styl +3 -0
- data/vendor/test/cases/regression.247.css +6 -0
- data/vendor/test/cases/regression.247.styl +6 -0
- data/vendor/test/cases/regression.248.compressed.css +4 -0
- data/vendor/test/cases/regression.248.compressed.styl +10 -0
- data/vendor/test/cases/regression.252.css +13 -0
- data/vendor/test/cases/regression.252.styl +13 -0
- data/vendor/test/cases/regression.260.css +6 -0
- data/vendor/test/cases/regression.260.styl +6 -0
- data/vendor/test/cases/regression.267.css +3 -0
- data/vendor/test/cases/regression.267.styl +3 -0
- data/vendor/test/cases/regression.270.css +5 -0
- data/vendor/test/cases/regression.270.styl +7 -0
- data/vendor/test/cases/regression.272.css +11 -0
- data/vendor/test/cases/regression.272.styl +17 -0
- data/vendor/test/cases/regression.274.css +14 -0
- data/vendor/test/cases/regression.274.styl +16 -0
- data/vendor/test/cases/regression.360.css +19 -0
- data/vendor/test/cases/regression.360.styl +1 -0
- data/vendor/test/cases/regression.368.css +4 -0
- data/vendor/test/cases/regression.368.styl +3 -0
- data/vendor/test/cases/regression.379.css +6 -0
- data/vendor/test/cases/regression.379.styl +10 -0
- data/vendor/test/cases/regression.380.css +8 -0
- data/vendor/test/cases/regression.380.styl +14 -0
- data/vendor/test/cases/regression.388.css +2 -0
- data/vendor/test/cases/regression.388.styl +6 -0
- data/vendor/test/cases/regression.415.css +5 -0
- data/vendor/test/cases/regression.415.styl +3 -0
- data/vendor/test/cases/regression.420.css +21 -0
- data/vendor/test/cases/regression.420.styl +29 -0
- data/vendor/test/cases/reset.css +70 -0
- data/vendor/test/cases/reset.styl +16 -0
- data/vendor/test/cases/rule.charset.css +1 -0
- data/vendor/test/cases/rule.charset.styl +2 -0
- data/vendor/test/cases/rulset.css +4 -0
- data/vendor/test/cases/rulset.newline.css +5 -0
- data/vendor/test/cases/rulset.newline.styl +5 -0
- data/vendor/test/cases/rulset.styl +3 -0
- data/vendor/test/cases/scope.complex.css +10 -0
- data/vendor/test/cases/scope.complex.styl +16 -0
- data/vendor/test/cases/scope.css +5 -0
- data/vendor/test/cases/scope.nested.css +9 -0
- data/vendor/test/cases/scope.nested.styl +10 -0
- data/vendor/test/cases/scope.styl +12 -0
- data/vendor/test/cases/selector.interpolation.css +57 -0
- data/vendor/test/cases/selector.interpolation.styl +45 -0
- data/vendor/test/cases/selectors.complex.css +28 -0
- data/vendor/test/cases/selectors.complex.styl +27 -0
- data/vendor/test/cases/selectors.css +50 -0
- data/vendor/test/cases/selectors.nested.comma.css +9 -0
- data/vendor/test/cases/selectors.nested.comma.styl +8 -0
- data/vendor/test/cases/selectors.nested.css +34 -0
- data/vendor/test/cases/selectors.nested.styl +33 -0
- data/vendor/test/cases/selectors.pseudo.css +27 -0
- data/vendor/test/cases/selectors.pseudo.elements.css +26 -0
- data/vendor/test/cases/selectors.pseudo.elements.styl +29 -0
- data/vendor/test/cases/selectors.pseudo.styl +24 -0
- data/vendor/test/cases/selectors.styl +46 -0
- data/vendor/test/cases/self-assignment.css +3 -0
- data/vendor/test/cases/self-assignment.styl +4 -0
- data/vendor/test/cases/vargs.call.css +24 -0
- data/vendor/test/cases/vargs.call.styl +40 -0
- data/vendor/test/cases/vargs.css +30 -0
- data/vendor/test/cases/vargs.styl +49 -0
- data/vendor/test/cases/variable.css +3 -0
- data/vendor/test/cases/variable.styl +4 -0
- data/vendor/test/cases/variables.css +12 -0
- data/vendor/test/cases/variables.styl +17 -0
- data/vendor/test/images/gif +0 -0
- data/vendor/test/images/squirrel.jpeg +0 -0
- data/vendor/test/images/tux.png +0 -0
- data/vendor/test/run.js +151 -0
- data/vendor/testing/index.html +56 -0
- data/vendor/testing/stylus.js +146 -0
- data/vendor/testing/test-js.js +23 -0
- data/vendor/testing/test.css +8 -0
- data/vendor/testing/test.js +23 -0
- data/vendor/testing/test.styl +75 -0
- data/vendor/testing/utils.styl +6 -0
- data/vendor/testing/vendor.styl +3 -0
- metadata +565 -112
- data/.DS_Store +0 -0
- data/lib/.DS_Store +0 -0
- data/lib/node_modules/cssom/.idea/CSSOM.iml +0 -9
- data/lib/node_modules/cssom/.idea/dictionaries/nv.xml +0 -3
- data/lib/node_modules/cssom/.idea/encodings.xml +0 -5
- data/lib/node_modules/cssom/.idea/misc.xml +0 -17
- data/lib/node_modules/cssom/.idea/modules.xml +0 -9
- data/lib/node_modules/cssom/.idea/projectCodeStyle.xml +0 -82
- data/lib/node_modules/cssom/.idea/vcs.xml +0 -8
- data/lib/node_modules/cssom/.idea/workspace.xml +0 -467
- data/lib/node_modules/cssom/.livereload +0 -19
- data/lib/node_modules/cssom/docs/.livereload +0 -19
|
@@ -147,11 +147,43 @@ Expression.prototype.operate = function(op, right, val){
|
|
|
147
147
|
return ret == this.nodes[0] ? this : right;
|
|
148
148
|
case 'in':
|
|
149
149
|
return Node.prototype.operate.call(this, op, right);
|
|
150
|
+
case '!=':
|
|
151
|
+
return this.operate('==', right, val).negate();
|
|
152
|
+
case '==':
|
|
153
|
+
var len = this.nodes.length
|
|
154
|
+
, right = right.toExpression()
|
|
155
|
+
, a
|
|
156
|
+
, b;
|
|
157
|
+
if (len != right.nodes.length) return nodes.false;
|
|
158
|
+
for (var i = 0; i < len; ++i) {
|
|
159
|
+
a = this.nodes[i];
|
|
160
|
+
b = right.nodes[i];
|
|
161
|
+
if (a.operate(op, b).isTrue) continue;
|
|
162
|
+
return nodes.false;
|
|
163
|
+
}
|
|
164
|
+
return nodes.true;
|
|
165
|
+
break;
|
|
150
166
|
default:
|
|
151
167
|
return this.first.operate(op, right, val);
|
|
152
168
|
}
|
|
153
169
|
};
|
|
154
170
|
|
|
171
|
+
/**
|
|
172
|
+
* Iterate nodes to return a `Boolean`.
|
|
173
|
+
*
|
|
174
|
+
* @return {Boolean}
|
|
175
|
+
* @api public
|
|
176
|
+
*/
|
|
177
|
+
|
|
178
|
+
Expression.prototype.toBoolean = function(){
|
|
179
|
+
for (var i = 0, len = this.nodes.length; i < len; ++i) {
|
|
180
|
+
if (this.nodes[i].toBoolean().isTrue) {
|
|
181
|
+
return nodes.true;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return nodes.false;
|
|
185
|
+
};
|
|
186
|
+
|
|
155
187
|
/**
|
|
156
188
|
* Return "<a> <b> <c>" or "<a>, <b>, <c>" if
|
|
157
189
|
* the expression represents a list.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -90,6 +90,20 @@ Node.prototype.toBoolean = function(){
|
|
|
90
90
|
return nodes.true;
|
|
91
91
|
};
|
|
92
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Return the expression, or wrap this node in an expression.
|
|
95
|
+
*
|
|
96
|
+
* @return {Expression}
|
|
97
|
+
* @api public
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
Node.prototype.toExpression = function(){
|
|
101
|
+
if ('expression' == this.nodeName) return this;
|
|
102
|
+
var expr = new nodes.Expression;
|
|
103
|
+
expr.push(this);
|
|
104
|
+
return expr;
|
|
105
|
+
};
|
|
106
|
+
|
|
93
107
|
/**
|
|
94
108
|
* Return false if `op` is generally not coerced.
|
|
95
109
|
*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
var Node = require('./node')
|
|
13
13
|
, HSLA = require('./hsla')
|
|
14
|
+
, functions = require('../functions')
|
|
15
|
+
, adjust = functions['-adjust']
|
|
14
16
|
, nodes = require('./');
|
|
15
17
|
|
|
16
18
|
/**
|
|
@@ -202,7 +204,7 @@ RGBA.prototype.operate = function(op, right){
|
|
|
202
204
|
case 'unit':
|
|
203
205
|
var n = right.val;
|
|
204
206
|
switch (right.type) {
|
|
205
|
-
case '%': return this.
|
|
207
|
+
case '%': return adjust(this, new nodes.String('lightness'), right);
|
|
206
208
|
case 'deg': return this.hsla.adjustHue(n).rgba;
|
|
207
209
|
default: return this.add(n,n,n,0);
|
|
208
210
|
}
|
|
@@ -217,7 +219,7 @@ RGBA.prototype.operate = function(op, right){
|
|
|
217
219
|
case 'unit':
|
|
218
220
|
var n = right.val;
|
|
219
221
|
switch (right.type) {
|
|
220
|
-
case '%': return this.
|
|
222
|
+
case '%': return adjust(this, new nodes.String('lightness'), new nodes.Unit(-n, '%'));
|
|
221
223
|
case 'deg': return this.hsla.adjustHue(-n).rgba;
|
|
222
224
|
default: return this.sub(n,n,n,0);
|
|
223
225
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -490,6 +490,7 @@ Parser.prototype = {
|
|
|
490
490
|
* | charset
|
|
491
491
|
* | import
|
|
492
492
|
* | media
|
|
493
|
+
* | scope
|
|
493
494
|
* | keyframes
|
|
494
495
|
* | page
|
|
495
496
|
* | for
|
|
@@ -516,6 +517,7 @@ Parser.prototype = {
|
|
|
516
517
|
case 'media':
|
|
517
518
|
case 'page':
|
|
518
519
|
case 'ident':
|
|
520
|
+
case 'scope':
|
|
519
521
|
case 'unless':
|
|
520
522
|
case 'function':
|
|
521
523
|
case 'for':
|
|
@@ -678,7 +680,17 @@ Parser.prototype = {
|
|
|
678
680
|
this.state.pop();
|
|
679
681
|
return node;
|
|
680
682
|
},
|
|
681
|
-
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* scope
|
|
686
|
+
*/
|
|
687
|
+
|
|
688
|
+
scope: function(){
|
|
689
|
+
var val = this.expect('scope').val;
|
|
690
|
+
this.selectorScope = val;
|
|
691
|
+
return nodes.null;
|
|
692
|
+
},
|
|
693
|
+
|
|
682
694
|
/**
|
|
683
695
|
* media
|
|
684
696
|
*/
|
|
@@ -983,7 +995,9 @@ Parser.prototype = {
|
|
|
983
995
|
selector: function() {
|
|
984
996
|
var tok
|
|
985
997
|
, arr
|
|
986
|
-
, group = new nodes.Group
|
|
998
|
+
, group = new nodes.Group
|
|
999
|
+
, scope = this.selectorScope
|
|
1000
|
+
, isRoot = 'root' == this.currentState();
|
|
987
1001
|
|
|
988
1002
|
do {
|
|
989
1003
|
arr = [];
|
|
@@ -1026,6 +1040,7 @@ Parser.prototype = {
|
|
|
1026
1040
|
}
|
|
1027
1041
|
|
|
1028
1042
|
// Push the selector
|
|
1043
|
+
if (isRoot && scope) arr.unshift(new nodes.Literal(scope + ' '));
|
|
1029
1044
|
group.push(new nodes.Selector(arr));
|
|
1030
1045
|
} while (this.accept(',') || this.accept('newline'));
|
|
1031
1046
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -387,9 +387,12 @@ Evaluator.prototype.visitBinOp = function(binop){
|
|
|
387
387
|
|
|
388
388
|
Evaluator.prototype.visitUnaryOp = function(unary){
|
|
389
389
|
var op = unary.op
|
|
390
|
-
, node = this.visit(unary.expr)
|
|
390
|
+
, node = this.visit(unary.expr);
|
|
391
391
|
|
|
392
|
-
if ('!' != op)
|
|
392
|
+
if ('!' != op) {
|
|
393
|
+
node = node.first.clone();
|
|
394
|
+
utils.assertType(node, 'unit');
|
|
395
|
+
}
|
|
393
396
|
|
|
394
397
|
switch (op) {
|
|
395
398
|
case '-':
|
|
@@ -404,7 +407,7 @@ Evaluator.prototype.visitUnaryOp = function(unary){
|
|
|
404
407
|
case '!':
|
|
405
408
|
return node.toBoolean().negate();
|
|
406
409
|
}
|
|
407
|
-
|
|
410
|
+
|
|
408
411
|
return node;
|
|
409
412
|
};
|
|
410
413
|
|
|
@@ -568,6 +571,9 @@ Evaluator.prototype.visitImport = function(imported){
|
|
|
568
571
|
, Parser = require('../parser')
|
|
569
572
|
, path = this.visit(imported.path).first;
|
|
570
573
|
|
|
574
|
+
// url() passed
|
|
575
|
+
if ('url' == path.name) return imported;
|
|
576
|
+
|
|
571
577
|
// Enusre string
|
|
572
578
|
if (!path.string) throw new Error('@import string expected');
|
|
573
579
|
var name = path = path.string;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Copyright 2010 James Halliday (mail@substack.net)
|
|
2
|
+
|
|
3
|
+
This project is free software released under the MIT/X11 license:
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
mkdirp
|
|
2
|
+
======
|
|
3
|
+
|
|
4
|
+
Like `mkdir -p`, but in node.js!
|
|
5
|
+
|
|
6
|
+
Example
|
|
7
|
+
=======
|
|
8
|
+
|
|
9
|
+
pow.js
|
|
10
|
+
------
|
|
11
|
+
var mkdirp = require('mkdirp');
|
|
12
|
+
|
|
13
|
+
mkdirp('/tmp/foo/bar/baz', 0755, function (err) {
|
|
14
|
+
if (err) console.error(err)
|
|
15
|
+
else console.log('pow!')
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
Output
|
|
19
|
+
pow!
|
|
20
|
+
|
|
21
|
+
And now /tmp/foo/bar/baz exists, huzzah!
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
--- examples/pow.js
|
|
2
|
+
+++ examples/pow.js
|
|
3
|
+
@@ -1,6 +1,15 @@
|
|
4
|
+
-var mkdirp = require('mkdirp').mkdirp;
|
|
5
|
+
+var mkdirp = require('../').mkdirp,
|
|
6
|
+
+ mkdirpSync = require('../').mkdirpSync;
|
|
7
|
+
|
|
8
|
+
mkdirp('/tmp/foo/bar/baz', 0755, function (err) {
|
|
9
|
+
if (err) console.error(err)
|
|
10
|
+
else console.log('pow!')
|
|
11
|
+
});
|
|
12
|
+
+
|
|
13
|
+
+try {
|
|
14
|
+
+ mkdirpSync('/tmp/bar/foo/baz', 0755);
|
|
15
|
+
+ console.log('double pow!');
|
|
16
|
+
+}
|
|
17
|
+
+catch (ex) {
|
|
18
|
+
+ console.log(ex);
|
|
19
|
+
+}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var fs = require('fs');
|
|
3
|
+
|
|
4
|
+
var exports = module.exports = function mkdirP (p, mode, f) {
|
|
5
|
+
var cb = f || function () {};
|
|
6
|
+
p = path.resolve(p);
|
|
7
|
+
|
|
8
|
+
var ps = path.normalize(p).split('/');
|
|
9
|
+
path.exists(p, function (exists) {
|
|
10
|
+
if (exists) cb(null);
|
|
11
|
+
else mkdirP(ps.slice(0,-1).join('/'), mode, function (err) {
|
|
12
|
+
if (err && err.code !== 'EEXIST') cb(err)
|
|
13
|
+
else fs.mkdir(p, mode, function (err) {
|
|
14
|
+
if (err && err.code !== 'EEXIST') cb(err)
|
|
15
|
+
else cb()
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.mkdirp = exports.mkdirP = module.exports;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name" : "mkdirp",
|
|
3
|
+
"description" : "Recursively mkdir, like `mkdir -p`",
|
|
4
|
+
"version" : "0.0.7",
|
|
5
|
+
"author" : "James Halliday <mail@substack.net> (http://substack.net)",
|
|
6
|
+
"main" : "./index",
|
|
7
|
+
"keywords" : [
|
|
8
|
+
"mkdir",
|
|
9
|
+
"directory"
|
|
10
|
+
],
|
|
11
|
+
"repository" : {
|
|
12
|
+
"type" : "git",
|
|
13
|
+
"url" : "http://github.com/substack/node-mkdirp.git"
|
|
14
|
+
},
|
|
15
|
+
"scripts" : {
|
|
16
|
+
"test" : "node node_modules/tap/bin/tap.js test/*.js"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies" : {
|
|
19
|
+
"tap" : "0.0.x"
|
|
20
|
+
},
|
|
21
|
+
"license" : "MIT/X11",
|
|
22
|
+
"engines": { "node": "*" }
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var mkdirp = require('../');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var test = require('tap').test;
|
|
5
|
+
|
|
6
|
+
test('woo', function (t) {
|
|
7
|
+
t.plan(2);
|
|
8
|
+
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
9
|
+
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
10
|
+
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
11
|
+
|
|
12
|
+
var file = '/tmp/' + [x,y,z].join('/');
|
|
13
|
+
|
|
14
|
+
mkdirp(file, 0755, function (err) {
|
|
15
|
+
if (err) t.fail(err);
|
|
16
|
+
else path.exists(file, function (ex) {
|
|
17
|
+
if (!ex) t.fail('file not created')
|
|
18
|
+
else fs.stat(file, function (err, stat) {
|
|
19
|
+
if (err) t.fail(err)
|
|
20
|
+
else {
|
|
21
|
+
t.equal(stat.mode & 0777, 0755);
|
|
22
|
+
t.ok(stat.isDirectory(), 'target not a directory');
|
|
23
|
+
t.end();
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var mkdirp = require('../').mkdirp;
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var test = require('tap').test;
|
|
5
|
+
|
|
6
|
+
test('race', function (t) {
|
|
7
|
+
t.plan(4);
|
|
8
|
+
var ps = [ '', 'tmp' ];
|
|
9
|
+
|
|
10
|
+
for (var i = 0; i < 25; i++) {
|
|
11
|
+
var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
12
|
+
ps.push(dir);
|
|
13
|
+
}
|
|
14
|
+
var file = ps.join('/');
|
|
15
|
+
|
|
16
|
+
var res = 2;
|
|
17
|
+
mk(file, function () {
|
|
18
|
+
if (--res === 0) t.end();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
mk(file, function () {
|
|
22
|
+
if (--res === 0) t.end();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
function mk (file, cb) {
|
|
26
|
+
mkdirp(file, 0755, function (err) {
|
|
27
|
+
if (err) t.fail(err);
|
|
28
|
+
else path.exists(file, function (ex) {
|
|
29
|
+
if (!ex) t.fail('file not created')
|
|
30
|
+
else fs.stat(file, function (err, stat) {
|
|
31
|
+
if (err) t.fail(err)
|
|
32
|
+
else {
|
|
33
|
+
t.equal(stat.mode & 0777, 0755);
|
|
34
|
+
t.ok(stat.isDirectory(), 'target not a directory');
|
|
35
|
+
if (cb) cb();
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var mkdirp = require('../');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var test = require('tap').test;
|
|
5
|
+
|
|
6
|
+
test('rel', function (t) {
|
|
7
|
+
t.plan(2);
|
|
8
|
+
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
9
|
+
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
10
|
+
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
|
|
11
|
+
|
|
12
|
+
var cwd = process.cwd();
|
|
13
|
+
process.chdir('/tmp');
|
|
14
|
+
|
|
15
|
+
var file = [x,y,z].join('/');
|
|
16
|
+
|
|
17
|
+
mkdirp(file, 0755, function (err) {
|
|
18
|
+
if (err) t.fail(err);
|
|
19
|
+
else path.exists(file, function (ex) {
|
|
20
|
+
if (!ex) t.fail('file not created')
|
|
21
|
+
else fs.stat(file, function (err, stat) {
|
|
22
|
+
if (err) t.fail(err)
|
|
23
|
+
else {
|
|
24
|
+
process.chdir(cwd);
|
|
25
|
+
t.equal(stat.mode & 0777, 0755);
|
|
26
|
+
t.ok(stat.isDirectory(), 'target not a directory');
|
|
27
|
+
t.end();
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
});
|
data/vendor/package.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{ "name": "stylus"
|
|
2
|
+
, "description": "Robust, expressive, and feature-rich CSS superset"
|
|
3
|
+
, "version": "0.17.0"
|
|
4
|
+
, "author": "TJ Holowaychuk <tj@vision-media.ca>"
|
|
5
|
+
, "keywords": ["css", "parser", "style", "stylesheets", "jade", "language"]
|
|
6
|
+
, "repository": "git://github.com/learnboost/stylus"
|
|
7
|
+
, "main": "./index.js"
|
|
8
|
+
, "engines": { "node": ">= 0.2.4" }
|
|
9
|
+
, "bin": { "stylus": "./bin/stylus" }
|
|
10
|
+
, "scripts" : { "prepublish" : "npm prune" }
|
|
11
|
+
, "dependencies": {
|
|
12
|
+
"cssom": "0.2.0"
|
|
13
|
+
, "growl": "1.1.0"
|
|
14
|
+
, "mkdirp": "0.0.7"
|
|
15
|
+
}
|
|
16
|
+
}
|