├── GruntStarterProject ├── Gruntfile.js ├── dest │ └── style.css ├── package.json └── src │ └── style.css ├── GruntVersion_Complete ├── Gruntfile.js ├── dest │ └── style.css ├── node_modules │ └── postcss-myplugin │ │ ├── index.js │ │ ├── node_modules │ │ ├── postcss │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── lib │ │ │ │ ├── at-rule.js │ │ │ │ ├── comment.js │ │ │ │ ├── container.js │ │ │ │ ├── css-syntax-error.js │ │ │ │ ├── declaration.js │ │ │ │ ├── input.js │ │ │ │ ├── lazy-result.js │ │ │ │ ├── list.js │ │ │ │ ├── map-generator.js │ │ │ │ ├── node.js │ │ │ │ ├── parse.js │ │ │ │ ├── parser.js │ │ │ │ ├── postcss.js │ │ │ │ ├── previous-map.js │ │ │ │ ├── processor.js │ │ │ │ ├── result.js │ │ │ │ ├── root.js │ │ │ │ ├── rule.js │ │ │ │ ├── tokenize.js │ │ │ │ ├── vendor.js │ │ │ │ ├── warn-once.js │ │ │ │ └── warning.js │ │ │ ├── node_modules │ │ │ │ ├── es6-promise │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── dist │ │ │ │ │ │ ├── es6-promise.js │ │ │ │ │ │ ├── es6-promise.min.js │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── browserify.js │ │ │ │ │ │ │ ├── es6-promise.js │ │ │ │ │ │ │ ├── es6-promise.min.js │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── json3.js │ │ │ │ │ │ │ ├── mocha.css │ │ │ │ │ │ │ ├── mocha.js │ │ │ │ │ │ │ └── worker.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── es6-promise.umd.js │ │ │ │ │ │ └── es6-promise │ │ │ │ │ │ │ ├── -internal.js │ │ │ │ │ │ │ ├── asap.js │ │ │ │ │ │ │ ├── enumerator.js │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ ├── promise.js │ │ │ │ │ │ │ ├── promise │ │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ │ ├── race.js │ │ │ │ │ │ │ ├── reject.js │ │ │ │ │ │ │ └── resolve.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ └── package.json │ │ │ │ ├── js-base64 │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── base64.html │ │ │ │ │ ├── base64.js │ │ │ │ │ ├── base64.min.js │ │ │ │ │ ├── base64_utf8 │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── old │ │ │ │ │ │ └── base64-1.7.js │ │ │ │ │ ├── package.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ ├── dankogai.js │ │ │ │ │ │ ├── es5.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── large.js │ │ │ │ │ │ └── yoshinoya.js │ │ │ │ └── source-map │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ ├── assert-shim.js │ │ │ │ │ ├── mini-require.js │ │ │ │ │ ├── prefix-source-map.jsm │ │ │ │ │ ├── prefix-utils.jsm │ │ │ │ │ ├── suffix-browser.js │ │ │ │ │ ├── suffix-source-map.jsm │ │ │ │ │ ├── suffix-utils.jsm │ │ │ │ │ ├── test-prefix.js │ │ │ │ │ └── test-suffix.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── source-map.js │ │ │ │ │ └── source-map │ │ │ │ │ │ ├── array-set.js │ │ │ │ │ │ ├── base64-vlq.js │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ ├── binary-search.js │ │ │ │ │ │ ├── mapping-list.js │ │ │ │ │ │ ├── quick-sort.js │ │ │ │ │ │ ├── source-map-consumer.js │ │ │ │ │ │ ├── source-map-generator.js │ │ │ │ │ │ ├── source-node.js │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── amdefine │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── amdefine.js │ │ │ │ │ │ ├── intercept.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ └── underscore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ ├── underscore-min.js │ │ │ ├── underscore-min.map │ │ │ └── underscore.js │ │ └── package.json ├── package.json └── src │ └── style.css ├── GulpStarterProject ├── gulpfile.js ├── package.json └── src │ └── style.css ├── GulpVersion_Complete ├── dest │ └── style.css ├── gulpfile.js ├── node_modules │ ├── .bin │ │ └── gulp │ └── postcss-myplugin │ │ ├── index.js │ │ ├── node_modules │ │ ├── postcss │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── lib │ │ │ │ ├── at-rule.js │ │ │ │ ├── comment.js │ │ │ │ ├── container.js │ │ │ │ ├── css-syntax-error.js │ │ │ │ ├── declaration.js │ │ │ │ ├── input.js │ │ │ │ ├── lazy-result.js │ │ │ │ ├── list.js │ │ │ │ ├── map-generator.js │ │ │ │ ├── node.js │ │ │ │ ├── parse.js │ │ │ │ ├── parser.js │ │ │ │ ├── postcss.js │ │ │ │ ├── previous-map.js │ │ │ │ ├── processor.js │ │ │ │ ├── result.js │ │ │ │ ├── root.js │ │ │ │ ├── rule.js │ │ │ │ ├── tokenize.js │ │ │ │ ├── vendor.js │ │ │ │ ├── warn-once.js │ │ │ │ └── warning.js │ │ │ ├── node_modules │ │ │ │ ├── es6-promise │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── dist │ │ │ │ │ │ ├── es6-promise.js │ │ │ │ │ │ ├── es6-promise.min.js │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── browserify.js │ │ │ │ │ │ │ ├── es6-promise.js │ │ │ │ │ │ │ ├── es6-promise.min.js │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── json3.js │ │ │ │ │ │ │ ├── mocha.css │ │ │ │ │ │ │ ├── mocha.js │ │ │ │ │ │ │ └── worker.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── es6-promise.umd.js │ │ │ │ │ │ └── es6-promise │ │ │ │ │ │ │ ├── -internal.js │ │ │ │ │ │ │ ├── asap.js │ │ │ │ │ │ │ ├── enumerator.js │ │ │ │ │ │ │ ├── polyfill.js │ │ │ │ │ │ │ ├── promise.js │ │ │ │ │ │ │ ├── promise │ │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ │ ├── race.js │ │ │ │ │ │ │ ├── reject.js │ │ │ │ │ │ │ └── resolve.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ └── package.json │ │ │ │ ├── js-base64 │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── base64.html │ │ │ │ │ ├── base64.js │ │ │ │ │ ├── base64.min.js │ │ │ │ │ ├── base64_utf8 │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── old │ │ │ │ │ │ └── base64-1.7.js │ │ │ │ │ ├── package.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ ├── dankogai.js │ │ │ │ │ │ ├── es5.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── large.js │ │ │ │ │ │ └── yoshinoya.js │ │ │ │ └── source-map │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ ├── assert-shim.js │ │ │ │ │ ├── mini-require.js │ │ │ │ │ ├── prefix-source-map.jsm │ │ │ │ │ ├── prefix-utils.jsm │ │ │ │ │ ├── suffix-browser.js │ │ │ │ │ ├── suffix-source-map.jsm │ │ │ │ │ ├── suffix-utils.jsm │ │ │ │ │ ├── test-prefix.js │ │ │ │ │ └── test-suffix.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── source-map.js │ │ │ │ │ └── source-map │ │ │ │ │ │ ├── array-set.js │ │ │ │ │ │ ├── base64-vlq.js │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ ├── binary-search.js │ │ │ │ │ │ ├── mapping-list.js │ │ │ │ │ │ ├── quick-sort.js │ │ │ │ │ │ ├── source-map-consumer.js │ │ │ │ │ │ ├── source-map-generator.js │ │ │ │ │ │ ├── source-node.js │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── amdefine │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── amdefine.js │ │ │ │ │ │ ├── intercept.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ └── underscore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ ├── underscore-min.js │ │ │ ├── underscore-min.map │ │ │ └── underscore.js │ │ └── package.json ├── package.json └── src │ └── style.css ├── LICENSE ├── README.md └── postcss-myplugin ├── index.js ├── node_modules ├── postcss │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── at-rule.js │ │ ├── comment.js │ │ ├── container.js │ │ ├── css-syntax-error.js │ │ ├── declaration.js │ │ ├── input.js │ │ ├── lazy-result.js │ │ ├── list.js │ │ ├── map-generator.js │ │ ├── node.js │ │ ├── parse.js │ │ ├── parser.js │ │ ├── postcss.js │ │ ├── previous-map.js │ │ ├── processor.js │ │ ├── result.js │ │ ├── root.js │ │ ├── rule.js │ │ ├── tokenize.js │ │ ├── vendor.js │ │ ├── warn-once.js │ │ └── warning.js │ ├── node_modules │ │ ├── es6-promise │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── dist │ │ │ │ ├── es6-promise.js │ │ │ │ ├── es6-promise.min.js │ │ │ │ └── test │ │ │ │ │ ├── browserify.js │ │ │ │ │ ├── es6-promise.js │ │ │ │ │ ├── es6-promise.min.js │ │ │ │ │ ├── index.html │ │ │ │ │ ├── json3.js │ │ │ │ │ ├── mocha.css │ │ │ │ │ ├── mocha.js │ │ │ │ │ └── worker.js │ │ │ ├── lib │ │ │ │ ├── es6-promise.umd.js │ │ │ │ └── es6-promise │ │ │ │ │ ├── -internal.js │ │ │ │ │ ├── asap.js │ │ │ │ │ ├── enumerator.js │ │ │ │ │ ├── polyfill.js │ │ │ │ │ ├── promise.js │ │ │ │ │ ├── promise │ │ │ │ │ ├── all.js │ │ │ │ │ ├── race.js │ │ │ │ │ ├── reject.js │ │ │ │ │ └── resolve.js │ │ │ │ │ └── utils.js │ │ │ └── package.json │ │ ├── js-base64 │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── base64.html │ │ │ ├── base64.js │ │ │ ├── base64.min.js │ │ │ ├── base64_utf8 │ │ │ ├── bower.json │ │ │ ├── old │ │ │ │ └── base64-1.7.js │ │ │ ├── package.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── dankogai.js │ │ │ │ ├── es5.js │ │ │ │ ├── index.html │ │ │ │ ├── large.js │ │ │ │ └── yoshinoya.js │ │ └── source-map │ │ │ ├── README.md │ │ │ ├── build │ │ │ ├── assert-shim.js │ │ │ ├── mini-require.js │ │ │ ├── prefix-source-map.jsm │ │ │ ├── prefix-utils.jsm │ │ │ ├── suffix-browser.js │ │ │ ├── suffix-source-map.jsm │ │ │ ├── suffix-utils.jsm │ │ │ ├── test-prefix.js │ │ │ └── test-suffix.js │ │ │ ├── lib │ │ │ ├── source-map.js │ │ │ └── source-map │ │ │ │ ├── array-set.js │ │ │ │ ├── base64-vlq.js │ │ │ │ ├── base64.js │ │ │ │ ├── binary-search.js │ │ │ │ ├── mapping-list.js │ │ │ │ ├── quick-sort.js │ │ │ │ ├── source-map-consumer.js │ │ │ │ ├── source-map-generator.js │ │ │ │ ├── source-node.js │ │ │ │ └── util.js │ │ │ ├── node_modules │ │ │ └── amdefine │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── amdefine.js │ │ │ │ ├── intercept.js │ │ │ │ └── package.json │ │ │ └── package.json │ └── package.json └── underscore │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── underscore-min.js │ ├── underscore-min.map │ └── underscore.js └── package.json /GruntStarterProject/Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 3 | grunt.initConfig({ 4 | 5 | postcss: { 6 | 7 | options: { 8 | processors: [ 9 | ] 10 | }, 11 | dist: { 12 | src: 'src/style.css', 13 | dest: 'dest/style.css' 14 | } 15 | 16 | } 17 | 18 | }); 19 | 20 | grunt.loadNpmTasks('grunt-postcss'); 21 | 22 | }; -------------------------------------------------------------------------------- /GruntStarterProject/dest/style.css: -------------------------------------------------------------------------------- 1 | /* Testing autoprefixer */ 2 | 3 | .autoprefixertest { 4 | display: -webkit-flex; 5 | display: -webkit-box; 6 | display: -ms-flexbox; 7 | display: flex; 8 | } 9 | 10 | /* Testing cssnext */ 11 | 12 | .cssnext { 13 | background: #FF0000; 14 | background: rgba(255, 0, 0, 0.9); 15 | } 16 | 17 | /* Testing precss */ 18 | 19 | .precss { 20 | background: green 21 | } -------------------------------------------------------------------------------- /GruntStarterProject/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gruntpostcssstarter", 3 | "version": "1.0.0", 4 | "description": "Basic starter project for PostCSS use via Grunt", 5 | "author": "Kezz Bracey", 6 | "license": "MIT", 7 | "devDependencies": { 8 | "grunt": "^0.4.5", 9 | "grunt-postcss": "^0.6.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /GruntStarterProject/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/postcss-deep-dive-create-your-own-plugin/e6fe22f3f8807bfa7e3a08c02dd83c360551fdbb/GruntStarterProject/src/style.css -------------------------------------------------------------------------------- /GruntVersion_Complete/Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 3 | grunt.initConfig({ 4 | 5 | postcss: { 6 | 7 | options: { 8 | processors: [ 9 | require('postcss-myplugin')({ 10 | fontstacks: { 11 | // 'Extra Stack': '"Extra Stack", "Moar Fonts", Extra, serif', 12 | // 'Arial': 'Arial, "Comic Sans"' 13 | } 14 | }) 15 | ] 16 | }, 17 | dist: { 18 | src: 'src/style.css', 19 | dest: 'dest/style.css' 20 | } 21 | 22 | } 23 | 24 | }); 25 | 26 | grunt.loadNpmTasks('grunt-postcss'); 27 | 28 | }; -------------------------------------------------------------------------------- /GruntVersion_Complete/dest/style.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | font-family: "Open Sans", Arial, "Helvetica Neue", Helvetica, sans-serif; 3 | } -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/index.js: -------------------------------------------------------------------------------- 1 | var postcss = require('postcss'); 2 | var _ = require('underscore'); 3 | 4 | // Font stacks from http://www.cssfontstack.com/ 5 | var fontstacks_config = { 6 | 'Arial': 'Arial, "Helvetica Neue", Helvetica, sans-serif', 7 | 'Times New Roman': 'TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif' 8 | } 9 | 10 | // Credit for this function to http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript/196991#196991 11 | function toTitleCase(str) { 12 | return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 13 | } 14 | 15 | module.exports = postcss.plugin('myplugin', function (options) { 16 | 17 | return function (css) { 18 | 19 | options = options || {}; 20 | 21 | // Extend the default fontstacks_config option with any custom fontstacks set in the plugin's options 22 | fontstacks_config = _.extend(fontstacks_config, options.fontstacks); 23 | 24 | css.walkRules(function (rule) { 25 | 26 | rule.walkDecls(function (decl, i) { 27 | 28 | var value = decl.value; 29 | 30 | if (value.indexOf( 'fontstack(' ) !== -1) { 31 | 32 | // Get the name of the fontstack requested by matching the string inside the brackets of fontstack(). 33 | // Then replace any double or single quotes therein. 34 | var fontstack_requested = value.match(/\(([^)]+)\)/)[1].replace(/["']/g, ""); 35 | 36 | // Title case the words in the font name, just in case the user didn't do it themselves 37 | fontstack_requested = toTitleCase(fontstack_requested); 38 | 39 | // Lookup the requested fontstack in the fontstack_config object 40 | var fontstack = fontstacks_config[fontstack_requested]; 41 | 42 | // Find and store any font names that might be already be in the value, before the fontstack() call 43 | var first_font = value.substr(0, value.indexOf('fontstack(')); 44 | 45 | // Create the new value for this rule by combining the first_font and fontstack variables 46 | var new_value = first_font + fontstack; 47 | 48 | // Send the new value back into the stylesheet 49 | decl.value = new_value; 50 | 51 | } 52 | 53 | }); 54 | 55 | }); 56 | 57 | } 58 | 59 | }); -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2013 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/at-rule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _container = require('./container'); 12 | 13 | var _container2 = _interopRequireDefault(_container); 14 | 15 | var AtRule = (function (_Container) { 16 | function AtRule(defaults) { 17 | _classCallCheck(this, AtRule); 18 | 19 | _Container.call(this, defaults); 20 | this.type = 'atrule'; 21 | } 22 | 23 | _inherits(AtRule, _Container); 24 | 25 | AtRule.prototype.stringify = function stringify(builder, semicolon) { 26 | var name = '@' + this.name; 27 | var params = this.params ? this.stringifyRaw('params') : ''; 28 | 29 | if (typeof this.afterName !== 'undefined') { 30 | name += this.afterName; 31 | } else if (params) { 32 | name += ' '; 33 | } 34 | 35 | if (this.nodes) { 36 | this.stringifyBlock(builder, name + params); 37 | } else { 38 | var before = this.style('before'); 39 | if (before) builder(before); 40 | var end = (this.between || '') + (semicolon ? ';' : ''); 41 | builder(name + params + end, this); 42 | } 43 | }; 44 | 45 | AtRule.prototype.append = function append(child) { 46 | if (!this.nodes) this.nodes = []; 47 | return _Container.prototype.append.call(this, child); 48 | }; 49 | 50 | AtRule.prototype.prepend = function prepend(child) { 51 | if (!this.nodes) this.nodes = []; 52 | return _Container.prototype.prepend.call(this, child); 53 | }; 54 | 55 | AtRule.prototype.insertBefore = function insertBefore(exist, add) { 56 | if (!this.nodes) this.nodes = []; 57 | return _Container.prototype.insertBefore.call(this, exist, add); 58 | }; 59 | 60 | AtRule.prototype.insertAfter = function insertAfter(exist, add) { 61 | if (!this.nodes) this.nodes = []; 62 | return _Container.prototype.insertAfter.call(this, exist, add); 63 | }; 64 | 65 | return AtRule; 66 | })(_container2['default']); 67 | 68 | exports['default'] = AtRule; 69 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/comment.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _node = require('./node'); 12 | 13 | var _node2 = _interopRequireDefault(_node); 14 | 15 | var Comment = (function (_Node) { 16 | function Comment(defaults) { 17 | _classCallCheck(this, Comment); 18 | 19 | _Node.call(this, defaults); 20 | this.type = 'comment'; 21 | } 22 | 23 | _inherits(Comment, _Node); 24 | 25 | Comment.prototype.stringify = function stringify(builder) { 26 | var before = this.style('before'); 27 | if (before) builder(before); 28 | var left = this.style('left', 'commentLeft'); 29 | var right = this.style('right', 'commentRight'); 30 | builder('/*' + left + this.text + right + '*/', this); 31 | }; 32 | 33 | return Comment; 34 | })(_node2['default']); 35 | 36 | exports['default'] = Comment; 37 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/declaration.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _node = require('./node'); 12 | 13 | var _node2 = _interopRequireDefault(_node); 14 | 15 | var Declaration = (function (_Node) { 16 | function Declaration(defaults) { 17 | _classCallCheck(this, Declaration); 18 | 19 | _Node.call(this, defaults); 20 | this.type = 'decl'; 21 | } 22 | 23 | _inherits(Declaration, _Node); 24 | 25 | Declaration.prototype.stringify = function stringify(builder, semicolon) { 26 | var before = this.style('before'); 27 | if (before) builder(before); 28 | 29 | var between = this.style('between', 'colon'); 30 | var string = this.prop + between + this.stringifyRaw('value'); 31 | 32 | if (this.important) { 33 | string += this._important || ' !important'; 34 | } 35 | 36 | if (semicolon) string += ';'; 37 | builder(string, this); 38 | }; 39 | 40 | return Declaration; 41 | })(_node2['default']); 42 | 43 | exports['default'] = Declaration; 44 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/list.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | var list = { 5 | 6 | split: function split(string, separators, last) { 7 | var array = []; 8 | var current = ''; 9 | var split = false; 10 | 11 | var func = 0; 12 | var quote = false; 13 | var escape = false; 14 | 15 | for (var i = 0; i < string.length; i++) { 16 | var letter = string[i]; 17 | 18 | if (quote) { 19 | if (escape) { 20 | escape = false; 21 | } else if (letter === '\\') { 22 | escape = true; 23 | } else if (letter === quote) { 24 | quote = false; 25 | } 26 | } else if (letter === '"' || letter === '\'') { 27 | quote = letter; 28 | } else if (letter === '(') { 29 | func += 1; 30 | } else if (letter === ')') { 31 | if (func > 0) func -= 1; 32 | } else if (func === 0) { 33 | if (separators.indexOf(letter) !== -1) split = true; 34 | } 35 | 36 | if (split) { 37 | if (current !== '') array.push(current.trim()); 38 | current = ''; 39 | split = false; 40 | } else { 41 | current += letter; 42 | } 43 | } 44 | 45 | if (last || current !== '') array.push(current.trim()); 46 | return array; 47 | }, 48 | 49 | space: function space(string) { 50 | var spaces = [' ', '\n', '\t']; 51 | return list.split(string, spaces); 52 | }, 53 | 54 | comma: function comma(string) { 55 | var comma = ','; 56 | return list.split(string, [comma], true); 57 | } 58 | 59 | }; 60 | 61 | exports['default'] = list; 62 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/parse.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = parse; 5 | 6 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7 | 8 | var _parser = require('./parser'); 9 | 10 | var _parser2 = _interopRequireDefault(_parser); 11 | 12 | var _input = require('./input'); 13 | 14 | var _input2 = _interopRequireDefault(_input); 15 | 16 | function parse(css, opts) { 17 | var input = new _input2['default'](css, opts); 18 | 19 | var parser = new _parser2['default'](input); 20 | parser.tokenize(); 21 | parser.loop(); 22 | 23 | return parser.root; 24 | } 25 | 26 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/postcss.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | var _declaration = require('./declaration'); 8 | 9 | var _declaration2 = _interopRequireDefault(_declaration); 10 | 11 | var _processor = require('./processor'); 12 | 13 | var _processor2 = _interopRequireDefault(_processor); 14 | 15 | var _comment = require('./comment'); 16 | 17 | var _comment2 = _interopRequireDefault(_comment); 18 | 19 | var _atRule = require('./at-rule'); 20 | 21 | var _atRule2 = _interopRequireDefault(_atRule); 22 | 23 | var _vendor = require('./vendor'); 24 | 25 | var _vendor2 = _interopRequireDefault(_vendor); 26 | 27 | var _parse = require('./parse'); 28 | 29 | var _parse2 = _interopRequireDefault(_parse); 30 | 31 | var _list = require('./list'); 32 | 33 | var _list2 = _interopRequireDefault(_list); 34 | 35 | var _rule = require('./rule'); 36 | 37 | var _rule2 = _interopRequireDefault(_rule); 38 | 39 | var _root = require('./root'); 40 | 41 | var _root2 = _interopRequireDefault(_root); 42 | 43 | var postcss = function postcss() { 44 | for (var _len = arguments.length, plugins = Array(_len), _key = 0; _key < _len; _key++) { 45 | plugins[_key] = arguments[_key]; 46 | } 47 | 48 | if (plugins.length === 1 && Array.isArray(plugins[0])) { 49 | plugins = plugins[0]; 50 | } 51 | return new _processor2['default'](plugins); 52 | }; 53 | 54 | postcss.plugin = function (name, initializer) { 55 | var creator = function creator() { 56 | var transformer = initializer.apply(this, arguments); 57 | transformer.postcssPlugin = name; 58 | transformer.postcssVersion = _processor2['default'].prototype.version; 59 | return transformer; 60 | }; 61 | 62 | creator.postcss = creator(); 63 | return creator; 64 | }; 65 | 66 | postcss.vendor = _vendor2['default']; 67 | 68 | postcss.parse = _parse2['default']; 69 | 70 | postcss.list = _list2['default']; 71 | 72 | postcss.comment = function (defaults) { 73 | return new _comment2['default'](defaults); 74 | }; 75 | postcss.atRule = function (defaults) { 76 | return new _atRule2['default'](defaults); 77 | }; 78 | postcss.decl = function (defaults) { 79 | return new _declaration2['default'](defaults); 80 | }; 81 | postcss.rule = function (defaults) { 82 | return new _rule2['default'](defaults); 83 | }; 84 | postcss.root = function (defaults) { 85 | return new _root2['default'](defaults); 86 | }; 87 | 88 | exports['default'] = postcss; 89 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/processor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | var _lazyResult = require('./lazy-result'); 10 | 11 | var _lazyResult2 = _interopRequireDefault(_lazyResult); 12 | 13 | var Processor = (function () { 14 | function Processor() { 15 | var plugins = arguments[0] === undefined ? [] : arguments[0]; 16 | 17 | _classCallCheck(this, Processor); 18 | 19 | this.plugins = this.normalize(plugins); 20 | } 21 | 22 | Processor.prototype.use = function use(plugin) { 23 | this.plugins = this.plugins.concat(this.normalize([plugin])); 24 | return this; 25 | }; 26 | 27 | Processor.prototype.process = function process(css) { 28 | var opts = arguments[1] === undefined ? {} : arguments[1]; 29 | 30 | return new _lazyResult2['default'](this, css, opts); 31 | }; 32 | 33 | Processor.prototype.normalize = function normalize(plugins) { 34 | var normalized = []; 35 | for (var _iterator = plugins, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { 36 | var _ref; 37 | 38 | if (_isArray) { 39 | if (_i >= _iterator.length) break; 40 | _ref = _iterator[_i++]; 41 | } else { 42 | _i = _iterator.next(); 43 | if (_i.done) break; 44 | _ref = _i.value; 45 | } 46 | 47 | var i = _ref; 48 | 49 | var type = typeof i; 50 | if ((type === 'object' || type === 'function') && i.postcss) { 51 | i = i.postcss; 52 | } 53 | 54 | if (typeof i === 'object' && Array.isArray(i.plugins)) { 55 | normalized = normalized.concat(i.plugins); 56 | } else { 57 | normalized.push(i); 58 | } 59 | } 60 | return normalized; 61 | }; 62 | 63 | return Processor; 64 | })(); 65 | 66 | exports['default'] = Processor; 67 | 68 | Processor.prototype.version = require('../package').version; 69 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/rule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8 | 9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 10 | 11 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 12 | 13 | var _container = require('./container'); 14 | 15 | var _container2 = _interopRequireDefault(_container); 16 | 17 | var _list = require('./list'); 18 | 19 | var _list2 = _interopRequireDefault(_list); 20 | 21 | var Rule = (function (_Container) { 22 | function Rule(defaults) { 23 | _classCallCheck(this, Rule); 24 | 25 | _Container.call(this, defaults); 26 | if (!this.nodes) this.nodes = []; 27 | this.type = 'rule'; 28 | } 29 | 30 | _inherits(Rule, _Container); 31 | 32 | Rule.prototype.stringify = function stringify(builder) { 33 | this.stringifyBlock(builder, this.stringifyRaw('selector')); 34 | }; 35 | 36 | _createClass(Rule, [{ 37 | key: 'selectors', 38 | get: function get() { 39 | return _list2['default'].comma(this.selector); 40 | }, 41 | set: function set(values) { 42 | this.selector = values.join(', '); 43 | } 44 | }]); 45 | 46 | return Rule; 47 | })(_container2['default']); 48 | 49 | exports['default'] = Rule; 50 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/vendor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = { 5 | 6 | prefix: function prefix(prop) { 7 | if (prop[0] === '-') { 8 | var sep = prop.indexOf('-', 1); 9 | return prop.substr(0, sep + 1); 10 | } else { 11 | return ''; 12 | } 13 | }, 14 | 15 | unprefixed: function unprefixed(prop) { 16 | if (prop[0] === '-') { 17 | var sep = prop.indexOf('-', 1); 18 | return prop.substr(sep + 1); 19 | } else { 20 | return prop; 21 | } 22 | } 23 | 24 | }; 25 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/warn-once.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = warnOnce; 5 | var printed = {}; 6 | 7 | function warnOnce(message) { 8 | if (printed[message]) return; 9 | printed[message] = true; 10 | 11 | if (typeof console !== 'undefined' && console.warn) console.warn(message); 12 | } 13 | 14 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/warning.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 6 | 7 | var Warning = (function () { 8 | function Warning(text) { 9 | var opts = arguments[1] === undefined ? {} : arguments[1]; 10 | 11 | _classCallCheck(this, Warning); 12 | 13 | this.type = 'warning'; 14 | this.text = text; 15 | for (var opt in opts) { 16 | this[opt] = opts[opt]; 17 | } 18 | } 19 | 20 | Warning.prototype.toString = function toString() { 21 | if (this.node) { 22 | return this.node.error(this.text, { plugin: this.plugin }).message; 23 | } else if (this.plugin) { 24 | return this.plugin + ': ' + this.text; 25 | } else { 26 | return this.text; 27 | } 28 | }; 29 | 30 | return Warning; 31 | })(); 32 | 33 | exports['default'] = Warning; 34 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Master 2 | 3 | # 2.0.0 4 | 5 | * re-sync with RSVP. Many large performance improvements and bugfixes. 6 | 7 | # 1.0.0 8 | 9 | * first subset of RSVP 10 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/README.md: -------------------------------------------------------------------------------- 1 | # ES6-Promise (subset of [rsvp.js](https://github.com/tildeio/rsvp.js)) 2 | 3 | This is a polyfill of the [ES6 Promise](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-constructor). The implementation is a subset of [rsvp.js](https://github.com/tildeio/rsvp.js), if you're wanting extra features and more debugging options, check out the [full library](https://github.com/tildeio/rsvp.js). 4 | 5 | For API details and how to use promises, see the JavaScript Promises HTML5Rocks article. 6 | 7 | ## Downloads 8 | 9 | * [es6-promise](https://raw.githubusercontent.com/jakearchibald/es6-promise/master/dist/es6-promise.js) 10 | * [es6-promise-min](https://raw.githubusercontent.com/jakearchibald/es6-promise/master/dist/es6-promise.min.js) 11 | 12 | ## Node.js 13 | 14 | To install: 15 | 16 | ```sh 17 | npm install es6-promise 18 | ``` 19 | 20 | To use: 21 | 22 | ```js 23 | var Promise = require('es6-promise').Promise; 24 | ``` 25 | 26 | ## Usage in IE<9 27 | 28 | `catch` is a reserved word in IE<9, meaning `promise.catch(func)` throws a syntax error. To work around this, you can use a string to access the property as shown in the following example. 29 | 30 | However, please remember that such technique is already provided by most common minifiers, making the resulting code safe for old browsers and production: 31 | 32 | ```js 33 | promise['catch'](function(err) { 34 | // ... 35 | }); 36 | ``` 37 | 38 | Or use `.then` instead: 39 | 40 | ```js 41 | promise.then(undefined, function(err) { 42 | // ... 43 | }); 44 | ``` 45 | 46 | ## Auto-polyfill 47 | 48 | To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet: 49 | 50 | ```js 51 | require('es6-promise').polyfill(); 52 | ``` 53 | 54 | Notice that we don't assign the result of `polyfill()` to any variable. The `polyfill()` method will patch the global environment (in this case to the `Promise` name) when called. 55 | 56 | ## Building & Testing 57 | 58 | * `npm run build` to build 59 | * `npm test` to run tests 60 | * `npm start` to run a build watcher, and webserver to test 61 | * `npm run test:server` for a testem test runner and watching builder 62 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/dist/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | rsvp.js Tests 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 19 | 20 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/dist/test/worker.js: -------------------------------------------------------------------------------- 1 | importScripts('es6-promise.js'); 2 | new ES6Promise.Promise(function(resolve, reject) { 3 | self.onmessage = function (e) { 4 | if (e.data === 'ping') { 5 | resolve('pong'); 6 | } else { 7 | reject(new Error('wrong message')); 8 | } 9 | }; 10 | }).then(function (result) { 11 | self.postMessage(result); 12 | }, function (err){ 13 | setTimeout(function () { 14 | throw err; 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise.umd.js: -------------------------------------------------------------------------------- 1 | import Promise from './es6-promise/promise'; 2 | import polyfill from './es6-promise/polyfill'; 3 | 4 | var ES6Promise = { 5 | 'Promise': Promise, 6 | 'polyfill': polyfill 7 | }; 8 | 9 | /* global define:true module:true window: true */ 10 | if (typeof define === 'function' && define['amd']) { 11 | define(function() { return ES6Promise; }); 12 | } else if (typeof module !== 'undefined' && module['exports']) { 13 | module['exports'] = ES6Promise; 14 | } else if (typeof this !== 'undefined') { 15 | this['ES6Promise'] = ES6Promise; 16 | } 17 | 18 | polyfill(); 19 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/polyfill.js: -------------------------------------------------------------------------------- 1 | /*global self*/ 2 | import Promise from './promise'; 3 | 4 | export default function polyfill() { 5 | var local; 6 | 7 | if (typeof global !== 'undefined') { 8 | local = global; 9 | } else if (typeof self !== 'undefined') { 10 | local = self; 11 | } else { 12 | try { 13 | local = Function('return this')(); 14 | } catch (e) { 15 | throw new Error('polyfill failed because global object is unavailable in this environment'); 16 | } 17 | } 18 | 19 | var P = local.Promise; 20 | 21 | if (P && Object.prototype.toString.call(P.resolve()) === '[object Promise]' && !P.cast) { 22 | return; 23 | } 24 | 25 | local.Promise = Promise; 26 | } 27 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/all.js: -------------------------------------------------------------------------------- 1 | import Enumerator from '../enumerator'; 2 | 3 | /** 4 | `Promise.all` accepts an array of promises, and returns a new promise which 5 | is fulfilled with an array of fulfillment values for the passed promises, or 6 | rejected with the reason of the first passed promise to be rejected. It casts all 7 | elements of the passed iterable to promises as it runs this algorithm. 8 | 9 | Example: 10 | 11 | ```javascript 12 | var promise1 = resolve(1); 13 | var promise2 = resolve(2); 14 | var promise3 = resolve(3); 15 | var promises = [ promise1, promise2, promise3 ]; 16 | 17 | Promise.all(promises).then(function(array){ 18 | // The array here would be [ 1, 2, 3 ]; 19 | }); 20 | ``` 21 | 22 | If any of the `promises` given to `all` are rejected, the first promise 23 | that is rejected will be given as an argument to the returned promises's 24 | rejection handler. For example: 25 | 26 | Example: 27 | 28 | ```javascript 29 | var promise1 = resolve(1); 30 | var promise2 = reject(new Error("2")); 31 | var promise3 = reject(new Error("3")); 32 | var promises = [ promise1, promise2, promise3 ]; 33 | 34 | Promise.all(promises).then(function(array){ 35 | // Code here never runs because there are rejected promises! 36 | }, function(error) { 37 | // error.message === "2" 38 | }); 39 | ``` 40 | 41 | @method all 42 | @static 43 | @param {Array} entries array of promises 44 | @param {String} label optional string for labeling the promise. 45 | Useful for tooling. 46 | @return {Promise} promise that is fulfilled when all `promises` have been 47 | fulfilled, or rejected if any of them become rejected. 48 | @static 49 | */ 50 | export default function all(entries) { 51 | return new Enumerator(this, entries).promise; 52 | } 53 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/reject.js: -------------------------------------------------------------------------------- 1 | import { 2 | noop, 3 | reject as _reject 4 | } from '../-internal'; 5 | 6 | /** 7 | `Promise.reject` returns a promise rejected with the passed `reason`. 8 | It is shorthand for the following: 9 | 10 | ```javascript 11 | var promise = new Promise(function(resolve, reject){ 12 | reject(new Error('WHOOPS')); 13 | }); 14 | 15 | promise.then(function(value){ 16 | // Code here doesn't run because the promise is rejected! 17 | }, function(reason){ 18 | // reason.message === 'WHOOPS' 19 | }); 20 | ``` 21 | 22 | Instead of writing the above, your code now simply becomes the following: 23 | 24 | ```javascript 25 | var promise = Promise.reject(new Error('WHOOPS')); 26 | 27 | promise.then(function(value){ 28 | // Code here doesn't run because the promise is rejected! 29 | }, function(reason){ 30 | // reason.message === 'WHOOPS' 31 | }); 32 | ``` 33 | 34 | @method reject 35 | @static 36 | @param {Any} reason value that the returned promise will be rejected with. 37 | Useful for tooling. 38 | @return {Promise} a promise rejected with the given `reason`. 39 | */ 40 | export default function reject(reason) { 41 | /*jshint validthis:true */ 42 | var Constructor = this; 43 | var promise = new Constructor(noop); 44 | _reject(promise, reason); 45 | return promise; 46 | } 47 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/resolve.js: -------------------------------------------------------------------------------- 1 | import { 2 | noop, 3 | resolve as _resolve 4 | } from '../-internal'; 5 | 6 | /** 7 | `Promise.resolve` returns a promise that will become resolved with the 8 | passed `value`. It is shorthand for the following: 9 | 10 | ```javascript 11 | var promise = new Promise(function(resolve, reject){ 12 | resolve(1); 13 | }); 14 | 15 | promise.then(function(value){ 16 | // value === 1 17 | }); 18 | ``` 19 | 20 | Instead of writing the above, your code now simply becomes the following: 21 | 22 | ```javascript 23 | var promise = Promise.resolve(1); 24 | 25 | promise.then(function(value){ 26 | // value === 1 27 | }); 28 | ``` 29 | 30 | @method resolve 31 | @static 32 | @param {Any} value value that the returned promise will be resolved with 33 | Useful for tooling. 34 | @return {Promise} a promise that will become fulfilled with the given 35 | `value` 36 | */ 37 | export default function resolve(object) { 38 | /*jshint validthis:true */ 39 | var Constructor = this; 40 | 41 | if (object && typeof object === 'object' && object.constructor === Constructor) { 42 | return object; 43 | } 44 | 45 | var promise = new Constructor(noop); 46 | _resolve(promise, object); 47 | return promise; 48 | } 49 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/utils.js: -------------------------------------------------------------------------------- 1 | export function objectOrFunction(x) { 2 | return typeof x === 'function' || (typeof x === 'object' && x !== null); 3 | } 4 | 5 | export function isFunction(x) { 6 | return typeof x === 'function'; 7 | } 8 | 9 | export function isMaybeThenable(x) { 10 | return typeof x === 'object' && x !== null; 11 | } 12 | 13 | var _isArray; 14 | if (!Array.isArray) { 15 | _isArray = function (x) { 16 | return Object.prototype.toString.call(x) === '[object Array]'; 17 | }; 18 | } else { 19 | _isArray = Array.isArray; 20 | } 21 | 22 | export var isArray = _isArray; 23 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/.npmignore: -------------------------------------------------------------------------------- 1 | *,v 2 | attic/**/* 3 | node_modules/**/* 4 | tmp/**/* 5 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | 6 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Dan Kogai 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of {{{project}}} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/README.md: -------------------------------------------------------------------------------- 1 | [![build status](https://secure.travis-ci.org/dankogai/js-base64.png)](http://travis-ci.org/dankogai/js-base64) 2 | 3 | # base64.js 4 | 5 | Yet another Base64 transcoder 6 | 7 | ## Usage 8 | 9 | ### In Browser 10 | ````html 11 | 12 | ```` 13 | ### node.js 14 | ````javascript 15 | var Base64 = require('./base64.js').Base64; 16 | ```` 17 | 18 | 19 | ## SYNOPSIS 20 | 21 | ````javascript 22 | Base64.encode('dankogai'); // ZGFua29nYWk= 23 | Base64.encode('小飼弾'); // 5bCP6aO85by+ 24 | Base64.encodeURI('小飼弾'); // 5bCP6aO85by- 25 | 26 | Base64.decode('ZGFua29nYWk='); // dankogai 27 | Base64.decode('5bCP6aO85by+'); // 小飼弾 28 | // note .decodeURI() is unnecessary since it accepts both flavors 29 | Base64.decode('5bCP6aO85by-'); // 小飼弾 30 | ```` 31 | 32 | ### String Extension for ES5 33 | 34 | ````javascript 35 | if (Base64.extendString) { 36 | // you have to explicitly extend String.prototype 37 | Base64.extendString(); 38 | // once extended, you can do the following 39 | 'dankogai'.toBase64(); // ZGFua29nYWk= 40 | '小飼弾'.toBase64(); // 5bCP6aO85by+ 41 | '小飼弾'.toBase64(true); // 5bCP6aO85by- 42 | '小飼弾'.toBase64URI(); // 5bCP6aO85by- 43 | 'ZGFua29nYWk='.fromBase64(); // dankogai 44 | '5bCP6aO85by+'.fromBase64(); // 小飼弾 45 | '5bCP6aO85by-'.fromBase64(); // 小飼弾 46 | } 47 | ```` 48 | 49 | ## SEE ALSO 50 | 51 | + http://en.wikipedia.org/wiki/Base64 52 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/base64.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test for base64.js 7 | 8 | 9 |

Test for base64.js

10 |

$Id: base64.html,v 1.1 2009/03/01 22:00:28 dankogai Exp dankogai $

11 | 12 | 14 | 15 | 17 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
TextBase64 13 | (URL Safe )
Roundtripiframe w/ data: (no IE)
29 | 30 | 31 | 32 | 46 | 47 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js-base64", 3 | "version": "2.1.9", 4 | "main": [ 5 | "./base64.js" 6 | ], 7 | "ignore": [ 8 | "old", 9 | "test", 10 | ".gitignore", 11 | ".travis.yml", 12 | "base64.html", 13 | "package.json" 14 | ], 15 | "dependencies": { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/package.js: -------------------------------------------------------------------------------- 1 | Package.describe({ 2 | summary: "Yet another Base64 transcoder" 3 | }) 4 | 5 | Package.on_use(function(api){ 6 | api.export('Base64'); 7 | 8 | api.add_files(['base64.js'], 'server'); 9 | }); -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js-base64", 3 | "version": "2.1.9", 4 | "description": "Yet another Base64 transcoder in pure-JS", 5 | "main": "base64.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "mocha" 11 | }, 12 | "devDependencies": { 13 | "mocha": "*" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/dankogai/js-base64.git" 18 | }, 19 | "keywords": [ 20 | "base64" 21 | ], 22 | "author": { 23 | "name": "Dan Kogai" 24 | }, 25 | "license": "BSD", 26 | "gitHead": "8bfa436f733bec60c95c720e1d720c28b43ae0b2", 27 | "bugs": { 28 | "url": "https://github.com/dankogai/js-base64/issues" 29 | }, 30 | "homepage": "https://github.com/dankogai/js-base64#readme", 31 | "_id": "js-base64@2.1.9", 32 | "_shasum": "f0e80ae039a4bd654b5f281fc93f04a914a7fcce", 33 | "_from": "js-base64@>=2.1.8 <2.2.0", 34 | "_npmVersion": "2.13.0", 35 | "_nodeVersion": "0.12.7", 36 | "_npmUser": { 37 | "name": "dankogai", 38 | "email": "dankogai+github@gmail.com" 39 | }, 40 | "maintainers": [ 41 | { 42 | "name": "dankogai", 43 | "email": "dankogai+github@gmail.com" 44 | } 45 | ], 46 | "dist": { 47 | "shasum": "f0e80ae039a4bd654b5f281fc93f04a914a7fcce", 48 | "tarball": "http://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" 49 | }, 50 | "_resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", 51 | "readme": "ERROR: No README data found!" 52 | } 53 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/dankogai.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: dankogai.js,v 0.4 2012/08/24 05:23:18 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | 18 | describe('basic', function () { 19 | it('d', is(Base64.encode('d'), 'ZA==')); 20 | it('da', is(Base64.encode('da'), 'ZGE=')); 21 | it('dan', is(Base64.encode('dan'), 'ZGFu')); 22 | it('ZA==', is(Base64.decode('ZA=='), 'd' )); 23 | it('ZGE=', is(Base64.decode('ZGE='), 'da' )); 24 | it('ZGFu', is(Base64.decode('ZGFu'), 'dan' )); 25 | }); 26 | 27 | describe('whitespace', function () { 28 | it('Z A==', is(Base64.decode('ZA =='), 'd' )); 29 | it('ZG E=', is(Base64.decode('ZG E='), 'da' )); 30 | it('ZGF u', is(Base64.decode('ZGF u'), 'dan' )); 31 | }); 32 | 33 | describe('null', function () { 34 | it('\\0', is(Base64.encode('\0'), 'AA==')); 35 | it('\\0\\0', is(Base64.encode('\0\0'), 'AAA=')); 36 | it('\\0\\0\\0', is(Base64.encode('\0\0\0'), 'AAAA')); 37 | it('AA==', is(Base64.decode('AA=='), '\0' )); 38 | it('AAA=', is(Base64.decode('AAA='), '\0\0' )); 39 | it('AAAA', is(Base64.decode('AAAA'), '\0\0\0')); 40 | }); 41 | 42 | describe('Base64', function () { 43 | it('.encode', is(Base64.encode('小飼弾'), '5bCP6aO85by+')); 44 | it('.encodeURI', is(Base64.encodeURI('小飼弾'), '5bCP6aO85by-')); 45 | it('.decode', is(Base64.decode('5bCP6aO85by+'), '小飼弾')); 46 | it('.decode', is(Base64.decode('5bCP6aO85by-'), '小飼弾')); 47 | }); 48 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/es5.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: es5.js,v 0.1 2012/08/23 19:43:17 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | 18 | if ('extendString' in Base64){ 19 | Base64.extendString(); 20 | describe('String', function () { 21 | it('.toBase64', is('小飼弾'.toBase64(), '5bCP6aO85by+')); 22 | it('.toBase64', is('小飼弾'.toBase64(true), '5bCP6aO85by-')); 23 | it('.toBase64URI', is('小飼弾'.toBase64URI(), '5bCP6aO85by-')); 24 | it('.fromBase64', is('5bCP6aO85by+'.fromBase64(), '小飼弾')); 25 | it('.fromBase64', is('5bCP6aO85by-'.fromBase64(), '小飼弾')); 26 | }); 27 | } 28 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 19 | 20 | 21 | 22 | 23 | 28 | 29 | 30 | $Id: browser.html,v 0.2 2012/08/23 19:44:32 dankogai Exp dankogai $ 31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/large.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: large.js,v 0.3 2012/08/23 19:14:37 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | var seed = function () { 18 | var a, i; 19 | for (a = [], i = 0; i < 256; i++) { 20 | a.push(String.fromCharCode(i)); 21 | } 22 | return a.join(''); 23 | }(); 24 | describe('Base64', function () { 25 | for (var i = 0, str = seed; i < 16; str += str, i++) { 26 | it(str.length, is(Base64.decode(Base64.encode(str)), str)); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/yoshinoya.js: -------------------------------------------------------------------------------- 1 | /* 2 | * use mocha to test me 3 | * http://visionmedia.github.com/mocha/ 4 | */ 5 | var assert, Base64; 6 | if (this['window'] !== this) { 7 | assert = require("assert"); 8 | Base64 = require('../base64.js').Base64; 9 | } 10 | var is = function (a, e, m) { 11 | return function () { 12 | assert.equal(a, e, m) 13 | } 14 | }; 15 | 16 | describe('Yoshinoya', function () { 17 | it('.encode', is(Base64.encode('𠮷野家'), '8KCut+mHjuWutg==')); 18 | it('.encodeURI', is(Base64.encodeURI('𠮷野家'), '8KCut-mHjuWutg')); 19 | it('.decode', is(Base64.decode('8KCut+mHjuWutg=='), '𠮷野家')); 20 | it('.decode', is(Base64.decode('8KCut-mHjuWutg'), '𠮷野家')); 21 | it('.decode', is(Base64.decode('7aGC7b636YeO5a62'), '𠮷野家')); 22 | }); 23 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/assert-shim.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | define('test/source-map/assert', ['exports'], function (exports) { 8 | 9 | let do_throw = function (msg) { 10 | throw new Error(msg); 11 | }; 12 | 13 | exports.init = function (throw_fn) { 14 | do_throw = throw_fn; 15 | }; 16 | 17 | exports.doesNotThrow = function (fn) { 18 | try { 19 | fn(); 20 | } 21 | catch (e) { 22 | do_throw(e.message); 23 | } 24 | }; 25 | 26 | exports.equal = function (actual, expected, msg) { 27 | msg = msg || String(actual) + ' != ' + String(expected); 28 | if (actual != expected) { 29 | do_throw(msg); 30 | } 31 | }; 32 | 33 | exports.ok = function (val, msg) { 34 | msg = msg || String(val) + ' is falsey'; 35 | if (!Boolean(val)) { 36 | do_throw(msg); 37 | } 38 | }; 39 | 40 | exports.strictEqual = function (actual, expected, msg) { 41 | msg = msg || String(actual) + ' !== ' + String(expected); 42 | if (actual !== expected) { 43 | do_throw(msg); 44 | } 45 | }; 46 | 47 | exports.throws = function (fn) { 48 | try { 49 | fn(); 50 | do_throw('Expected an error to be thrown, but it wasn\'t.'); 51 | } 52 | catch (e) { 53 | } 54 | }; 55 | 56 | }); 57 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import("resource://gre/modules/devtools/Console.jsm"); 21 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 22 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); 13 | 14 | /** 15 | * Encode an integer in the range of 0 to 63 to a single base 64 digit. 16 | */ 17 | exports.encode = function (number) { 18 | if (0 <= number && number < intToCharMap.length) { 19 | return intToCharMap[number]; 20 | } 21 | throw new TypeError("Must be between 0 and 63: " + aNumber); 22 | }; 23 | 24 | /** 25 | * Decode a single base 64 character code digit to an integer. Returns -1 on 26 | * failure. 27 | */ 28 | exports.decode = function (charCode) { 29 | var bigA = 65; // 'A' 30 | var bigZ = 90; // 'Z' 31 | 32 | var littleA = 97; // 'a' 33 | var littleZ = 122; // 'z' 34 | 35 | var zero = 48; // '0' 36 | var nine = 57; // '9' 37 | 38 | var plus = 43; // '+' 39 | var slash = 47; // '/' 40 | 41 | var littleOffset = 26; 42 | var numberOffset = 52; 43 | 44 | // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ 45 | if (bigA <= charCode && charCode <= bigZ) { 46 | return (charCode - bigA); 47 | } 48 | 49 | // 26 - 51: abcdefghijklmnopqrstuvwxyz 50 | if (littleA <= charCode && charCode <= littleZ) { 51 | return (charCode - littleA + littleOffset); 52 | } 53 | 54 | // 52 - 61: 0123456789 55 | if (zero <= charCode && charCode <= nine) { 56 | return (charCode - zero + numberOffset); 57 | } 58 | 59 | // 62: + 60 | if (charCode == plus) { 61 | return 62; 62 | } 63 | 64 | // 63: / 65 | if (charCode == slash) { 66 | return 63; 67 | } 68 | 69 | // Invalid base64 digit. 70 | return -1; 71 | }; 72 | 73 | }); 74 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js: -------------------------------------------------------------------------------- 1 | /*jshint node: true */ 2 | var inserted, 3 | Module = require('module'), 4 | fs = require('fs'), 5 | existingExtFn = Module._extensions['.js'], 6 | amdefineRegExp = /amdefine\.js/; 7 | 8 | inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; 9 | 10 | //From the node/lib/module.js source: 11 | function stripBOM(content) { 12 | // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) 13 | // because the buffer-to-string conversion in `fs.readFileSync()` 14 | // translates it to FEFF, the UTF-16 BOM. 15 | if (content.charCodeAt(0) === 0xFEFF) { 16 | content = content.slice(1); 17 | } 18 | return content; 19 | } 20 | 21 | //Also adapted from the node/lib/module.js source: 22 | function intercept(module, filename) { 23 | var content = stripBOM(fs.readFileSync(filename, 'utf8')); 24 | 25 | if (!amdefineRegExp.test(module.id)) { 26 | content = inserted + content; 27 | } 28 | 29 | module._compile(content, filename); 30 | } 31 | 32 | intercept._id = 'amdefine/intercept'; 33 | 34 | if (!existingExtFn._id || existingExtFn._id !== intercept._id) { 35 | Module._extensions['.js'] = intercept; 36 | } 37 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "amdefine", 3 | "description": "Provide AMD's define() API for declaring modules in the AMD format", 4 | "version": "1.0.0", 5 | "homepage": "http://github.com/jrburke/amdefine", 6 | "author": { 7 | "name": "James Burke", 8 | "email": "jrburke@gmail.com", 9 | "url": "http://github.com/jrburke" 10 | }, 11 | "license": "BSD-3-Clause AND MIT", 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/jrburke/amdefine.git" 15 | }, 16 | "main": "./amdefine.js", 17 | "engines": { 18 | "node": ">=0.4.2" 19 | }, 20 | "gitHead": "578bc4a3f7dede33f3f3e10edde0c1607005d761", 21 | "bugs": { 22 | "url": "https://github.com/jrburke/amdefine/issues" 23 | }, 24 | "_id": "amdefine@1.0.0", 25 | "scripts": {}, 26 | "_shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", 27 | "_from": "amdefine@>=0.0.4", 28 | "_npmVersion": "2.12.1", 29 | "_nodeVersion": "0.10.36", 30 | "_npmUser": { 31 | "name": "jrburke", 32 | "email": "jrburke@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "jrburke", 37 | "email": "jrburke@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", 42 | "tarball": "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", 46 | "readme": "ERROR: No README data found!" 47 | } 48 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss", 3 | "version": "4.1.16", 4 | "description": "Tool for transforming CSS with JS plugins", 5 | "keywords": [ 6 | "css", 7 | "postproccessor", 8 | "parser", 9 | "source map", 10 | "transform", 11 | "manipulation", 12 | "preprocess", 13 | "transpiler" 14 | ], 15 | "author": { 16 | "name": "Andrey Sitnik", 17 | "email": "andrey@sitnik.ru" 18 | }, 19 | "license": "MIT", 20 | "repository": { 21 | "type": "git", 22 | "url": "git+https://github.com/postcss/postcss.git" 23 | }, 24 | "dependencies": { 25 | "es6-promise": "~2.3.0", 26 | "source-map": "~0.4.2", 27 | "js-base64": "~2.1.8" 28 | }, 29 | "devDependencies": { 30 | "concat-with-sourcemaps": "1.0.2", 31 | "gulp-json-editor": "2.2.1", 32 | "load-resources": "0.1.0", 33 | "gulp-eslint": "0.15.0", 34 | "gulp-babel": "5.1.0", 35 | "gulp-mocha": "2.1.2", 36 | "yaspeller": "2.5.0", 37 | "gulp-util": "3.0.6", 38 | "gulp-run": "1.6.8", 39 | "fs-extra": "0.21.0", 40 | "sinon": "1.15.4", 41 | "mocha": "2.2.5", 42 | "gulp": "3.9.0", 43 | "chai": "3.0.0", 44 | "babel": "5.6.14" 45 | }, 46 | "scripts": { 47 | "test": "gulp" 48 | }, 49 | "main": "lib/postcss", 50 | "bugs": { 51 | "url": "https://github.com/postcss/postcss/issues" 52 | }, 53 | "homepage": "https://github.com/postcss/postcss#readme", 54 | "_id": "postcss@4.1.16", 55 | "_shasum": "4c449b4c8af9df3caf6d37f8e1e575d0361758dc", 56 | "_from": "postcss@*", 57 | "_npmVersion": "2.11.3", 58 | "_nodeVersion": "2.3.3", 59 | "_npmUser": { 60 | "name": "ai", 61 | "email": "andrey@sitnik.ru" 62 | }, 63 | "dist": { 64 | "shasum": "4c449b4c8af9df3caf6d37f8e1e575d0361758dc", 65 | "tarball": "http://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz" 66 | }, 67 | "maintainers": [ 68 | { 69 | "name": "ai", 70 | "email": "andrey@sitnik.ru" 71 | } 72 | ], 73 | "directories": {}, 74 | "_resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", 75 | "readme": "ERROR: No README data found!" 76 | } 77 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative 2 | Reporters & Editors 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/underscore/README.md: -------------------------------------------------------------------------------- 1 | __ 2 | /\ \ __ 3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ 4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ 5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ 6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ 7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ 8 | \ \____/ 9 | \/___/ 10 | 11 | Underscore.js is a utility-belt library for JavaScript that provides 12 | support for the usual functional suspects (each, map, reduce, filter...) 13 | without extending any core JavaScript objects. 14 | 15 | For Docs, License, Tests, and pre-packed downloads, see: 16 | http://underscorejs.org 17 | 18 | Underscore is an open-sourced component of DocumentCloud: 19 | https://github.com/documentcloud 20 | 21 | Many thanks to our contributors: 22 | https://github.com/jashkenas/underscore/contributors 23 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/node_modules/underscore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "underscore", 3 | "description": "JavaScript's functional programming helper library.", 4 | "homepage": "http://underscorejs.org", 5 | "keywords": [ 6 | "util", 7 | "functional", 8 | "server", 9 | "client", 10 | "browser" 11 | ], 12 | "author": { 13 | "name": "Jeremy Ashkenas", 14 | "email": "jeremy@documentcloud.org" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/jashkenas/underscore.git" 19 | }, 20 | "main": "underscore.js", 21 | "version": "1.8.3", 22 | "devDependencies": { 23 | "docco": "*", 24 | "eslint": "0.6.x", 25 | "karma": "~0.12.31", 26 | "karma-qunit": "~0.1.4", 27 | "qunit-cli": "~0.2.0", 28 | "uglify-js": "2.4.x" 29 | }, 30 | "scripts": { 31 | "test": "npm run test-node && npm run lint", 32 | "lint": "eslint underscore.js test/*.js", 33 | "test-node": "qunit-cli test/*.js", 34 | "test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start", 35 | "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js", 36 | "doc": "docco underscore.js" 37 | }, 38 | "license": "MIT", 39 | "files": [ 40 | "underscore.js", 41 | "underscore-min.js", 42 | "underscore-min.map", 43 | "LICENSE" 44 | ], 45 | "gitHead": "e4743ab712b8ab42ad4ccb48b155034d02394e4d", 46 | "bugs": { 47 | "url": "https://github.com/jashkenas/underscore/issues" 48 | }, 49 | "_id": "underscore@1.8.3", 50 | "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", 51 | "_from": "underscore@*", 52 | "_npmVersion": "1.4.28", 53 | "_npmUser": { 54 | "name": "jashkenas", 55 | "email": "jashkenas@gmail.com" 56 | }, 57 | "maintainers": [ 58 | { 59 | "name": "jashkenas", 60 | "email": "jashkenas@gmail.com" 61 | } 62 | ], 63 | "dist": { 64 | "shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", 65 | "tarball": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" 66 | }, 67 | "directories": {}, 68 | "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", 69 | "readme": "ERROR: No README data found!" 70 | } 71 | -------------------------------------------------------------------------------- /GruntVersion_Complete/node_modules/postcss-myplugin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss-myplugin", 3 | "version": "1.0.0", 4 | "description": "Basic PostCSS plugin", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Kezz Bracey", 10 | "license": "MIT", 11 | "dependencies": { 12 | "postcss": "^4.1.16", 13 | "underscore": "^1.8.3" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /GruntVersion_Complete/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gruntpostcssstarter", 3 | "version": "1.0.0", 4 | "description": "Basic starter project for PostCSS use via Grunt", 5 | "author": "Kezz Bracey", 6 | "license": "MIT", 7 | "devDependencies": { 8 | "grunt": "^0.4.5", 9 | "grunt-postcss": "^0.6.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /GruntVersion_Complete/src/style.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | font-family: "Open Sans", fontstack("Arial"); 3 | } -------------------------------------------------------------------------------- /GulpStarterProject/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var postcss = require('gulp-postcss'); 3 | 4 | gulp.task('css', function () { 5 | var processors = [ 6 | 7 | ]; 8 | return gulp.src('./src/*.css') 9 | .pipe(postcss(processors)) 10 | .pipe(gulp.dest('./dest')); 11 | }); -------------------------------------------------------------------------------- /GulpStarterProject/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gulppostcssstarter", 3 | "version": "1.0.0", 4 | "description": "Basic starter project for PostCSS use via Gulp", 5 | "author": "Kezz Bracey", 6 | "license": "MIT", 7 | "devDependencies": { 8 | "gulp": "^3.9.0", 9 | "gulp-postcss": "^6.0.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /GulpStarterProject/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/postcss-deep-dive-create-your-own-plugin/e6fe22f3f8807bfa7e3a08c02dd83c360551fdbb/GulpStarterProject/src/style.css -------------------------------------------------------------------------------- /GulpVersion_Complete/dest/style.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | font-family: "Open Sans", Arial, "Helvetica Neue", Helvetica, sans-serif; 3 | } -------------------------------------------------------------------------------- /GulpVersion_Complete/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var postcss = require('gulp-postcss'); 3 | 4 | var myplugin = require('postcss-myplugin'); 5 | 6 | gulp.task('css', function () { 7 | var processors = [ 8 | myplugin({ 9 | fontstacks: { 10 | // 'Extra Stack': '"Extra Stack", "Moar Fonts", Extra, serif', 11 | // 'Arial': 'Arial, "Comic Sans"' 12 | } 13 | }) 14 | ]; 15 | return gulp.src('./src/*.css') 16 | .pipe(postcss(processors)) 17 | .pipe(gulp.dest('./dest')); 18 | }); -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/.bin/gulp: -------------------------------------------------------------------------------- 1 | ../gulp/bin/gulp.js -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/index.js: -------------------------------------------------------------------------------- 1 | var postcss = require('postcss'); 2 | var _ = require('underscore'); 3 | 4 | // Font stacks from http://www.cssfontstack.com/ 5 | var fontstacks_config = { 6 | 'Arial': 'Arial, "Helvetica Neue", Helvetica, sans-serif', 7 | 'Times New Roman': 'TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif' 8 | } 9 | 10 | // Credit for this function to http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript/196991#196991 11 | function toTitleCase(str) { 12 | return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 13 | } 14 | 15 | module.exports = postcss.plugin('myplugin', function (options) { 16 | 17 | return function (css) { 18 | 19 | options = options || {}; 20 | 21 | // Extend the default fontstacks_config option with any custom fontstacks set in the plugin's options 22 | fontstacks_config = _.extend(fontstacks_config, options.fontstacks); 23 | 24 | css.walkRules(function (rule) { 25 | 26 | rule.walkDecls(function (decl, i) { 27 | 28 | var value = decl.value; 29 | 30 | if (value.indexOf( 'fontstack(' ) !== -1) { 31 | 32 | // Get the name of the fontstack requested by matching the string inside the brackets of fontstack(). 33 | // Then replace any double or single quotes therein. 34 | var fontstack_requested = value.match(/\(([^)]+)\)/)[1].replace(/["']/g, ""); 35 | 36 | // Title case the words in the font name, just in case the user didn't do it themselves 37 | fontstack_requested = toTitleCase(fontstack_requested); 38 | 39 | // Lookup the requested fontstack in the fontstack_config object 40 | var fontstack = fontstacks_config[fontstack_requested]; 41 | 42 | // Find and store any font names that might be already be in the value, before the fontstack() call 43 | var first_font = value.substr(0, value.indexOf('fontstack(')); 44 | 45 | // Create the new value for this rule by combining the first_font and fontstack variables 46 | var new_value = first_font + fontstack; 47 | 48 | // Send the new value back into the stylesheet 49 | decl.value = new_value; 50 | 51 | } 52 | 53 | }); 54 | 55 | }); 56 | 57 | } 58 | 59 | }); -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2013 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/at-rule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _container = require('./container'); 12 | 13 | var _container2 = _interopRequireDefault(_container); 14 | 15 | var AtRule = (function (_Container) { 16 | function AtRule(defaults) { 17 | _classCallCheck(this, AtRule); 18 | 19 | _Container.call(this, defaults); 20 | this.type = 'atrule'; 21 | } 22 | 23 | _inherits(AtRule, _Container); 24 | 25 | AtRule.prototype.stringify = function stringify(builder, semicolon) { 26 | var name = '@' + this.name; 27 | var params = this.params ? this.stringifyRaw('params') : ''; 28 | 29 | if (typeof this.afterName !== 'undefined') { 30 | name += this.afterName; 31 | } else if (params) { 32 | name += ' '; 33 | } 34 | 35 | if (this.nodes) { 36 | this.stringifyBlock(builder, name + params); 37 | } else { 38 | var before = this.style('before'); 39 | if (before) builder(before); 40 | var end = (this.between || '') + (semicolon ? ';' : ''); 41 | builder(name + params + end, this); 42 | } 43 | }; 44 | 45 | AtRule.prototype.append = function append(child) { 46 | if (!this.nodes) this.nodes = []; 47 | return _Container.prototype.append.call(this, child); 48 | }; 49 | 50 | AtRule.prototype.prepend = function prepend(child) { 51 | if (!this.nodes) this.nodes = []; 52 | return _Container.prototype.prepend.call(this, child); 53 | }; 54 | 55 | AtRule.prototype.insertBefore = function insertBefore(exist, add) { 56 | if (!this.nodes) this.nodes = []; 57 | return _Container.prototype.insertBefore.call(this, exist, add); 58 | }; 59 | 60 | AtRule.prototype.insertAfter = function insertAfter(exist, add) { 61 | if (!this.nodes) this.nodes = []; 62 | return _Container.prototype.insertAfter.call(this, exist, add); 63 | }; 64 | 65 | return AtRule; 66 | })(_container2['default']); 67 | 68 | exports['default'] = AtRule; 69 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/comment.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _node = require('./node'); 12 | 13 | var _node2 = _interopRequireDefault(_node); 14 | 15 | var Comment = (function (_Node) { 16 | function Comment(defaults) { 17 | _classCallCheck(this, Comment); 18 | 19 | _Node.call(this, defaults); 20 | this.type = 'comment'; 21 | } 22 | 23 | _inherits(Comment, _Node); 24 | 25 | Comment.prototype.stringify = function stringify(builder) { 26 | var before = this.style('before'); 27 | if (before) builder(before); 28 | var left = this.style('left', 'commentLeft'); 29 | var right = this.style('right', 'commentRight'); 30 | builder('/*' + left + this.text + right + '*/', this); 31 | }; 32 | 33 | return Comment; 34 | })(_node2['default']); 35 | 36 | exports['default'] = Comment; 37 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/declaration.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _node = require('./node'); 12 | 13 | var _node2 = _interopRequireDefault(_node); 14 | 15 | var Declaration = (function (_Node) { 16 | function Declaration(defaults) { 17 | _classCallCheck(this, Declaration); 18 | 19 | _Node.call(this, defaults); 20 | this.type = 'decl'; 21 | } 22 | 23 | _inherits(Declaration, _Node); 24 | 25 | Declaration.prototype.stringify = function stringify(builder, semicolon) { 26 | var before = this.style('before'); 27 | if (before) builder(before); 28 | 29 | var between = this.style('between', 'colon'); 30 | var string = this.prop + between + this.stringifyRaw('value'); 31 | 32 | if (this.important) { 33 | string += this._important || ' !important'; 34 | } 35 | 36 | if (semicolon) string += ';'; 37 | builder(string, this); 38 | }; 39 | 40 | return Declaration; 41 | })(_node2['default']); 42 | 43 | exports['default'] = Declaration; 44 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/list.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | var list = { 5 | 6 | split: function split(string, separators, last) { 7 | var array = []; 8 | var current = ''; 9 | var split = false; 10 | 11 | var func = 0; 12 | var quote = false; 13 | var escape = false; 14 | 15 | for (var i = 0; i < string.length; i++) { 16 | var letter = string[i]; 17 | 18 | if (quote) { 19 | if (escape) { 20 | escape = false; 21 | } else if (letter === '\\') { 22 | escape = true; 23 | } else if (letter === quote) { 24 | quote = false; 25 | } 26 | } else if (letter === '"' || letter === '\'') { 27 | quote = letter; 28 | } else if (letter === '(') { 29 | func += 1; 30 | } else if (letter === ')') { 31 | if (func > 0) func -= 1; 32 | } else if (func === 0) { 33 | if (separators.indexOf(letter) !== -1) split = true; 34 | } 35 | 36 | if (split) { 37 | if (current !== '') array.push(current.trim()); 38 | current = ''; 39 | split = false; 40 | } else { 41 | current += letter; 42 | } 43 | } 44 | 45 | if (last || current !== '') array.push(current.trim()); 46 | return array; 47 | }, 48 | 49 | space: function space(string) { 50 | var spaces = [' ', '\n', '\t']; 51 | return list.split(string, spaces); 52 | }, 53 | 54 | comma: function comma(string) { 55 | var comma = ','; 56 | return list.split(string, [comma], true); 57 | } 58 | 59 | }; 60 | 61 | exports['default'] = list; 62 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/parse.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = parse; 5 | 6 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7 | 8 | var _parser = require('./parser'); 9 | 10 | var _parser2 = _interopRequireDefault(_parser); 11 | 12 | var _input = require('./input'); 13 | 14 | var _input2 = _interopRequireDefault(_input); 15 | 16 | function parse(css, opts) { 17 | var input = new _input2['default'](css, opts); 18 | 19 | var parser = new _parser2['default'](input); 20 | parser.tokenize(); 21 | parser.loop(); 22 | 23 | return parser.root; 24 | } 25 | 26 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/postcss.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | var _declaration = require('./declaration'); 8 | 9 | var _declaration2 = _interopRequireDefault(_declaration); 10 | 11 | var _processor = require('./processor'); 12 | 13 | var _processor2 = _interopRequireDefault(_processor); 14 | 15 | var _comment = require('./comment'); 16 | 17 | var _comment2 = _interopRequireDefault(_comment); 18 | 19 | var _atRule = require('./at-rule'); 20 | 21 | var _atRule2 = _interopRequireDefault(_atRule); 22 | 23 | var _vendor = require('./vendor'); 24 | 25 | var _vendor2 = _interopRequireDefault(_vendor); 26 | 27 | var _parse = require('./parse'); 28 | 29 | var _parse2 = _interopRequireDefault(_parse); 30 | 31 | var _list = require('./list'); 32 | 33 | var _list2 = _interopRequireDefault(_list); 34 | 35 | var _rule = require('./rule'); 36 | 37 | var _rule2 = _interopRequireDefault(_rule); 38 | 39 | var _root = require('./root'); 40 | 41 | var _root2 = _interopRequireDefault(_root); 42 | 43 | var postcss = function postcss() { 44 | for (var _len = arguments.length, plugins = Array(_len), _key = 0; _key < _len; _key++) { 45 | plugins[_key] = arguments[_key]; 46 | } 47 | 48 | if (plugins.length === 1 && Array.isArray(plugins[0])) { 49 | plugins = plugins[0]; 50 | } 51 | return new _processor2['default'](plugins); 52 | }; 53 | 54 | postcss.plugin = function (name, initializer) { 55 | var creator = function creator() { 56 | var transformer = initializer.apply(this, arguments); 57 | transformer.postcssPlugin = name; 58 | transformer.postcssVersion = _processor2['default'].prototype.version; 59 | return transformer; 60 | }; 61 | 62 | creator.postcss = creator(); 63 | return creator; 64 | }; 65 | 66 | postcss.vendor = _vendor2['default']; 67 | 68 | postcss.parse = _parse2['default']; 69 | 70 | postcss.list = _list2['default']; 71 | 72 | postcss.comment = function (defaults) { 73 | return new _comment2['default'](defaults); 74 | }; 75 | postcss.atRule = function (defaults) { 76 | return new _atRule2['default'](defaults); 77 | }; 78 | postcss.decl = function (defaults) { 79 | return new _declaration2['default'](defaults); 80 | }; 81 | postcss.rule = function (defaults) { 82 | return new _rule2['default'](defaults); 83 | }; 84 | postcss.root = function (defaults) { 85 | return new _root2['default'](defaults); 86 | }; 87 | 88 | exports['default'] = postcss; 89 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/processor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | var _lazyResult = require('./lazy-result'); 10 | 11 | var _lazyResult2 = _interopRequireDefault(_lazyResult); 12 | 13 | var Processor = (function () { 14 | function Processor() { 15 | var plugins = arguments[0] === undefined ? [] : arguments[0]; 16 | 17 | _classCallCheck(this, Processor); 18 | 19 | this.plugins = this.normalize(plugins); 20 | } 21 | 22 | Processor.prototype.use = function use(plugin) { 23 | this.plugins = this.plugins.concat(this.normalize([plugin])); 24 | return this; 25 | }; 26 | 27 | Processor.prototype.process = function process(css) { 28 | var opts = arguments[1] === undefined ? {} : arguments[1]; 29 | 30 | return new _lazyResult2['default'](this, css, opts); 31 | }; 32 | 33 | Processor.prototype.normalize = function normalize(plugins) { 34 | var normalized = []; 35 | for (var _iterator = plugins, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { 36 | var _ref; 37 | 38 | if (_isArray) { 39 | if (_i >= _iterator.length) break; 40 | _ref = _iterator[_i++]; 41 | } else { 42 | _i = _iterator.next(); 43 | if (_i.done) break; 44 | _ref = _i.value; 45 | } 46 | 47 | var i = _ref; 48 | 49 | var type = typeof i; 50 | if ((type === 'object' || type === 'function') && i.postcss) { 51 | i = i.postcss; 52 | } 53 | 54 | if (typeof i === 'object' && Array.isArray(i.plugins)) { 55 | normalized = normalized.concat(i.plugins); 56 | } else { 57 | normalized.push(i); 58 | } 59 | } 60 | return normalized; 61 | }; 62 | 63 | return Processor; 64 | })(); 65 | 66 | exports['default'] = Processor; 67 | 68 | Processor.prototype.version = require('../package').version; 69 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/result.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8 | 9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 10 | 11 | var _warnOnce = require('./warn-once'); 12 | 13 | var _warnOnce2 = _interopRequireDefault(_warnOnce); 14 | 15 | var _warning = require('./warning'); 16 | 17 | var _warning2 = _interopRequireDefault(_warning); 18 | 19 | var Result = (function () { 20 | function Result(processor, root, opts) { 21 | _classCallCheck(this, Result); 22 | 23 | this.processor = processor; 24 | this.messages = []; 25 | this.root = root; 26 | this.opts = opts; 27 | this.css = undefined; 28 | this.map = undefined; 29 | } 30 | 31 | Result.prototype.toString = function toString() { 32 | return this.css; 33 | }; 34 | 35 | Result.prototype.warn = function warn(text) { 36 | var opts = arguments[1] === undefined ? {} : arguments[1]; 37 | 38 | if (!opts.plugin) { 39 | if (this.lastPlugin && this.lastPlugin.postcssPlugin) { 40 | opts.plugin = this.lastPlugin.postcssPlugin; 41 | } 42 | } 43 | 44 | this.messages.push(new _warning2['default'](text, opts)); 45 | }; 46 | 47 | Result.prototype.warnings = function warnings() { 48 | return this.messages.filter(function (i) { 49 | return i.type === 'warning'; 50 | }); 51 | }; 52 | 53 | _createClass(Result, [{ 54 | key: 'from', 55 | get: function get() { 56 | _warnOnce2['default']('result.from is deprecated and will be removed in 5.0. ' + 'Use result.opts.from instead.'); 57 | return this.opts.from; 58 | } 59 | }, { 60 | key: 'to', 61 | get: function get() { 62 | _warnOnce2['default']('result.to is deprecated and will be removed in 5.0. ' + 'Use result.opts.to instead.'); 63 | return this.opts.to; 64 | } 65 | }]); 66 | 67 | return Result; 68 | })(); 69 | 70 | exports['default'] = Result; 71 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/rule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8 | 9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 10 | 11 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 12 | 13 | var _container = require('./container'); 14 | 15 | var _container2 = _interopRequireDefault(_container); 16 | 17 | var _list = require('./list'); 18 | 19 | var _list2 = _interopRequireDefault(_list); 20 | 21 | var Rule = (function (_Container) { 22 | function Rule(defaults) { 23 | _classCallCheck(this, Rule); 24 | 25 | _Container.call(this, defaults); 26 | if (!this.nodes) this.nodes = []; 27 | this.type = 'rule'; 28 | } 29 | 30 | _inherits(Rule, _Container); 31 | 32 | Rule.prototype.stringify = function stringify(builder) { 33 | this.stringifyBlock(builder, this.stringifyRaw('selector')); 34 | }; 35 | 36 | _createClass(Rule, [{ 37 | key: 'selectors', 38 | get: function get() { 39 | return _list2['default'].comma(this.selector); 40 | }, 41 | set: function set(values) { 42 | this.selector = values.join(', '); 43 | } 44 | }]); 45 | 46 | return Rule; 47 | })(_container2['default']); 48 | 49 | exports['default'] = Rule; 50 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/vendor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = { 5 | 6 | prefix: function prefix(prop) { 7 | if (prop[0] === '-') { 8 | var sep = prop.indexOf('-', 1); 9 | return prop.substr(0, sep + 1); 10 | } else { 11 | return ''; 12 | } 13 | }, 14 | 15 | unprefixed: function unprefixed(prop) { 16 | if (prop[0] === '-') { 17 | var sep = prop.indexOf('-', 1); 18 | return prop.substr(sep + 1); 19 | } else { 20 | return prop; 21 | } 22 | } 23 | 24 | }; 25 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/warn-once.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = warnOnce; 5 | var printed = {}; 6 | 7 | function warnOnce(message) { 8 | if (printed[message]) return; 9 | printed[message] = true; 10 | 11 | if (typeof console !== 'undefined' && console.warn) console.warn(message); 12 | } 13 | 14 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/lib/warning.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 6 | 7 | var Warning = (function () { 8 | function Warning(text) { 9 | var opts = arguments[1] === undefined ? {} : arguments[1]; 10 | 11 | _classCallCheck(this, Warning); 12 | 13 | this.type = 'warning'; 14 | this.text = text; 15 | for (var opt in opts) { 16 | this[opt] = opts[opt]; 17 | } 18 | } 19 | 20 | Warning.prototype.toString = function toString() { 21 | if (this.node) { 22 | return this.node.error(this.text, { plugin: this.plugin }).message; 23 | } else if (this.plugin) { 24 | return this.plugin + ': ' + this.text; 25 | } else { 26 | return this.text; 27 | } 28 | }; 29 | 30 | return Warning; 31 | })(); 32 | 33 | exports['default'] = Warning; 34 | module.exports = exports['default']; -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Master 2 | 3 | # 2.0.0 4 | 5 | * re-sync with RSVP. Many large performance improvements and bugfixes. 6 | 7 | # 1.0.0 8 | 9 | * first subset of RSVP 10 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/README.md: -------------------------------------------------------------------------------- 1 | # ES6-Promise (subset of [rsvp.js](https://github.com/tildeio/rsvp.js)) 2 | 3 | This is a polyfill of the [ES6 Promise](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-constructor). The implementation is a subset of [rsvp.js](https://github.com/tildeio/rsvp.js), if you're wanting extra features and more debugging options, check out the [full library](https://github.com/tildeio/rsvp.js). 4 | 5 | For API details and how to use promises, see the JavaScript Promises HTML5Rocks article. 6 | 7 | ## Downloads 8 | 9 | * [es6-promise](https://raw.githubusercontent.com/jakearchibald/es6-promise/master/dist/es6-promise.js) 10 | * [es6-promise-min](https://raw.githubusercontent.com/jakearchibald/es6-promise/master/dist/es6-promise.min.js) 11 | 12 | ## Node.js 13 | 14 | To install: 15 | 16 | ```sh 17 | npm install es6-promise 18 | ``` 19 | 20 | To use: 21 | 22 | ```js 23 | var Promise = require('es6-promise').Promise; 24 | ``` 25 | 26 | ## Usage in IE<9 27 | 28 | `catch` is a reserved word in IE<9, meaning `promise.catch(func)` throws a syntax error. To work around this, you can use a string to access the property as shown in the following example. 29 | 30 | However, please remember that such technique is already provided by most common minifiers, making the resulting code safe for old browsers and production: 31 | 32 | ```js 33 | promise['catch'](function(err) { 34 | // ... 35 | }); 36 | ``` 37 | 38 | Or use `.then` instead: 39 | 40 | ```js 41 | promise.then(undefined, function(err) { 42 | // ... 43 | }); 44 | ``` 45 | 46 | ## Auto-polyfill 47 | 48 | To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet: 49 | 50 | ```js 51 | require('es6-promise').polyfill(); 52 | ``` 53 | 54 | Notice that we don't assign the result of `polyfill()` to any variable. The `polyfill()` method will patch the global environment (in this case to the `Promise` name) when called. 55 | 56 | ## Building & Testing 57 | 58 | * `npm run build` to build 59 | * `npm test` to run tests 60 | * `npm start` to run a build watcher, and webserver to test 61 | * `npm run test:server` for a testem test runner and watching builder 62 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/dist/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | rsvp.js Tests 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 19 | 20 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/dist/test/worker.js: -------------------------------------------------------------------------------- 1 | importScripts('es6-promise.js'); 2 | new ES6Promise.Promise(function(resolve, reject) { 3 | self.onmessage = function (e) { 4 | if (e.data === 'ping') { 5 | resolve('pong'); 6 | } else { 7 | reject(new Error('wrong message')); 8 | } 9 | }; 10 | }).then(function (result) { 11 | self.postMessage(result); 12 | }, function (err){ 13 | setTimeout(function () { 14 | throw err; 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise.umd.js: -------------------------------------------------------------------------------- 1 | import Promise from './es6-promise/promise'; 2 | import polyfill from './es6-promise/polyfill'; 3 | 4 | var ES6Promise = { 5 | 'Promise': Promise, 6 | 'polyfill': polyfill 7 | }; 8 | 9 | /* global define:true module:true window: true */ 10 | if (typeof define === 'function' && define['amd']) { 11 | define(function() { return ES6Promise; }); 12 | } else if (typeof module !== 'undefined' && module['exports']) { 13 | module['exports'] = ES6Promise; 14 | } else if (typeof this !== 'undefined') { 15 | this['ES6Promise'] = ES6Promise; 16 | } 17 | 18 | polyfill(); 19 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/polyfill.js: -------------------------------------------------------------------------------- 1 | /*global self*/ 2 | import Promise from './promise'; 3 | 4 | export default function polyfill() { 5 | var local; 6 | 7 | if (typeof global !== 'undefined') { 8 | local = global; 9 | } else if (typeof self !== 'undefined') { 10 | local = self; 11 | } else { 12 | try { 13 | local = Function('return this')(); 14 | } catch (e) { 15 | throw new Error('polyfill failed because global object is unavailable in this environment'); 16 | } 17 | } 18 | 19 | var P = local.Promise; 20 | 21 | if (P && Object.prototype.toString.call(P.resolve()) === '[object Promise]' && !P.cast) { 22 | return; 23 | } 24 | 25 | local.Promise = Promise; 26 | } 27 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/all.js: -------------------------------------------------------------------------------- 1 | import Enumerator from '../enumerator'; 2 | 3 | /** 4 | `Promise.all` accepts an array of promises, and returns a new promise which 5 | is fulfilled with an array of fulfillment values for the passed promises, or 6 | rejected with the reason of the first passed promise to be rejected. It casts all 7 | elements of the passed iterable to promises as it runs this algorithm. 8 | 9 | Example: 10 | 11 | ```javascript 12 | var promise1 = resolve(1); 13 | var promise2 = resolve(2); 14 | var promise3 = resolve(3); 15 | var promises = [ promise1, promise2, promise3 ]; 16 | 17 | Promise.all(promises).then(function(array){ 18 | // The array here would be [ 1, 2, 3 ]; 19 | }); 20 | ``` 21 | 22 | If any of the `promises` given to `all` are rejected, the first promise 23 | that is rejected will be given as an argument to the returned promises's 24 | rejection handler. For example: 25 | 26 | Example: 27 | 28 | ```javascript 29 | var promise1 = resolve(1); 30 | var promise2 = reject(new Error("2")); 31 | var promise3 = reject(new Error("3")); 32 | var promises = [ promise1, promise2, promise3 ]; 33 | 34 | Promise.all(promises).then(function(array){ 35 | // Code here never runs because there are rejected promises! 36 | }, function(error) { 37 | // error.message === "2" 38 | }); 39 | ``` 40 | 41 | @method all 42 | @static 43 | @param {Array} entries array of promises 44 | @param {String} label optional string for labeling the promise. 45 | Useful for tooling. 46 | @return {Promise} promise that is fulfilled when all `promises` have been 47 | fulfilled, or rejected if any of them become rejected. 48 | @static 49 | */ 50 | export default function all(entries) { 51 | return new Enumerator(this, entries).promise; 52 | } 53 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/reject.js: -------------------------------------------------------------------------------- 1 | import { 2 | noop, 3 | reject as _reject 4 | } from '../-internal'; 5 | 6 | /** 7 | `Promise.reject` returns a promise rejected with the passed `reason`. 8 | It is shorthand for the following: 9 | 10 | ```javascript 11 | var promise = new Promise(function(resolve, reject){ 12 | reject(new Error('WHOOPS')); 13 | }); 14 | 15 | promise.then(function(value){ 16 | // Code here doesn't run because the promise is rejected! 17 | }, function(reason){ 18 | // reason.message === 'WHOOPS' 19 | }); 20 | ``` 21 | 22 | Instead of writing the above, your code now simply becomes the following: 23 | 24 | ```javascript 25 | var promise = Promise.reject(new Error('WHOOPS')); 26 | 27 | promise.then(function(value){ 28 | // Code here doesn't run because the promise is rejected! 29 | }, function(reason){ 30 | // reason.message === 'WHOOPS' 31 | }); 32 | ``` 33 | 34 | @method reject 35 | @static 36 | @param {Any} reason value that the returned promise will be rejected with. 37 | Useful for tooling. 38 | @return {Promise} a promise rejected with the given `reason`. 39 | */ 40 | export default function reject(reason) { 41 | /*jshint validthis:true */ 42 | var Constructor = this; 43 | var promise = new Constructor(noop); 44 | _reject(promise, reason); 45 | return promise; 46 | } 47 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/resolve.js: -------------------------------------------------------------------------------- 1 | import { 2 | noop, 3 | resolve as _resolve 4 | } from '../-internal'; 5 | 6 | /** 7 | `Promise.resolve` returns a promise that will become resolved with the 8 | passed `value`. It is shorthand for the following: 9 | 10 | ```javascript 11 | var promise = new Promise(function(resolve, reject){ 12 | resolve(1); 13 | }); 14 | 15 | promise.then(function(value){ 16 | // value === 1 17 | }); 18 | ``` 19 | 20 | Instead of writing the above, your code now simply becomes the following: 21 | 22 | ```javascript 23 | var promise = Promise.resolve(1); 24 | 25 | promise.then(function(value){ 26 | // value === 1 27 | }); 28 | ``` 29 | 30 | @method resolve 31 | @static 32 | @param {Any} value value that the returned promise will be resolved with 33 | Useful for tooling. 34 | @return {Promise} a promise that will become fulfilled with the given 35 | `value` 36 | */ 37 | export default function resolve(object) { 38 | /*jshint validthis:true */ 39 | var Constructor = this; 40 | 41 | if (object && typeof object === 'object' && object.constructor === Constructor) { 42 | return object; 43 | } 44 | 45 | var promise = new Constructor(noop); 46 | _resolve(promise, object); 47 | return promise; 48 | } 49 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/utils.js: -------------------------------------------------------------------------------- 1 | export function objectOrFunction(x) { 2 | return typeof x === 'function' || (typeof x === 'object' && x !== null); 3 | } 4 | 5 | export function isFunction(x) { 6 | return typeof x === 'function'; 7 | } 8 | 9 | export function isMaybeThenable(x) { 10 | return typeof x === 'object' && x !== null; 11 | } 12 | 13 | var _isArray; 14 | if (!Array.isArray) { 15 | _isArray = function (x) { 16 | return Object.prototype.toString.call(x) === '[object Array]'; 17 | }; 18 | } else { 19 | _isArray = Array.isArray; 20 | } 21 | 22 | export var isArray = _isArray; 23 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/.npmignore: -------------------------------------------------------------------------------- 1 | *,v 2 | attic/**/* 3 | node_modules/**/* 4 | tmp/**/* 5 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | 6 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Dan Kogai 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of {{{project}}} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/README.md: -------------------------------------------------------------------------------- 1 | [![build status](https://secure.travis-ci.org/dankogai/js-base64.png)](http://travis-ci.org/dankogai/js-base64) 2 | 3 | # base64.js 4 | 5 | Yet another Base64 transcoder 6 | 7 | ## Usage 8 | 9 | ### In Browser 10 | ````html 11 | 12 | ```` 13 | ### node.js 14 | ````javascript 15 | var Base64 = require('./base64.js').Base64; 16 | ```` 17 | 18 | 19 | ## SYNOPSIS 20 | 21 | ````javascript 22 | Base64.encode('dankogai'); // ZGFua29nYWk= 23 | Base64.encode('小飼弾'); // 5bCP6aO85by+ 24 | Base64.encodeURI('小飼弾'); // 5bCP6aO85by- 25 | 26 | Base64.decode('ZGFua29nYWk='); // dankogai 27 | Base64.decode('5bCP6aO85by+'); // 小飼弾 28 | // note .decodeURI() is unnecessary since it accepts both flavors 29 | Base64.decode('5bCP6aO85by-'); // 小飼弾 30 | ```` 31 | 32 | ### String Extension for ES5 33 | 34 | ````javascript 35 | if (Base64.extendString) { 36 | // you have to explicitly extend String.prototype 37 | Base64.extendString(); 38 | // once extended, you can do the following 39 | 'dankogai'.toBase64(); // ZGFua29nYWk= 40 | '小飼弾'.toBase64(); // 5bCP6aO85by+ 41 | '小飼弾'.toBase64(true); // 5bCP6aO85by- 42 | '小飼弾'.toBase64URI(); // 5bCP6aO85by- 43 | 'ZGFua29nYWk='.fromBase64(); // dankogai 44 | '5bCP6aO85by+'.fromBase64(); // 小飼弾 45 | '5bCP6aO85by-'.fromBase64(); // 小飼弾 46 | } 47 | ```` 48 | 49 | ## SEE ALSO 50 | 51 | + http://en.wikipedia.org/wiki/Base64 52 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/base64.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test for base64.js 7 | 8 | 9 |

Test for base64.js

10 |

$Id: base64.html,v 1.1 2009/03/01 22:00:28 dankogai Exp dankogai $

11 | 12 | 14 | 15 | 17 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
TextBase64 13 | (URL Safe )
Roundtripiframe w/ data: (no IE)
29 | 30 | 31 | 32 | 46 | 47 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js-base64", 3 | "version": "2.1.9", 4 | "main": [ 5 | "./base64.js" 6 | ], 7 | "ignore": [ 8 | "old", 9 | "test", 10 | ".gitignore", 11 | ".travis.yml", 12 | "base64.html", 13 | "package.json" 14 | ], 15 | "dependencies": { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/package.js: -------------------------------------------------------------------------------- 1 | Package.describe({ 2 | summary: "Yet another Base64 transcoder" 3 | }) 4 | 5 | Package.on_use(function(api){ 6 | api.export('Base64'); 7 | 8 | api.add_files(['base64.js'], 'server'); 9 | }); -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js-base64", 3 | "version": "2.1.9", 4 | "description": "Yet another Base64 transcoder in pure-JS", 5 | "main": "base64.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "mocha" 11 | }, 12 | "devDependencies": { 13 | "mocha": "*" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/dankogai/js-base64.git" 18 | }, 19 | "keywords": [ 20 | "base64" 21 | ], 22 | "author": { 23 | "name": "Dan Kogai" 24 | }, 25 | "license": "BSD", 26 | "gitHead": "8bfa436f733bec60c95c720e1d720c28b43ae0b2", 27 | "bugs": { 28 | "url": "https://github.com/dankogai/js-base64/issues" 29 | }, 30 | "homepage": "https://github.com/dankogai/js-base64#readme", 31 | "_id": "js-base64@2.1.9", 32 | "_shasum": "f0e80ae039a4bd654b5f281fc93f04a914a7fcce", 33 | "_from": "js-base64@>=2.1.8 <2.2.0", 34 | "_npmVersion": "2.13.0", 35 | "_nodeVersion": "0.12.7", 36 | "_npmUser": { 37 | "name": "dankogai", 38 | "email": "dankogai+github@gmail.com" 39 | }, 40 | "maintainers": [ 41 | { 42 | "name": "dankogai", 43 | "email": "dankogai+github@gmail.com" 44 | } 45 | ], 46 | "dist": { 47 | "shasum": "f0e80ae039a4bd654b5f281fc93f04a914a7fcce", 48 | "tarball": "http://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" 49 | }, 50 | "_resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", 51 | "readme": "ERROR: No README data found!" 52 | } 53 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/dankogai.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: dankogai.js,v 0.4 2012/08/24 05:23:18 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | 18 | describe('basic', function () { 19 | it('d', is(Base64.encode('d'), 'ZA==')); 20 | it('da', is(Base64.encode('da'), 'ZGE=')); 21 | it('dan', is(Base64.encode('dan'), 'ZGFu')); 22 | it('ZA==', is(Base64.decode('ZA=='), 'd' )); 23 | it('ZGE=', is(Base64.decode('ZGE='), 'da' )); 24 | it('ZGFu', is(Base64.decode('ZGFu'), 'dan' )); 25 | }); 26 | 27 | describe('whitespace', function () { 28 | it('Z A==', is(Base64.decode('ZA =='), 'd' )); 29 | it('ZG E=', is(Base64.decode('ZG E='), 'da' )); 30 | it('ZGF u', is(Base64.decode('ZGF u'), 'dan' )); 31 | }); 32 | 33 | describe('null', function () { 34 | it('\\0', is(Base64.encode('\0'), 'AA==')); 35 | it('\\0\\0', is(Base64.encode('\0\0'), 'AAA=')); 36 | it('\\0\\0\\0', is(Base64.encode('\0\0\0'), 'AAAA')); 37 | it('AA==', is(Base64.decode('AA=='), '\0' )); 38 | it('AAA=', is(Base64.decode('AAA='), '\0\0' )); 39 | it('AAAA', is(Base64.decode('AAAA'), '\0\0\0')); 40 | }); 41 | 42 | describe('Base64', function () { 43 | it('.encode', is(Base64.encode('小飼弾'), '5bCP6aO85by+')); 44 | it('.encodeURI', is(Base64.encodeURI('小飼弾'), '5bCP6aO85by-')); 45 | it('.decode', is(Base64.decode('5bCP6aO85by+'), '小飼弾')); 46 | it('.decode', is(Base64.decode('5bCP6aO85by-'), '小飼弾')); 47 | }); 48 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/es5.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: es5.js,v 0.1 2012/08/23 19:43:17 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | 18 | if ('extendString' in Base64){ 19 | Base64.extendString(); 20 | describe('String', function () { 21 | it('.toBase64', is('小飼弾'.toBase64(), '5bCP6aO85by+')); 22 | it('.toBase64', is('小飼弾'.toBase64(true), '5bCP6aO85by-')); 23 | it('.toBase64URI', is('小飼弾'.toBase64URI(), '5bCP6aO85by-')); 24 | it('.fromBase64', is('5bCP6aO85by+'.fromBase64(), '小飼弾')); 25 | it('.fromBase64', is('5bCP6aO85by-'.fromBase64(), '小飼弾')); 26 | }); 27 | } 28 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 19 | 20 | 21 | 22 | 23 | 28 | 29 | 30 | $Id: browser.html,v 0.2 2012/08/23 19:44:32 dankogai Exp dankogai $ 31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/large.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: large.js,v 0.3 2012/08/23 19:14:37 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | var seed = function () { 18 | var a, i; 19 | for (a = [], i = 0; i < 256; i++) { 20 | a.push(String.fromCharCode(i)); 21 | } 22 | return a.join(''); 23 | }(); 24 | describe('Base64', function () { 25 | for (var i = 0, str = seed; i < 16; str += str, i++) { 26 | it(str.length, is(Base64.decode(Base64.encode(str)), str)); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/yoshinoya.js: -------------------------------------------------------------------------------- 1 | /* 2 | * use mocha to test me 3 | * http://visionmedia.github.com/mocha/ 4 | */ 5 | var assert, Base64; 6 | if (this['window'] !== this) { 7 | assert = require("assert"); 8 | Base64 = require('../base64.js').Base64; 9 | } 10 | var is = function (a, e, m) { 11 | return function () { 12 | assert.equal(a, e, m) 13 | } 14 | }; 15 | 16 | describe('Yoshinoya', function () { 17 | it('.encode', is(Base64.encode('𠮷野家'), '8KCut+mHjuWutg==')); 18 | it('.encodeURI', is(Base64.encodeURI('𠮷野家'), '8KCut-mHjuWutg')); 19 | it('.decode', is(Base64.decode('8KCut+mHjuWutg=='), '𠮷野家')); 20 | it('.decode', is(Base64.decode('8KCut-mHjuWutg'), '𠮷野家')); 21 | it('.decode', is(Base64.decode('7aGC7b636YeO5a62'), '𠮷野家')); 22 | }); 23 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/assert-shim.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | define('test/source-map/assert', ['exports'], function (exports) { 8 | 9 | let do_throw = function (msg) { 10 | throw new Error(msg); 11 | }; 12 | 13 | exports.init = function (throw_fn) { 14 | do_throw = throw_fn; 15 | }; 16 | 17 | exports.doesNotThrow = function (fn) { 18 | try { 19 | fn(); 20 | } 21 | catch (e) { 22 | do_throw(e.message); 23 | } 24 | }; 25 | 26 | exports.equal = function (actual, expected, msg) { 27 | msg = msg || String(actual) + ' != ' + String(expected); 28 | if (actual != expected) { 29 | do_throw(msg); 30 | } 31 | }; 32 | 33 | exports.ok = function (val, msg) { 34 | msg = msg || String(val) + ' is falsey'; 35 | if (!Boolean(val)) { 36 | do_throw(msg); 37 | } 38 | }; 39 | 40 | exports.strictEqual = function (actual, expected, msg) { 41 | msg = msg || String(actual) + ' !== ' + String(expected); 42 | if (actual !== expected) { 43 | do_throw(msg); 44 | } 45 | }; 46 | 47 | exports.throws = function (fn) { 48 | try { 49 | fn(); 50 | do_throw('Expected an error to be thrown, but it wasn\'t.'); 51 | } 52 | catch (e) { 53 | } 54 | }; 55 | 56 | }); 57 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import("resource://gre/modules/devtools/Console.jsm"); 21 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 22 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); 13 | 14 | /** 15 | * Encode an integer in the range of 0 to 63 to a single base 64 digit. 16 | */ 17 | exports.encode = function (number) { 18 | if (0 <= number && number < intToCharMap.length) { 19 | return intToCharMap[number]; 20 | } 21 | throw new TypeError("Must be between 0 and 63: " + aNumber); 22 | }; 23 | 24 | /** 25 | * Decode a single base 64 character code digit to an integer. Returns -1 on 26 | * failure. 27 | */ 28 | exports.decode = function (charCode) { 29 | var bigA = 65; // 'A' 30 | var bigZ = 90; // 'Z' 31 | 32 | var littleA = 97; // 'a' 33 | var littleZ = 122; // 'z' 34 | 35 | var zero = 48; // '0' 36 | var nine = 57; // '9' 37 | 38 | var plus = 43; // '+' 39 | var slash = 47; // '/' 40 | 41 | var littleOffset = 26; 42 | var numberOffset = 52; 43 | 44 | // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ 45 | if (bigA <= charCode && charCode <= bigZ) { 46 | return (charCode - bigA); 47 | } 48 | 49 | // 26 - 51: abcdefghijklmnopqrstuvwxyz 50 | if (littleA <= charCode && charCode <= littleZ) { 51 | return (charCode - littleA + littleOffset); 52 | } 53 | 54 | // 52 - 61: 0123456789 55 | if (zero <= charCode && charCode <= nine) { 56 | return (charCode - zero + numberOffset); 57 | } 58 | 59 | // 62: + 60 | if (charCode == plus) { 61 | return 62; 62 | } 63 | 64 | // 63: / 65 | if (charCode == slash) { 66 | return 63; 67 | } 68 | 69 | // Invalid base64 digit. 70 | return -1; 71 | }; 72 | 73 | }); 74 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js: -------------------------------------------------------------------------------- 1 | /*jshint node: true */ 2 | var inserted, 3 | Module = require('module'), 4 | fs = require('fs'), 5 | existingExtFn = Module._extensions['.js'], 6 | amdefineRegExp = /amdefine\.js/; 7 | 8 | inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; 9 | 10 | //From the node/lib/module.js source: 11 | function stripBOM(content) { 12 | // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) 13 | // because the buffer-to-string conversion in `fs.readFileSync()` 14 | // translates it to FEFF, the UTF-16 BOM. 15 | if (content.charCodeAt(0) === 0xFEFF) { 16 | content = content.slice(1); 17 | } 18 | return content; 19 | } 20 | 21 | //Also adapted from the node/lib/module.js source: 22 | function intercept(module, filename) { 23 | var content = stripBOM(fs.readFileSync(filename, 'utf8')); 24 | 25 | if (!amdefineRegExp.test(module.id)) { 26 | content = inserted + content; 27 | } 28 | 29 | module._compile(content, filename); 30 | } 31 | 32 | intercept._id = 'amdefine/intercept'; 33 | 34 | if (!existingExtFn._id || existingExtFn._id !== intercept._id) { 35 | Module._extensions['.js'] = intercept; 36 | } 37 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "amdefine", 3 | "description": "Provide AMD's define() API for declaring modules in the AMD format", 4 | "version": "1.0.0", 5 | "homepage": "http://github.com/jrburke/amdefine", 6 | "author": { 7 | "name": "James Burke", 8 | "email": "jrburke@gmail.com", 9 | "url": "http://github.com/jrburke" 10 | }, 11 | "license": "BSD-3-Clause AND MIT", 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/jrburke/amdefine.git" 15 | }, 16 | "main": "./amdefine.js", 17 | "engines": { 18 | "node": ">=0.4.2" 19 | }, 20 | "gitHead": "578bc4a3f7dede33f3f3e10edde0c1607005d761", 21 | "bugs": { 22 | "url": "https://github.com/jrburke/amdefine/issues" 23 | }, 24 | "_id": "amdefine@1.0.0", 25 | "scripts": {}, 26 | "_shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", 27 | "_from": "amdefine@>=0.0.4", 28 | "_npmVersion": "2.12.1", 29 | "_nodeVersion": "0.10.36", 30 | "_npmUser": { 31 | "name": "jrburke", 32 | "email": "jrburke@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "jrburke", 37 | "email": "jrburke@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", 42 | "tarball": "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", 46 | "readme": "ERROR: No README data found!" 47 | } 48 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/postcss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss", 3 | "version": "4.1.16", 4 | "description": "Tool for transforming CSS with JS plugins", 5 | "keywords": [ 6 | "css", 7 | "postproccessor", 8 | "parser", 9 | "source map", 10 | "transform", 11 | "manipulation", 12 | "preprocess", 13 | "transpiler" 14 | ], 15 | "author": { 16 | "name": "Andrey Sitnik", 17 | "email": "andrey@sitnik.ru" 18 | }, 19 | "license": "MIT", 20 | "repository": { 21 | "type": "git", 22 | "url": "git+https://github.com/postcss/postcss.git" 23 | }, 24 | "dependencies": { 25 | "es6-promise": "~2.3.0", 26 | "source-map": "~0.4.2", 27 | "js-base64": "~2.1.8" 28 | }, 29 | "devDependencies": { 30 | "concat-with-sourcemaps": "1.0.2", 31 | "gulp-json-editor": "2.2.1", 32 | "load-resources": "0.1.0", 33 | "gulp-eslint": "0.15.0", 34 | "gulp-babel": "5.1.0", 35 | "gulp-mocha": "2.1.2", 36 | "yaspeller": "2.5.0", 37 | "gulp-util": "3.0.6", 38 | "gulp-run": "1.6.8", 39 | "fs-extra": "0.21.0", 40 | "sinon": "1.15.4", 41 | "mocha": "2.2.5", 42 | "gulp": "3.9.0", 43 | "chai": "3.0.0", 44 | "babel": "5.6.14" 45 | }, 46 | "scripts": { 47 | "test": "gulp" 48 | }, 49 | "main": "lib/postcss", 50 | "bugs": { 51 | "url": "https://github.com/postcss/postcss/issues" 52 | }, 53 | "homepage": "https://github.com/postcss/postcss#readme", 54 | "_id": "postcss@4.1.16", 55 | "_shasum": "4c449b4c8af9df3caf6d37f8e1e575d0361758dc", 56 | "_from": "postcss@*", 57 | "_npmVersion": "2.11.3", 58 | "_nodeVersion": "2.3.3", 59 | "_npmUser": { 60 | "name": "ai", 61 | "email": "andrey@sitnik.ru" 62 | }, 63 | "dist": { 64 | "shasum": "4c449b4c8af9df3caf6d37f8e1e575d0361758dc", 65 | "tarball": "http://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz" 66 | }, 67 | "maintainers": [ 68 | { 69 | "name": "ai", 70 | "email": "andrey@sitnik.ru" 71 | } 72 | ], 73 | "directories": {}, 74 | "_resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", 75 | "readme": "ERROR: No README data found!" 76 | } 77 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative 2 | Reporters & Editors 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/underscore/README.md: -------------------------------------------------------------------------------- 1 | __ 2 | /\ \ __ 3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ 4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ 5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ 6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ 7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ 8 | \ \____/ 9 | \/___/ 10 | 11 | Underscore.js is a utility-belt library for JavaScript that provides 12 | support for the usual functional suspects (each, map, reduce, filter...) 13 | without extending any core JavaScript objects. 14 | 15 | For Docs, License, Tests, and pre-packed downloads, see: 16 | http://underscorejs.org 17 | 18 | Underscore is an open-sourced component of DocumentCloud: 19 | https://github.com/documentcloud 20 | 21 | Many thanks to our contributors: 22 | https://github.com/jashkenas/underscore/contributors 23 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/node_modules/underscore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "underscore", 3 | "description": "JavaScript's functional programming helper library.", 4 | "homepage": "http://underscorejs.org", 5 | "keywords": [ 6 | "util", 7 | "functional", 8 | "server", 9 | "client", 10 | "browser" 11 | ], 12 | "author": { 13 | "name": "Jeremy Ashkenas", 14 | "email": "jeremy@documentcloud.org" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/jashkenas/underscore.git" 19 | }, 20 | "main": "underscore.js", 21 | "version": "1.8.3", 22 | "devDependencies": { 23 | "docco": "*", 24 | "eslint": "0.6.x", 25 | "karma": "~0.12.31", 26 | "karma-qunit": "~0.1.4", 27 | "qunit-cli": "~0.2.0", 28 | "uglify-js": "2.4.x" 29 | }, 30 | "scripts": { 31 | "test": "npm run test-node && npm run lint", 32 | "lint": "eslint underscore.js test/*.js", 33 | "test-node": "qunit-cli test/*.js", 34 | "test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start", 35 | "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js", 36 | "doc": "docco underscore.js" 37 | }, 38 | "license": "MIT", 39 | "files": [ 40 | "underscore.js", 41 | "underscore-min.js", 42 | "underscore-min.map", 43 | "LICENSE" 44 | ], 45 | "gitHead": "e4743ab712b8ab42ad4ccb48b155034d02394e4d", 46 | "bugs": { 47 | "url": "https://github.com/jashkenas/underscore/issues" 48 | }, 49 | "_id": "underscore@1.8.3", 50 | "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", 51 | "_from": "underscore@*", 52 | "_npmVersion": "1.4.28", 53 | "_npmUser": { 54 | "name": "jashkenas", 55 | "email": "jashkenas@gmail.com" 56 | }, 57 | "maintainers": [ 58 | { 59 | "name": "jashkenas", 60 | "email": "jashkenas@gmail.com" 61 | } 62 | ], 63 | "dist": { 64 | "shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", 65 | "tarball": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" 66 | }, 67 | "directories": {}, 68 | "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", 69 | "readme": "ERROR: No README data found!" 70 | } 71 | -------------------------------------------------------------------------------- /GulpVersion_Complete/node_modules/postcss-myplugin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss-myplugin", 3 | "version": "1.0.0", 4 | "description": "Basic PostCSS plugin", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Kezz Bracey", 10 | "license": "MIT", 11 | "dependencies": { 12 | "postcss": "^4.1.16", 13 | "underscore": "^1.8.3" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /GulpVersion_Complete/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gulppostcssstarter", 3 | "version": "1.0.0", 4 | "description": "Basic starter project for PostCSS use via Gulp", 5 | "author": "Kezz Bracey", 6 | "license": "MIT", 7 | "devDependencies": { 8 | "gulp": "^3.9.0", 9 | "gulp-postcss": "^6.0.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /GulpVersion_Complete/src/style.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | font-family: "Open Sans", fontstack("Arial"); 3 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Tuts+ 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Tuts+ Tutorial: [PostCSS Deep Dive: Create Your Own Plugin](http://webdesign.tutsplus.com/tutorials/postcss-deep-dive-create-your-own-plugin--cms-24605) 2 | #### Instructor: Kezz Bracey 3 | 4 | In this tutorial you’ll learn how to create a basic plugin of your own for PostCSS. We won’t be going too heavily into the plugin API, and we won’t use any super hardcore coding. Follow along and see for yourself just how approachable PostCSS plugin development can be! 5 | 6 | **Available on Tuts+ November 10th 2015** 7 | -------------------------------------------------------------------------------- /postcss-myplugin/index.js: -------------------------------------------------------------------------------- 1 | var postcss = require('postcss'); 2 | var _ = require('underscore'); 3 | 4 | // Font stacks from http://www.cssfontstack.com/ 5 | var fontstacks_config = { 6 | 'Arial': 'Arial, "Helvetica Neue", Helvetica, sans-serif', 7 | 'Times New Roman': 'TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif' 8 | } 9 | 10 | // Credit for this function to http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript/196991#196991 11 | function toTitleCase(str) { 12 | return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 13 | } 14 | 15 | module.exports = postcss.plugin('myplugin', function (options) { 16 | 17 | return function (css) { 18 | 19 | options = options || {}; 20 | 21 | // Extend the default fontstacks_config option with any custom fontstacks set in the plugin's options 22 | fontstacks_config = _.extend(fontstacks_config, options.fontstacks); 23 | 24 | css.walkRules(function (rule) { 25 | 26 | rule.walkDecls(function (decl, i) { 27 | 28 | var value = decl.value; 29 | 30 | if (value.indexOf( 'fontstack(' ) !== -1) { 31 | 32 | // Get the name of the fontstack requested by matching the string inside the brackets of fontstack(). 33 | // Then replace any double or single quotes therein. 34 | var fontstack_requested = value.match(/\(([^)]+)\)/)[1].replace(/["']/g, ""); 35 | 36 | // Title case the words in the font name, just in case the user didn't do it themselves 37 | fontstack_requested = toTitleCase(fontstack_requested); 38 | 39 | // Lookup the requested fontstack in the fontstack_config object 40 | var fontstack = fontstacks_config[fontstack_requested]; 41 | 42 | // Find and store any font names that might be already be in the value, before the fontstack() call 43 | var first_font = value.substr(0, value.indexOf('fontstack(')); 44 | 45 | // Create the new value for this rule by combining the first_font and fontstack variables 46 | var new_value = first_font + fontstack; 47 | 48 | // Send the new value back into the stylesheet 49 | decl.value = new_value; 50 | 51 | } 52 | 53 | }); 54 | 55 | }); 56 | 57 | } 58 | 59 | }); -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2013 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/at-rule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _container = require('./container'); 12 | 13 | var _container2 = _interopRequireDefault(_container); 14 | 15 | var AtRule = (function (_Container) { 16 | function AtRule(defaults) { 17 | _classCallCheck(this, AtRule); 18 | 19 | _Container.call(this, defaults); 20 | this.type = 'atrule'; 21 | } 22 | 23 | _inherits(AtRule, _Container); 24 | 25 | AtRule.prototype.stringify = function stringify(builder, semicolon) { 26 | var name = '@' + this.name; 27 | var params = this.params ? this.stringifyRaw('params') : ''; 28 | 29 | if (typeof this.afterName !== 'undefined') { 30 | name += this.afterName; 31 | } else if (params) { 32 | name += ' '; 33 | } 34 | 35 | if (this.nodes) { 36 | this.stringifyBlock(builder, name + params); 37 | } else { 38 | var before = this.style('before'); 39 | if (before) builder(before); 40 | var end = (this.between || '') + (semicolon ? ';' : ''); 41 | builder(name + params + end, this); 42 | } 43 | }; 44 | 45 | AtRule.prototype.append = function append(child) { 46 | if (!this.nodes) this.nodes = []; 47 | return _Container.prototype.append.call(this, child); 48 | }; 49 | 50 | AtRule.prototype.prepend = function prepend(child) { 51 | if (!this.nodes) this.nodes = []; 52 | return _Container.prototype.prepend.call(this, child); 53 | }; 54 | 55 | AtRule.prototype.insertBefore = function insertBefore(exist, add) { 56 | if (!this.nodes) this.nodes = []; 57 | return _Container.prototype.insertBefore.call(this, exist, add); 58 | }; 59 | 60 | AtRule.prototype.insertAfter = function insertAfter(exist, add) { 61 | if (!this.nodes) this.nodes = []; 62 | return _Container.prototype.insertAfter.call(this, exist, add); 63 | }; 64 | 65 | return AtRule; 66 | })(_container2['default']); 67 | 68 | exports['default'] = AtRule; 69 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/comment.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _node = require('./node'); 12 | 13 | var _node2 = _interopRequireDefault(_node); 14 | 15 | var Comment = (function (_Node) { 16 | function Comment(defaults) { 17 | _classCallCheck(this, Comment); 18 | 19 | _Node.call(this, defaults); 20 | this.type = 'comment'; 21 | } 22 | 23 | _inherits(Comment, _Node); 24 | 25 | Comment.prototype.stringify = function stringify(builder) { 26 | var before = this.style('before'); 27 | if (before) builder(before); 28 | var left = this.style('left', 'commentLeft'); 29 | var right = this.style('right', 'commentRight'); 30 | builder('/*' + left + this.text + right + '*/', this); 31 | }; 32 | 33 | return Comment; 34 | })(_node2['default']); 35 | 36 | exports['default'] = Comment; 37 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/declaration.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 10 | 11 | var _node = require('./node'); 12 | 13 | var _node2 = _interopRequireDefault(_node); 14 | 15 | var Declaration = (function (_Node) { 16 | function Declaration(defaults) { 17 | _classCallCheck(this, Declaration); 18 | 19 | _Node.call(this, defaults); 20 | this.type = 'decl'; 21 | } 22 | 23 | _inherits(Declaration, _Node); 24 | 25 | Declaration.prototype.stringify = function stringify(builder, semicolon) { 26 | var before = this.style('before'); 27 | if (before) builder(before); 28 | 29 | var between = this.style('between', 'colon'); 30 | var string = this.prop + between + this.stringifyRaw('value'); 31 | 32 | if (this.important) { 33 | string += this._important || ' !important'; 34 | } 35 | 36 | if (semicolon) string += ';'; 37 | builder(string, this); 38 | }; 39 | 40 | return Declaration; 41 | })(_node2['default']); 42 | 43 | exports['default'] = Declaration; 44 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/list.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | var list = { 5 | 6 | split: function split(string, separators, last) { 7 | var array = []; 8 | var current = ''; 9 | var split = false; 10 | 11 | var func = 0; 12 | var quote = false; 13 | var escape = false; 14 | 15 | for (var i = 0; i < string.length; i++) { 16 | var letter = string[i]; 17 | 18 | if (quote) { 19 | if (escape) { 20 | escape = false; 21 | } else if (letter === '\\') { 22 | escape = true; 23 | } else if (letter === quote) { 24 | quote = false; 25 | } 26 | } else if (letter === '"' || letter === '\'') { 27 | quote = letter; 28 | } else if (letter === '(') { 29 | func += 1; 30 | } else if (letter === ')') { 31 | if (func > 0) func -= 1; 32 | } else if (func === 0) { 33 | if (separators.indexOf(letter) !== -1) split = true; 34 | } 35 | 36 | if (split) { 37 | if (current !== '') array.push(current.trim()); 38 | current = ''; 39 | split = false; 40 | } else { 41 | current += letter; 42 | } 43 | } 44 | 45 | if (last || current !== '') array.push(current.trim()); 46 | return array; 47 | }, 48 | 49 | space: function space(string) { 50 | var spaces = [' ', '\n', '\t']; 51 | return list.split(string, spaces); 52 | }, 53 | 54 | comma: function comma(string) { 55 | var comma = ','; 56 | return list.split(string, [comma], true); 57 | } 58 | 59 | }; 60 | 61 | exports['default'] = list; 62 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/parse.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = parse; 5 | 6 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7 | 8 | var _parser = require('./parser'); 9 | 10 | var _parser2 = _interopRequireDefault(_parser); 11 | 12 | var _input = require('./input'); 13 | 14 | var _input2 = _interopRequireDefault(_input); 15 | 16 | function parse(css, opts) { 17 | var input = new _input2['default'](css, opts); 18 | 19 | var parser = new _parser2['default'](input); 20 | parser.tokenize(); 21 | parser.loop(); 22 | 23 | return parser.root; 24 | } 25 | 26 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/postcss.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | var _declaration = require('./declaration'); 8 | 9 | var _declaration2 = _interopRequireDefault(_declaration); 10 | 11 | var _processor = require('./processor'); 12 | 13 | var _processor2 = _interopRequireDefault(_processor); 14 | 15 | var _comment = require('./comment'); 16 | 17 | var _comment2 = _interopRequireDefault(_comment); 18 | 19 | var _atRule = require('./at-rule'); 20 | 21 | var _atRule2 = _interopRequireDefault(_atRule); 22 | 23 | var _vendor = require('./vendor'); 24 | 25 | var _vendor2 = _interopRequireDefault(_vendor); 26 | 27 | var _parse = require('./parse'); 28 | 29 | var _parse2 = _interopRequireDefault(_parse); 30 | 31 | var _list = require('./list'); 32 | 33 | var _list2 = _interopRequireDefault(_list); 34 | 35 | var _rule = require('./rule'); 36 | 37 | var _rule2 = _interopRequireDefault(_rule); 38 | 39 | var _root = require('./root'); 40 | 41 | var _root2 = _interopRequireDefault(_root); 42 | 43 | var postcss = function postcss() { 44 | for (var _len = arguments.length, plugins = Array(_len), _key = 0; _key < _len; _key++) { 45 | plugins[_key] = arguments[_key]; 46 | } 47 | 48 | if (plugins.length === 1 && Array.isArray(plugins[0])) { 49 | plugins = plugins[0]; 50 | } 51 | return new _processor2['default'](plugins); 52 | }; 53 | 54 | postcss.plugin = function (name, initializer) { 55 | var creator = function creator() { 56 | var transformer = initializer.apply(this, arguments); 57 | transformer.postcssPlugin = name; 58 | transformer.postcssVersion = _processor2['default'].prototype.version; 59 | return transformer; 60 | }; 61 | 62 | creator.postcss = creator(); 63 | return creator; 64 | }; 65 | 66 | postcss.vendor = _vendor2['default']; 67 | 68 | postcss.parse = _parse2['default']; 69 | 70 | postcss.list = _list2['default']; 71 | 72 | postcss.comment = function (defaults) { 73 | return new _comment2['default'](defaults); 74 | }; 75 | postcss.atRule = function (defaults) { 76 | return new _atRule2['default'](defaults); 77 | }; 78 | postcss.decl = function (defaults) { 79 | return new _declaration2['default'](defaults); 80 | }; 81 | postcss.rule = function (defaults) { 82 | return new _rule2['default'](defaults); 83 | }; 84 | postcss.root = function (defaults) { 85 | return new _root2['default'](defaults); 86 | }; 87 | 88 | exports['default'] = postcss; 89 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/processor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6 | 7 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 8 | 9 | var _lazyResult = require('./lazy-result'); 10 | 11 | var _lazyResult2 = _interopRequireDefault(_lazyResult); 12 | 13 | var Processor = (function () { 14 | function Processor() { 15 | var plugins = arguments[0] === undefined ? [] : arguments[0]; 16 | 17 | _classCallCheck(this, Processor); 18 | 19 | this.plugins = this.normalize(plugins); 20 | } 21 | 22 | Processor.prototype.use = function use(plugin) { 23 | this.plugins = this.plugins.concat(this.normalize([plugin])); 24 | return this; 25 | }; 26 | 27 | Processor.prototype.process = function process(css) { 28 | var opts = arguments[1] === undefined ? {} : arguments[1]; 29 | 30 | return new _lazyResult2['default'](this, css, opts); 31 | }; 32 | 33 | Processor.prototype.normalize = function normalize(plugins) { 34 | var normalized = []; 35 | for (var _iterator = plugins, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { 36 | var _ref; 37 | 38 | if (_isArray) { 39 | if (_i >= _iterator.length) break; 40 | _ref = _iterator[_i++]; 41 | } else { 42 | _i = _iterator.next(); 43 | if (_i.done) break; 44 | _ref = _i.value; 45 | } 46 | 47 | var i = _ref; 48 | 49 | var type = typeof i; 50 | if ((type === 'object' || type === 'function') && i.postcss) { 51 | i = i.postcss; 52 | } 53 | 54 | if (typeof i === 'object' && Array.isArray(i.plugins)) { 55 | normalized = normalized.concat(i.plugins); 56 | } else { 57 | normalized.push(i); 58 | } 59 | } 60 | return normalized; 61 | }; 62 | 63 | return Processor; 64 | })(); 65 | 66 | exports['default'] = Processor; 67 | 68 | Processor.prototype.version = require('../package').version; 69 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/result.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8 | 9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 10 | 11 | var _warnOnce = require('./warn-once'); 12 | 13 | var _warnOnce2 = _interopRequireDefault(_warnOnce); 14 | 15 | var _warning = require('./warning'); 16 | 17 | var _warning2 = _interopRequireDefault(_warning); 18 | 19 | var Result = (function () { 20 | function Result(processor, root, opts) { 21 | _classCallCheck(this, Result); 22 | 23 | this.processor = processor; 24 | this.messages = []; 25 | this.root = root; 26 | this.opts = opts; 27 | this.css = undefined; 28 | this.map = undefined; 29 | } 30 | 31 | Result.prototype.toString = function toString() { 32 | return this.css; 33 | }; 34 | 35 | Result.prototype.warn = function warn(text) { 36 | var opts = arguments[1] === undefined ? {} : arguments[1]; 37 | 38 | if (!opts.plugin) { 39 | if (this.lastPlugin && this.lastPlugin.postcssPlugin) { 40 | opts.plugin = this.lastPlugin.postcssPlugin; 41 | } 42 | } 43 | 44 | this.messages.push(new _warning2['default'](text, opts)); 45 | }; 46 | 47 | Result.prototype.warnings = function warnings() { 48 | return this.messages.filter(function (i) { 49 | return i.type === 'warning'; 50 | }); 51 | }; 52 | 53 | _createClass(Result, [{ 54 | key: 'from', 55 | get: function get() { 56 | _warnOnce2['default']('result.from is deprecated and will be removed in 5.0. ' + 'Use result.opts.from instead.'); 57 | return this.opts.from; 58 | } 59 | }, { 60 | key: 'to', 61 | get: function get() { 62 | _warnOnce2['default']('result.to is deprecated and will be removed in 5.0. ' + 'Use result.opts.to instead.'); 63 | return this.opts.to; 64 | } 65 | }]); 66 | 67 | return Result; 68 | })(); 69 | 70 | exports['default'] = Result; 71 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/rule.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8 | 9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 10 | 11 | function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } 12 | 13 | var _container = require('./container'); 14 | 15 | var _container2 = _interopRequireDefault(_container); 16 | 17 | var _list = require('./list'); 18 | 19 | var _list2 = _interopRequireDefault(_list); 20 | 21 | var Rule = (function (_Container) { 22 | function Rule(defaults) { 23 | _classCallCheck(this, Rule); 24 | 25 | _Container.call(this, defaults); 26 | if (!this.nodes) this.nodes = []; 27 | this.type = 'rule'; 28 | } 29 | 30 | _inherits(Rule, _Container); 31 | 32 | Rule.prototype.stringify = function stringify(builder) { 33 | this.stringifyBlock(builder, this.stringifyRaw('selector')); 34 | }; 35 | 36 | _createClass(Rule, [{ 37 | key: 'selectors', 38 | get: function get() { 39 | return _list2['default'].comma(this.selector); 40 | }, 41 | set: function set(values) { 42 | this.selector = values.join(', '); 43 | } 44 | }]); 45 | 46 | return Rule; 47 | })(_container2['default']); 48 | 49 | exports['default'] = Rule; 50 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/vendor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = { 5 | 6 | prefix: function prefix(prop) { 7 | if (prop[0] === '-') { 8 | var sep = prop.indexOf('-', 1); 9 | return prop.substr(0, sep + 1); 10 | } else { 11 | return ''; 12 | } 13 | }, 14 | 15 | unprefixed: function unprefixed(prop) { 16 | if (prop[0] === '-') { 17 | var sep = prop.indexOf('-', 1); 18 | return prop.substr(sep + 1); 19 | } else { 20 | return prop; 21 | } 22 | } 23 | 24 | }; 25 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/warn-once.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports['default'] = warnOnce; 5 | var printed = {}; 6 | 7 | function warnOnce(message) { 8 | if (printed[message]) return; 9 | printed[message] = true; 10 | 11 | if (typeof console !== 'undefined' && console.warn) console.warn(message); 12 | } 13 | 14 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/lib/warning.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 6 | 7 | var Warning = (function () { 8 | function Warning(text) { 9 | var opts = arguments[1] === undefined ? {} : arguments[1]; 10 | 11 | _classCallCheck(this, Warning); 12 | 13 | this.type = 'warning'; 14 | this.text = text; 15 | for (var opt in opts) { 16 | this[opt] = opts[opt]; 17 | } 18 | } 19 | 20 | Warning.prototype.toString = function toString() { 21 | if (this.node) { 22 | return this.node.error(this.text, { plugin: this.plugin }).message; 23 | } else if (this.plugin) { 24 | return this.plugin + ': ' + this.text; 25 | } else { 26 | return this.text; 27 | } 28 | }; 29 | 30 | return Warning; 31 | })(); 32 | 33 | exports['default'] = Warning; 34 | module.exports = exports['default']; -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Master 2 | 3 | # 2.0.0 4 | 5 | * re-sync with RSVP. Many large performance improvements and bugfixes. 6 | 7 | # 1.0.0 8 | 9 | * first subset of RSVP 10 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/README.md: -------------------------------------------------------------------------------- 1 | # ES6-Promise (subset of [rsvp.js](https://github.com/tildeio/rsvp.js)) 2 | 3 | This is a polyfill of the [ES6 Promise](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-constructor). The implementation is a subset of [rsvp.js](https://github.com/tildeio/rsvp.js), if you're wanting extra features and more debugging options, check out the [full library](https://github.com/tildeio/rsvp.js). 4 | 5 | For API details and how to use promises, see the JavaScript Promises HTML5Rocks article. 6 | 7 | ## Downloads 8 | 9 | * [es6-promise](https://raw.githubusercontent.com/jakearchibald/es6-promise/master/dist/es6-promise.js) 10 | * [es6-promise-min](https://raw.githubusercontent.com/jakearchibald/es6-promise/master/dist/es6-promise.min.js) 11 | 12 | ## Node.js 13 | 14 | To install: 15 | 16 | ```sh 17 | npm install es6-promise 18 | ``` 19 | 20 | To use: 21 | 22 | ```js 23 | var Promise = require('es6-promise').Promise; 24 | ``` 25 | 26 | ## Usage in IE<9 27 | 28 | `catch` is a reserved word in IE<9, meaning `promise.catch(func)` throws a syntax error. To work around this, you can use a string to access the property as shown in the following example. 29 | 30 | However, please remember that such technique is already provided by most common minifiers, making the resulting code safe for old browsers and production: 31 | 32 | ```js 33 | promise['catch'](function(err) { 34 | // ... 35 | }); 36 | ``` 37 | 38 | Or use `.then` instead: 39 | 40 | ```js 41 | promise.then(undefined, function(err) { 42 | // ... 43 | }); 44 | ``` 45 | 46 | ## Auto-polyfill 47 | 48 | To polyfill the global environment (either in Node or in the browser via CommonJS) use the following code snippet: 49 | 50 | ```js 51 | require('es6-promise').polyfill(); 52 | ``` 53 | 54 | Notice that we don't assign the result of `polyfill()` to any variable. The `polyfill()` method will patch the global environment (in this case to the `Promise` name) when called. 55 | 56 | ## Building & Testing 57 | 58 | * `npm run build` to build 59 | * `npm test` to run tests 60 | * `npm start` to run a build watcher, and webserver to test 61 | * `npm run test:server` for a testem test runner and watching builder 62 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/dist/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | rsvp.js Tests 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 19 | 20 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/dist/test/worker.js: -------------------------------------------------------------------------------- 1 | importScripts('es6-promise.js'); 2 | new ES6Promise.Promise(function(resolve, reject) { 3 | self.onmessage = function (e) { 4 | if (e.data === 'ping') { 5 | resolve('pong'); 6 | } else { 7 | reject(new Error('wrong message')); 8 | } 9 | }; 10 | }).then(function (result) { 11 | self.postMessage(result); 12 | }, function (err){ 13 | setTimeout(function () { 14 | throw err; 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise.umd.js: -------------------------------------------------------------------------------- 1 | import Promise from './es6-promise/promise'; 2 | import polyfill from './es6-promise/polyfill'; 3 | 4 | var ES6Promise = { 5 | 'Promise': Promise, 6 | 'polyfill': polyfill 7 | }; 8 | 9 | /* global define:true module:true window: true */ 10 | if (typeof define === 'function' && define['amd']) { 11 | define(function() { return ES6Promise; }); 12 | } else if (typeof module !== 'undefined' && module['exports']) { 13 | module['exports'] = ES6Promise; 14 | } else if (typeof this !== 'undefined') { 15 | this['ES6Promise'] = ES6Promise; 16 | } 17 | 18 | polyfill(); 19 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/polyfill.js: -------------------------------------------------------------------------------- 1 | /*global self*/ 2 | import Promise from './promise'; 3 | 4 | export default function polyfill() { 5 | var local; 6 | 7 | if (typeof global !== 'undefined') { 8 | local = global; 9 | } else if (typeof self !== 'undefined') { 10 | local = self; 11 | } else { 12 | try { 13 | local = Function('return this')(); 14 | } catch (e) { 15 | throw new Error('polyfill failed because global object is unavailable in this environment'); 16 | } 17 | } 18 | 19 | var P = local.Promise; 20 | 21 | if (P && Object.prototype.toString.call(P.resolve()) === '[object Promise]' && !P.cast) { 22 | return; 23 | } 24 | 25 | local.Promise = Promise; 26 | } 27 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/all.js: -------------------------------------------------------------------------------- 1 | import Enumerator from '../enumerator'; 2 | 3 | /** 4 | `Promise.all` accepts an array of promises, and returns a new promise which 5 | is fulfilled with an array of fulfillment values for the passed promises, or 6 | rejected with the reason of the first passed promise to be rejected. It casts all 7 | elements of the passed iterable to promises as it runs this algorithm. 8 | 9 | Example: 10 | 11 | ```javascript 12 | var promise1 = resolve(1); 13 | var promise2 = resolve(2); 14 | var promise3 = resolve(3); 15 | var promises = [ promise1, promise2, promise3 ]; 16 | 17 | Promise.all(promises).then(function(array){ 18 | // The array here would be [ 1, 2, 3 ]; 19 | }); 20 | ``` 21 | 22 | If any of the `promises` given to `all` are rejected, the first promise 23 | that is rejected will be given as an argument to the returned promises's 24 | rejection handler. For example: 25 | 26 | Example: 27 | 28 | ```javascript 29 | var promise1 = resolve(1); 30 | var promise2 = reject(new Error("2")); 31 | var promise3 = reject(new Error("3")); 32 | var promises = [ promise1, promise2, promise3 ]; 33 | 34 | Promise.all(promises).then(function(array){ 35 | // Code here never runs because there are rejected promises! 36 | }, function(error) { 37 | // error.message === "2" 38 | }); 39 | ``` 40 | 41 | @method all 42 | @static 43 | @param {Array} entries array of promises 44 | @param {String} label optional string for labeling the promise. 45 | Useful for tooling. 46 | @return {Promise} promise that is fulfilled when all `promises` have been 47 | fulfilled, or rejected if any of them become rejected. 48 | @static 49 | */ 50 | export default function all(entries) { 51 | return new Enumerator(this, entries).promise; 52 | } 53 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/reject.js: -------------------------------------------------------------------------------- 1 | import { 2 | noop, 3 | reject as _reject 4 | } from '../-internal'; 5 | 6 | /** 7 | `Promise.reject` returns a promise rejected with the passed `reason`. 8 | It is shorthand for the following: 9 | 10 | ```javascript 11 | var promise = new Promise(function(resolve, reject){ 12 | reject(new Error('WHOOPS')); 13 | }); 14 | 15 | promise.then(function(value){ 16 | // Code here doesn't run because the promise is rejected! 17 | }, function(reason){ 18 | // reason.message === 'WHOOPS' 19 | }); 20 | ``` 21 | 22 | Instead of writing the above, your code now simply becomes the following: 23 | 24 | ```javascript 25 | var promise = Promise.reject(new Error('WHOOPS')); 26 | 27 | promise.then(function(value){ 28 | // Code here doesn't run because the promise is rejected! 29 | }, function(reason){ 30 | // reason.message === 'WHOOPS' 31 | }); 32 | ``` 33 | 34 | @method reject 35 | @static 36 | @param {Any} reason value that the returned promise will be rejected with. 37 | Useful for tooling. 38 | @return {Promise} a promise rejected with the given `reason`. 39 | */ 40 | export default function reject(reason) { 41 | /*jshint validthis:true */ 42 | var Constructor = this; 43 | var promise = new Constructor(noop); 44 | _reject(promise, reason); 45 | return promise; 46 | } 47 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/promise/resolve.js: -------------------------------------------------------------------------------- 1 | import { 2 | noop, 3 | resolve as _resolve 4 | } from '../-internal'; 5 | 6 | /** 7 | `Promise.resolve` returns a promise that will become resolved with the 8 | passed `value`. It is shorthand for the following: 9 | 10 | ```javascript 11 | var promise = new Promise(function(resolve, reject){ 12 | resolve(1); 13 | }); 14 | 15 | promise.then(function(value){ 16 | // value === 1 17 | }); 18 | ``` 19 | 20 | Instead of writing the above, your code now simply becomes the following: 21 | 22 | ```javascript 23 | var promise = Promise.resolve(1); 24 | 25 | promise.then(function(value){ 26 | // value === 1 27 | }); 28 | ``` 29 | 30 | @method resolve 31 | @static 32 | @param {Any} value value that the returned promise will be resolved with 33 | Useful for tooling. 34 | @return {Promise} a promise that will become fulfilled with the given 35 | `value` 36 | */ 37 | export default function resolve(object) { 38 | /*jshint validthis:true */ 39 | var Constructor = this; 40 | 41 | if (object && typeof object === 'object' && object.constructor === Constructor) { 42 | return object; 43 | } 44 | 45 | var promise = new Constructor(noop); 46 | _resolve(promise, object); 47 | return promise; 48 | } 49 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/es6-promise/lib/es6-promise/utils.js: -------------------------------------------------------------------------------- 1 | export function objectOrFunction(x) { 2 | return typeof x === 'function' || (typeof x === 'object' && x !== null); 3 | } 4 | 5 | export function isFunction(x) { 6 | return typeof x === 'function'; 7 | } 8 | 9 | export function isMaybeThenable(x) { 10 | return typeof x === 'object' && x !== null; 11 | } 12 | 13 | var _isArray; 14 | if (!Array.isArray) { 15 | _isArray = function (x) { 16 | return Object.prototype.toString.call(x) === '[object Array]'; 17 | }; 18 | } else { 19 | _isArray = Array.isArray; 20 | } 21 | 22 | export var isArray = _isArray; 23 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/.npmignore: -------------------------------------------------------------------------------- 1 | *,v 2 | attic/**/* 3 | node_modules/**/* 4 | tmp/**/* 5 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | 6 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Dan Kogai 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of {{{project}}} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/README.md: -------------------------------------------------------------------------------- 1 | [![build status](https://secure.travis-ci.org/dankogai/js-base64.png)](http://travis-ci.org/dankogai/js-base64) 2 | 3 | # base64.js 4 | 5 | Yet another Base64 transcoder 6 | 7 | ## Usage 8 | 9 | ### In Browser 10 | ````html 11 | 12 | ```` 13 | ### node.js 14 | ````javascript 15 | var Base64 = require('./base64.js').Base64; 16 | ```` 17 | 18 | 19 | ## SYNOPSIS 20 | 21 | ````javascript 22 | Base64.encode('dankogai'); // ZGFua29nYWk= 23 | Base64.encode('小飼弾'); // 5bCP6aO85by+ 24 | Base64.encodeURI('小飼弾'); // 5bCP6aO85by- 25 | 26 | Base64.decode('ZGFua29nYWk='); // dankogai 27 | Base64.decode('5bCP6aO85by+'); // 小飼弾 28 | // note .decodeURI() is unnecessary since it accepts both flavors 29 | Base64.decode('5bCP6aO85by-'); // 小飼弾 30 | ```` 31 | 32 | ### String Extension for ES5 33 | 34 | ````javascript 35 | if (Base64.extendString) { 36 | // you have to explicitly extend String.prototype 37 | Base64.extendString(); 38 | // once extended, you can do the following 39 | 'dankogai'.toBase64(); // ZGFua29nYWk= 40 | '小飼弾'.toBase64(); // 5bCP6aO85by+ 41 | '小飼弾'.toBase64(true); // 5bCP6aO85by- 42 | '小飼弾'.toBase64URI(); // 5bCP6aO85by- 43 | 'ZGFua29nYWk='.fromBase64(); // dankogai 44 | '5bCP6aO85by+'.fromBase64(); // 小飼弾 45 | '5bCP6aO85by-'.fromBase64(); // 小飼弾 46 | } 47 | ```` 48 | 49 | ## SEE ALSO 50 | 51 | + http://en.wikipedia.org/wiki/Base64 52 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/base64.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test for base64.js 7 | 8 | 9 |

Test for base64.js

10 |

$Id: base64.html,v 1.1 2009/03/01 22:00:28 dankogai Exp dankogai $

11 | 12 | 14 | 15 | 17 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
TextBase64 13 | (URL Safe )
Roundtripiframe w/ data: (no IE)
29 | 30 | 31 | 32 | 46 | 47 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js-base64", 3 | "version": "2.1.9", 4 | "main": [ 5 | "./base64.js" 6 | ], 7 | "ignore": [ 8 | "old", 9 | "test", 10 | ".gitignore", 11 | ".travis.yml", 12 | "base64.html", 13 | "package.json" 14 | ], 15 | "dependencies": { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/package.js: -------------------------------------------------------------------------------- 1 | Package.describe({ 2 | summary: "Yet another Base64 transcoder" 3 | }) 4 | 5 | Package.on_use(function(api){ 6 | api.export('Base64'); 7 | 8 | api.add_files(['base64.js'], 'server'); 9 | }); -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js-base64", 3 | "version": "2.1.9", 4 | "description": "Yet another Base64 transcoder in pure-JS", 5 | "main": "base64.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "mocha" 11 | }, 12 | "devDependencies": { 13 | "mocha": "*" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/dankogai/js-base64.git" 18 | }, 19 | "keywords": [ 20 | "base64" 21 | ], 22 | "author": { 23 | "name": "Dan Kogai" 24 | }, 25 | "license": "BSD", 26 | "gitHead": "8bfa436f733bec60c95c720e1d720c28b43ae0b2", 27 | "bugs": { 28 | "url": "https://github.com/dankogai/js-base64/issues" 29 | }, 30 | "homepage": "https://github.com/dankogai/js-base64#readme", 31 | "_id": "js-base64@2.1.9", 32 | "_shasum": "f0e80ae039a4bd654b5f281fc93f04a914a7fcce", 33 | "_from": "js-base64@>=2.1.8 <2.2.0", 34 | "_npmVersion": "2.13.0", 35 | "_nodeVersion": "0.12.7", 36 | "_npmUser": { 37 | "name": "dankogai", 38 | "email": "dankogai+github@gmail.com" 39 | }, 40 | "maintainers": [ 41 | { 42 | "name": "dankogai", 43 | "email": "dankogai+github@gmail.com" 44 | } 45 | ], 46 | "dist": { 47 | "shasum": "f0e80ae039a4bd654b5f281fc93f04a914a7fcce", 48 | "tarball": "http://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" 49 | }, 50 | "_resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", 51 | "readme": "ERROR: No README data found!" 52 | } 53 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/dankogai.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: dankogai.js,v 0.4 2012/08/24 05:23:18 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | 18 | describe('basic', function () { 19 | it('d', is(Base64.encode('d'), 'ZA==')); 20 | it('da', is(Base64.encode('da'), 'ZGE=')); 21 | it('dan', is(Base64.encode('dan'), 'ZGFu')); 22 | it('ZA==', is(Base64.decode('ZA=='), 'd' )); 23 | it('ZGE=', is(Base64.decode('ZGE='), 'da' )); 24 | it('ZGFu', is(Base64.decode('ZGFu'), 'dan' )); 25 | }); 26 | 27 | describe('whitespace', function () { 28 | it('Z A==', is(Base64.decode('ZA =='), 'd' )); 29 | it('ZG E=', is(Base64.decode('ZG E='), 'da' )); 30 | it('ZGF u', is(Base64.decode('ZGF u'), 'dan' )); 31 | }); 32 | 33 | describe('null', function () { 34 | it('\\0', is(Base64.encode('\0'), 'AA==')); 35 | it('\\0\\0', is(Base64.encode('\0\0'), 'AAA=')); 36 | it('\\0\\0\\0', is(Base64.encode('\0\0\0'), 'AAAA')); 37 | it('AA==', is(Base64.decode('AA=='), '\0' )); 38 | it('AAA=', is(Base64.decode('AAA='), '\0\0' )); 39 | it('AAAA', is(Base64.decode('AAAA'), '\0\0\0')); 40 | }); 41 | 42 | describe('Base64', function () { 43 | it('.encode', is(Base64.encode('小飼弾'), '5bCP6aO85by+')); 44 | it('.encodeURI', is(Base64.encodeURI('小飼弾'), '5bCP6aO85by-')); 45 | it('.decode', is(Base64.decode('5bCP6aO85by+'), '小飼弾')); 46 | it('.decode', is(Base64.decode('5bCP6aO85by-'), '小飼弾')); 47 | }); 48 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/es5.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: es5.js,v 0.1 2012/08/23 19:43:17 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | 18 | if ('extendString' in Base64){ 19 | Base64.extendString(); 20 | describe('String', function () { 21 | it('.toBase64', is('小飼弾'.toBase64(), '5bCP6aO85by+')); 22 | it('.toBase64', is('小飼弾'.toBase64(true), '5bCP6aO85by-')); 23 | it('.toBase64URI', is('小飼弾'.toBase64URI(), '5bCP6aO85by-')); 24 | it('.fromBase64', is('5bCP6aO85by+'.fromBase64(), '小飼弾')); 25 | it('.fromBase64', is('5bCP6aO85by-'.fromBase64(), '小飼弾')); 26 | }); 27 | } 28 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 19 | 20 | 21 | 22 | 23 | 28 | 29 | 30 | $Id: browser.html,v 0.2 2012/08/23 19:44:32 dankogai Exp dankogai $ 31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/large.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: large.js,v 0.3 2012/08/23 19:14:37 dankogai Exp dankogai $ 3 | * 4 | * use mocha to test me 5 | * http://visionmedia.github.com/mocha/ 6 | */ 7 | var assert, Base64; 8 | if (this['window'] !== this) { 9 | assert = require("assert"); 10 | Base64 = require('../base64.js').Base64; 11 | } 12 | var is = function (a, e, m) { 13 | return function () { 14 | assert.equal(a, e, m) 15 | } 16 | }; 17 | var seed = function () { 18 | var a, i; 19 | for (a = [], i = 0; i < 256; i++) { 20 | a.push(String.fromCharCode(i)); 21 | } 22 | return a.join(''); 23 | }(); 24 | describe('Base64', function () { 25 | for (var i = 0, str = seed; i < 16; str += str, i++) { 26 | it(str.length, is(Base64.decode(Base64.encode(str)), str)); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/js-base64/test/yoshinoya.js: -------------------------------------------------------------------------------- 1 | /* 2 | * use mocha to test me 3 | * http://visionmedia.github.com/mocha/ 4 | */ 5 | var assert, Base64; 6 | if (this['window'] !== this) { 7 | assert = require("assert"); 8 | Base64 = require('../base64.js').Base64; 9 | } 10 | var is = function (a, e, m) { 11 | return function () { 12 | assert.equal(a, e, m) 13 | } 14 | }; 15 | 16 | describe('Yoshinoya', function () { 17 | it('.encode', is(Base64.encode('𠮷野家'), '8KCut+mHjuWutg==')); 18 | it('.encodeURI', is(Base64.encodeURI('𠮷野家'), '8KCut-mHjuWutg')); 19 | it('.decode', is(Base64.decode('8KCut+mHjuWutg=='), '𠮷野家')); 20 | it('.decode', is(Base64.decode('8KCut-mHjuWutg'), '𠮷野家')); 21 | it('.decode', is(Base64.decode('7aGC7b636YeO5a62'), '𠮷野家')); 22 | }); 23 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/assert-shim.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | define('test/source-map/assert', ['exports'], function (exports) { 8 | 9 | let do_throw = function (msg) { 10 | throw new Error(msg); 11 | }; 12 | 13 | exports.init = function (throw_fn) { 14 | do_throw = throw_fn; 15 | }; 16 | 17 | exports.doesNotThrow = function (fn) { 18 | try { 19 | fn(); 20 | } 21 | catch (e) { 22 | do_throw(e.message); 23 | } 24 | }; 25 | 26 | exports.equal = function (actual, expected, msg) { 27 | msg = msg || String(actual) + ' != ' + String(expected); 28 | if (actual != expected) { 29 | do_throw(msg); 30 | } 31 | }; 32 | 33 | exports.ok = function (val, msg) { 34 | msg = msg || String(val) + ' is falsey'; 35 | if (!Boolean(val)) { 36 | do_throw(msg); 37 | } 38 | }; 39 | 40 | exports.strictEqual = function (actual, expected, msg) { 41 | msg = msg || String(actual) + ' !== ' + String(expected); 42 | if (actual !== expected) { 43 | do_throw(msg); 44 | } 45 | }; 46 | 47 | exports.throws = function (fn) { 48 | try { 49 | fn(); 50 | do_throw('Expected an error to be thrown, but it wasn\'t.'); 51 | } 52 | catch (e) { 53 | } 54 | }; 55 | 56 | }); 57 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import("resource://gre/modules/devtools/Console.jsm"); 21 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 22 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); 13 | 14 | /** 15 | * Encode an integer in the range of 0 to 63 to a single base 64 digit. 16 | */ 17 | exports.encode = function (number) { 18 | if (0 <= number && number < intToCharMap.length) { 19 | return intToCharMap[number]; 20 | } 21 | throw new TypeError("Must be between 0 and 63: " + aNumber); 22 | }; 23 | 24 | /** 25 | * Decode a single base 64 character code digit to an integer. Returns -1 on 26 | * failure. 27 | */ 28 | exports.decode = function (charCode) { 29 | var bigA = 65; // 'A' 30 | var bigZ = 90; // 'Z' 31 | 32 | var littleA = 97; // 'a' 33 | var littleZ = 122; // 'z' 34 | 35 | var zero = 48; // '0' 36 | var nine = 57; // '9' 37 | 38 | var plus = 43; // '+' 39 | var slash = 47; // '/' 40 | 41 | var littleOffset = 26; 42 | var numberOffset = 52; 43 | 44 | // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ 45 | if (bigA <= charCode && charCode <= bigZ) { 46 | return (charCode - bigA); 47 | } 48 | 49 | // 26 - 51: abcdefghijklmnopqrstuvwxyz 50 | if (littleA <= charCode && charCode <= littleZ) { 51 | return (charCode - littleA + littleOffset); 52 | } 53 | 54 | // 52 - 61: 0123456789 55 | if (zero <= charCode && charCode <= nine) { 56 | return (charCode - zero + numberOffset); 57 | } 58 | 59 | // 62: + 60 | if (charCode == plus) { 61 | return 62; 62 | } 63 | 64 | // 63: / 65 | if (charCode == slash) { 66 | return 63; 67 | } 68 | 69 | // Invalid base64 digit. 70 | return -1; 71 | }; 72 | 73 | }); 74 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js: -------------------------------------------------------------------------------- 1 | /*jshint node: true */ 2 | var inserted, 3 | Module = require('module'), 4 | fs = require('fs'), 5 | existingExtFn = Module._extensions['.js'], 6 | amdefineRegExp = /amdefine\.js/; 7 | 8 | inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; 9 | 10 | //From the node/lib/module.js source: 11 | function stripBOM(content) { 12 | // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) 13 | // because the buffer-to-string conversion in `fs.readFileSync()` 14 | // translates it to FEFF, the UTF-16 BOM. 15 | if (content.charCodeAt(0) === 0xFEFF) { 16 | content = content.slice(1); 17 | } 18 | return content; 19 | } 20 | 21 | //Also adapted from the node/lib/module.js source: 22 | function intercept(module, filename) { 23 | var content = stripBOM(fs.readFileSync(filename, 'utf8')); 24 | 25 | if (!amdefineRegExp.test(module.id)) { 26 | content = inserted + content; 27 | } 28 | 29 | module._compile(content, filename); 30 | } 31 | 32 | intercept._id = 'amdefine/intercept'; 33 | 34 | if (!existingExtFn._id || existingExtFn._id !== intercept._id) { 35 | Module._extensions['.js'] = intercept; 36 | } 37 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "amdefine", 3 | "description": "Provide AMD's define() API for declaring modules in the AMD format", 4 | "version": "1.0.0", 5 | "homepage": "http://github.com/jrburke/amdefine", 6 | "author": { 7 | "name": "James Burke", 8 | "email": "jrburke@gmail.com", 9 | "url": "http://github.com/jrburke" 10 | }, 11 | "license": "BSD-3-Clause AND MIT", 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/jrburke/amdefine.git" 15 | }, 16 | "main": "./amdefine.js", 17 | "engines": { 18 | "node": ">=0.4.2" 19 | }, 20 | "gitHead": "578bc4a3f7dede33f3f3e10edde0c1607005d761", 21 | "bugs": { 22 | "url": "https://github.com/jrburke/amdefine/issues" 23 | }, 24 | "_id": "amdefine@1.0.0", 25 | "scripts": {}, 26 | "_shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", 27 | "_from": "amdefine@>=0.0.4", 28 | "_npmVersion": "2.12.1", 29 | "_nodeVersion": "0.10.36", 30 | "_npmUser": { 31 | "name": "jrburke", 32 | "email": "jrburke@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "jrburke", 37 | "email": "jrburke@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", 42 | "tarball": "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", 46 | "readme": "ERROR: No README data found!" 47 | } 48 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/postcss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss", 3 | "version": "4.1.16", 4 | "description": "Tool for transforming CSS with JS plugins", 5 | "keywords": [ 6 | "css", 7 | "postproccessor", 8 | "parser", 9 | "source map", 10 | "transform", 11 | "manipulation", 12 | "preprocess", 13 | "transpiler" 14 | ], 15 | "author": { 16 | "name": "Andrey Sitnik", 17 | "email": "andrey@sitnik.ru" 18 | }, 19 | "license": "MIT", 20 | "repository": { 21 | "type": "git", 22 | "url": "git+https://github.com/postcss/postcss.git" 23 | }, 24 | "dependencies": { 25 | "es6-promise": "~2.3.0", 26 | "source-map": "~0.4.2", 27 | "js-base64": "~2.1.8" 28 | }, 29 | "devDependencies": { 30 | "concat-with-sourcemaps": "1.0.2", 31 | "gulp-json-editor": "2.2.1", 32 | "load-resources": "0.1.0", 33 | "gulp-eslint": "0.15.0", 34 | "gulp-babel": "5.1.0", 35 | "gulp-mocha": "2.1.2", 36 | "yaspeller": "2.5.0", 37 | "gulp-util": "3.0.6", 38 | "gulp-run": "1.6.8", 39 | "fs-extra": "0.21.0", 40 | "sinon": "1.15.4", 41 | "mocha": "2.2.5", 42 | "gulp": "3.9.0", 43 | "chai": "3.0.0", 44 | "babel": "5.6.14" 45 | }, 46 | "scripts": { 47 | "test": "gulp" 48 | }, 49 | "main": "lib/postcss", 50 | "bugs": { 51 | "url": "https://github.com/postcss/postcss/issues" 52 | }, 53 | "homepage": "https://github.com/postcss/postcss#readme", 54 | "_id": "postcss@4.1.16", 55 | "_shasum": "4c449b4c8af9df3caf6d37f8e1e575d0361758dc", 56 | "_from": "postcss@*", 57 | "_npmVersion": "2.11.3", 58 | "_nodeVersion": "2.3.3", 59 | "_npmUser": { 60 | "name": "ai", 61 | "email": "andrey@sitnik.ru" 62 | }, 63 | "dist": { 64 | "shasum": "4c449b4c8af9df3caf6d37f8e1e575d0361758dc", 65 | "tarball": "http://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz" 66 | }, 67 | "maintainers": [ 68 | { 69 | "name": "ai", 70 | "email": "andrey@sitnik.ru" 71 | } 72 | ], 73 | "directories": {}, 74 | "_resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", 75 | "readme": "ERROR: No README data found!" 76 | } 77 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative 2 | Reporters & Editors 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/underscore/README.md: -------------------------------------------------------------------------------- 1 | __ 2 | /\ \ __ 3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ 4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ 5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ 6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ 7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ 8 | \ \____/ 9 | \/___/ 10 | 11 | Underscore.js is a utility-belt library for JavaScript that provides 12 | support for the usual functional suspects (each, map, reduce, filter...) 13 | without extending any core JavaScript objects. 14 | 15 | For Docs, License, Tests, and pre-packed downloads, see: 16 | http://underscorejs.org 17 | 18 | Underscore is an open-sourced component of DocumentCloud: 19 | https://github.com/documentcloud 20 | 21 | Many thanks to our contributors: 22 | https://github.com/jashkenas/underscore/contributors 23 | -------------------------------------------------------------------------------- /postcss-myplugin/node_modules/underscore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "underscore", 3 | "description": "JavaScript's functional programming helper library.", 4 | "homepage": "http://underscorejs.org", 5 | "keywords": [ 6 | "util", 7 | "functional", 8 | "server", 9 | "client", 10 | "browser" 11 | ], 12 | "author": { 13 | "name": "Jeremy Ashkenas", 14 | "email": "jeremy@documentcloud.org" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/jashkenas/underscore.git" 19 | }, 20 | "main": "underscore.js", 21 | "version": "1.8.3", 22 | "devDependencies": { 23 | "docco": "*", 24 | "eslint": "0.6.x", 25 | "karma": "~0.12.31", 26 | "karma-qunit": "~0.1.4", 27 | "qunit-cli": "~0.2.0", 28 | "uglify-js": "2.4.x" 29 | }, 30 | "scripts": { 31 | "test": "npm run test-node && npm run lint", 32 | "lint": "eslint underscore.js test/*.js", 33 | "test-node": "qunit-cli test/*.js", 34 | "test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start", 35 | "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js", 36 | "doc": "docco underscore.js" 37 | }, 38 | "license": "MIT", 39 | "files": [ 40 | "underscore.js", 41 | "underscore-min.js", 42 | "underscore-min.map", 43 | "LICENSE" 44 | ], 45 | "gitHead": "e4743ab712b8ab42ad4ccb48b155034d02394e4d", 46 | "bugs": { 47 | "url": "https://github.com/jashkenas/underscore/issues" 48 | }, 49 | "_id": "underscore@1.8.3", 50 | "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", 51 | "_from": "underscore@*", 52 | "_npmVersion": "1.4.28", 53 | "_npmUser": { 54 | "name": "jashkenas", 55 | "email": "jashkenas@gmail.com" 56 | }, 57 | "maintainers": [ 58 | { 59 | "name": "jashkenas", 60 | "email": "jashkenas@gmail.com" 61 | } 62 | ], 63 | "dist": { 64 | "shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", 65 | "tarball": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" 66 | }, 67 | "directories": {}, 68 | "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", 69 | "readme": "ERROR: No README data found!" 70 | } 71 | -------------------------------------------------------------------------------- /postcss-myplugin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss-myplugin", 3 | "version": "1.0.0", 4 | "description": "Basic PostCSS plugin", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Kezz Bracey", 10 | "license": "MIT", 11 | "dependencies": { 12 | "postcss": "^4.1.16", 13 | "underscore": "^1.8.3" 14 | } 15 | } 16 | --------------------------------------------------------------------------------