Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sass-true

Package Overview
Dependencies
Maintainers
2
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sass-true - npm Package Compare versions

Comparing version 3.1.0 to 4.0.0

docs/assets/webpack/common.min.js

7

CHANGELOG.md

@@ -5,2 +5,9 @@ True Changelog

4.0.0 (04/09/18)
----------------
- BREAKING: Move `node-sass` to `peerDependencies`
- Update dependencies
- Add JS coverage reporting
3.1.0 (03/06/18)

@@ -7,0 +14,0 @@ ----------------

9

docs/assets/webpack/app.min.js

@@ -1,2 +0,7 @@

webpackJsonp([1],{44:function(a,b,c){"use strict";Object.defineProperty(b,"__esModule",{value:!0}),function(a){var b=c(28),d=c.n(b),e=c(45);a(function(){window.$=a,d.a.initHighlighting(),e.c(),e.a(),e.b()})}.call(b,c(9))},45:function(a,b,c){"use strict";(function(a){c.d(b,"c",function(){return f}),c.d(b,"a",function(){return g}),c.d(b,"b",function(){return h});var d=c(46),e=c.n(d),f=function(){var b=a("body");b.on("toggle:close","[data-toggle=\"button\"]",function(){var b=a(this).attr("aria-controls"),c=a("[data-target-id=\"".concat(b,"\"]")),d=a("[data-toggle=\"button\"][aria-controls=\"".concat(b,"\"][aria-pressed=\"true\"]"));d.attr("aria-pressed","false"),c.trigger("target:close")}),b.on("toggle:open","[data-toggle=\"button\"]",function(){var b=a(this),c=b.attr("aria-controls"),d=a("[data-target-id=\"".concat(c,"\"]")),e=a("[data-toggle=\"button\"][aria-controls=\"".concat(c,"\"]")).not(b);b.data("toggle-synced")?e.filter("[data-toggle-synced=\"true\"]").attr("aria-pressed","true"):e.filter("[aria-pressed=\"true\"]").attr("aria-pressed","false"),b.attr("aria-pressed","true"),d.trigger("target:open")}),b.on("target:close","[data-toggle=\"target\"]",function(b){var c=a(this);a(b.target).is(c)&&c.attr("aria-expanded","false")});var c=function(b){var c=b.attr("data-target-id"),d=a("[data-toggle=\"button\"][aria-controls=\"".concat(c,"\"][aria-pressed=\"true\"]"));d.length?d.trigger("toggle:close"):b.trigger("target:close")};b.on("target:open","[data-toggle=\"target\"]",function(b){var c=a(this);a(b.target).is(c)&&c.attr("aria-expanded","true")}),b.on("click","[data-toggle=\"button\"]",function(b){b.preventDefault();var c=a(this);"true"===c.attr("aria-pressed")?c.trigger("toggle:close"):c.trigger("toggle:open")}),b.on("click","[data-toggle=\"close\"]",function(b){b.preventDefault();var d=a("[data-target-id=\"".concat(a(this).attr("aria-controls"),"\"]"));c(d)});var d=function(a,b){var d=b.attr("data-target-id"),e=a.closest("[aria-controls=\"".concat(d,"\"]")).length,f=document.contains(a.get(0)),g=!a.closest(b).length,h=b.attr("data-auto-closing-exception"),i=!!h&&a.closest(h).length;!e&&(b.data("auto-closing-on-any-click")||f&&g&&!i)&&c(b)};b.on("click",function(b){var c=a("[data-toggle=\"target\"][aria-expanded=\"true\"][data-auto-closing=\"true\"]");c.each(function(c,e){d(a(b.target),a(e))})})},g=function(){var b=function(b){b.contentWindow.document.body&&(b.height=a(b.contentWindow.document).outerHeight(!0))},c=function(){a("iframe").each(function(){b(this)})};c(),a("iframe").on("load",function(){b(this)}),a(window).on("resize",c)},h=function(){var b=e.a&&e.a.sizes&&e.a.sizes["layout-sizes"]&&e.a.sizes["layout-sizes"]["nav-break"];if(b){var c=a("#nav"),d=a("[aria-controls=\"nav\"]"),f=window.matchMedia("(min-width: ".concat(b,")")),g=function(a){a.matches?c.attr("aria-expanded","true"):c.attr("aria-expanded",d.attr("aria-pressed"))};g(f),f.addListener(g)}}}).call(b,c(9))},46:function(a){a.exports={colors:{"brand-colors":{"brand-orange":"#c75000","brand-blue":"#0d7fa5","brand-pink":"#aa0e5c"},"neutral-colors":{"light-gray":"#dedede",gray:"#555b5e",black:"#3b4042"},"theme-colors":{"theme-dark":"#0d7fa5","theme-light":"#cfe5ed",background:"#fff",text:"#3b4042","text-light":"#555b5e",action:"#aa0e5c",focus:"#0d7fa5",underline:"#eac3d6",border:"#555b5e","border-light":"#dedede",shadow:"rgba(85, 91, 94, 0.5)",callout:"#cfe5ed",slight:"#fafcfd",code:"#0d7fa5","code-shadow":"rgba(13, 127, 165, 0.2)"},"system-colors":{"contrast-light":"#fff","contrast-dark":"#3b4042"},"hljs-colors":{"hljs-comment":"#93a1a1","hljs-green":"#859900","hljs-cyan":"#2aa198","hljs-blue":"#268bd2","hljs-yellow":"#b58900","hljs-orange":"#cb4b16","hljs-red":"#dc322f","hljs-formula":"#eee8d5"},"demo-colors":{"brand-blue":"#0d7fa5","brand-pink":"#e2127a"},"demo-noncolors":{"light-gray":"#dedede",gray:"#555b5e",black:"#3b4042"}},ratios:{"text-ratios":{"line-height":1.4},"demo-ratios":{"line-height":1.4}},sizes:{"root-sizes":{root:"18px",responsive:"calc(16px + 0.125vw)",large:"calc(1rem + 0.5vw)",small:"0.9rem"},"text-sizes":{reset:"1rem",h1:"calc(1rem + 2vw)",h2:"calc(1rem + 1vw)",h3:"calc(1rem + 0.5vw)",quote:"calc(1rem + 0.5vw)",code:"0.9rem",footer:"0.9rem",search:"0.9rem"},"spacing-sizes":{rhythm:"1.4rem",gutter:"1.4rem","gutter-plus":"2.1rem","double-gutter":"2.8rem","flex-gutter":"calc(0.7rem + 2.5vw)",spacer:"calc(4.2rem + 2.5vw)","gutter-minus":"1.05rem",shim:"0.7rem","half-shim":"0.35rem","quarter-shim":"0.175rem"},"pattern-sizes":{"nav-underline":"4px","nav-icon":"28px","arrow-border":"8px","arrow-depth":"0.7rem","arrow-side":"1.4rem","font-preview":"24em","specimen-aa":"4.2rem","color-preview":"16em","color-swatch":"5.6rem","footer-logo":"2.8rem"},"layout-sizes":{page:"50rem","item-break":"40em","page-break":"50em","nav-break":"65em"},"demo-sizes":{root:"18px",xlarge:"3rem"}},fonts:{sans:{name:"Source Sans Pro",source:"https://fonts.google.com/specimen/Source+Sans+Pro",stack:["Helvetica Neue","Helvetica","Arial","sans-serif"]},code:{name:"Source Code Pro",source:"https://fonts.google.com/specimen/Source+Code+Pro",stack:["Consolas","Menlo","Monaco","Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New","monospace","sans-serif"]},"demo-cdn":{name:"Source Code Pro",source:"https://fonts.google.com/specimen/Source+Code+Pro",stack:["Consolas","Menlo","Courier New","monospace","sans-serif"]},"demo-local":{name:"rockingham",normal:{path:"rockingham/rockingham-regular-webfont",local:"rockingham-regular-webfont"},bold:"rockingham/rockingham-bold-webfont",italic:"rockingham/rockingham-italic-webfont","bold italic":"rockingham/rockingham-bolditalic-webfont",stack:"fantasy",formats:["woff2","woff","ttf"]}}}}},[44]);
//# sourceMappingURL=app.min.js.map
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{11:function(e,n){e.exports={colors:{"brand-colors":{"brand-orange":"#c75000","brand-blue":"#0d7fa5","brand-pink":"#aa0e5c"},"neutral-colors":{"light-gray":"#dedede",gray:"#555b5e",black:"#3b4042"},"theme-colors":{"theme-dark":"#0d7fa5","theme-light":"#cfe5ed",background:"#fff",text:"#3b4042","text-light":"#555b5e",action:"#aa0e5c",focus:"#0d7fa5",underline:"#eac3d6",border:"#555b5e","border-light":"#dedede",shadow:"rgba(85, 91, 94, 0.5)",callout:"#cfe5ed",slight:"#fafcfd",code:"#0d7fa5","code-shadow":"rgba(13, 127, 165, 0.2)"},"system-colors":{"contrast-light":"#fff","contrast-dark":"#3b4042"},"hljs-colors":{"hljs-comment":"#93a1a1","hljs-green":"#859900","hljs-cyan":"#2aa198","hljs-blue":"#268bd2","hljs-yellow":"#b58900","hljs-orange":"#cb4b16","hljs-red":"#dc322f","hljs-formula":"#eee8d5"},"demo-colors":{"brand-blue":"#0d7fa5","brand-pink":"#e2127a"},"demo-noncolors":{"light-gray":"#dedede",gray:"#555b5e",black:"#3b4042"}},ratios:{"text-ratios":{"line-height":1.4},"demo-ratios":{"line-height":1.4}},sizes:{"root-sizes":{root:"18px",responsive:"calc(1em + 0.125vw)",large:"calc(1rem + 0.5vw)",small:"0.9rem"},"text-sizes":{reset:"1rem",h1:"calc(1rem + 2vw)",h2:"calc(1rem + 1vw)",h3:"calc(1rem + 0.5vw)",quote:"calc(1rem + 0.5vw)",code:"0.9rem",footer:"0.9rem",search:"0.9rem"},"spacing-sizes":{rhythm:"1.4rem",gutter:"1.4rem","gutter-plus":"2.1rem","double-gutter":"2.8rem","flex-gutter":"calc(0.7rem + 2.5vw)",spacer:"calc(4.2rem + 2.5vw)","gutter-minus":"1.05rem",shim:"0.7rem","half-shim":"0.35rem","quarter-shim":"0.175rem"},"pattern-sizes":{"nav-underline":"4px","nav-icon":"28px","arrow-border":"8px","arrow-depth":"0.7rem","arrow-side":"1.4rem","font-preview":"24em","specimen-aa":"4.2rem","color-preview":"16em","color-swatch":"5.6rem","footer-logo":"2.8rem"},"layout-sizes":{page:"50rem","item-break":"40em","page-break":"50em","nav-break":"65em"},"demo-sizes":{root:"18px",xlarge:"3rem"}},fonts:{sans:{name:"Source Sans Pro",source:"https://fonts.google.com/specimen/Source+Sans+Pro",stack:["Helvetica Neue","Helvetica","Arial","sans-serif"]},code:{name:"Source Code Pro",source:"https://fonts.google.com/specimen/Source+Code+Pro",stack:["Consolas","Menlo","Monaco","Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New","monospace","sans-serif"]},"demo-cdn":{name:"Source Code Pro",source:"https://fonts.google.com/specimen/Source+Code+Pro",stack:["Consolas","Menlo","Courier New","monospace","sans-serif"]},"demo-local":{name:"rockingham",normal:{path:"rockingham/rockingham-regular-webfont",local:"rockingham-regular-webfont"},bold:"rockingham/rockingham-bold-webfont",italic:"rockingham/rockingham-italic-webfont","bold italic":"rockingham/rockingham-bolditalic-webfont",stack:"fantasy",formats:["woff2","woff","ttf"]}}}},18:function(e,n,t){"use strict";(function(e){t.d(n,"c",function(){return i}),t.d(n,"a",function(){return s}),t.d(n,"b",function(){return o});var a=t(11),r=t.n(a),i=function(){var n=e("body");n.on("toggle:close",'[data-toggle="button"]',function(){var n=e(this).attr("aria-controls"),t=e('[data-target-id="'.concat(n,'"]'));e('[data-toggle="button"][aria-controls="'.concat(n,'"][aria-pressed="true"]')).attr("aria-pressed","false"),t.trigger("target:close")}),n.on("toggle:open",'[data-toggle="button"]',function(){var n=e(this),t=n.attr("aria-controls"),a=e('[data-target-id="'.concat(t,'"]')),r=e('[data-toggle="button"][aria-controls="'.concat(t,'"]')).not(n);n.data("toggle-synced")?r.filter('[data-toggle-synced="true"]').attr("aria-pressed","true"):r.filter('[aria-pressed="true"]').attr("aria-pressed","false"),n.attr("aria-pressed","true"),a.trigger("target:open")}),n.on("target:close",'[data-toggle="target"]',function(n){var t=e(this);e(n.target).is(t)&&t.attr("aria-expanded","false")});var t=function(n){var t=n.attr("data-target-id"),a=e('[data-toggle="button"][aria-controls="'.concat(t,'"][aria-pressed="true"]'));a.length?a.trigger("toggle:close"):n.trigger("target:close")};n.on("target:open",'[data-toggle="target"]',function(n){var t=e(this);e(n.target).is(t)&&t.attr("aria-expanded","true")}),n.on("click",'[data-toggle="button"]',function(n){n.preventDefault();var t=e(this);"true"===t.attr("aria-pressed")?t.trigger("toggle:close"):t.trigger("toggle:open")}),n.on("click",'[data-toggle="close"]',function(n){n.preventDefault();var a=e('[data-target-id="'.concat(e(this).attr("aria-controls"),'"]'));t(a)});n.on("click",function(n){e('[data-toggle="target"][aria-expanded="true"][data-auto-closing="true"]').each(function(a,r){!function(e,n){var a=n.attr("data-target-id"),r=e.closest('[aria-controls="'.concat(a,'"]')).length,i=document.contains(e.get(0)),s=!e.closest(n).length,o=n.attr("data-auto-closing-exception"),l=!!o&&e.closest(o).length;!r&&(n.data("auto-closing-on-any-click")||i&&s&&!l)&&t(n)}(e(n.target),e(r))})})},s=function(){var n=function(n){n.contentWindow.document.body&&(n.height=e(n.contentWindow.document).outerHeight(!0))},t=function(){e("iframe").each(function(){n(this)})};t(),e("iframe").on("load",function(){n(this)}),e(window).on("resize",t)},o=function(){var n=r.a&&r.a.sizes&&r.a.sizes["layout-sizes"]&&r.a.sizes["layout-sizes"]["nav-break"];if(n){var t=e("#nav"),a=e('[aria-controls="nav"]'),i=window.matchMedia("(min-width: ".concat(n,")")),s=function(e){e.matches?t.attr("aria-expanded","true"):t.attr("aria-expanded",a.attr("aria-pressed"))};s(i),i.addListener(s)}}}).call(this,t(16))},49:function(e,n,t){
/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */
!function(e){"object"==typeof window&&window||"object"==typeof self&&self;(function(e){var n=[],t=Object.keys,a={},r={},i=/^(no-?highlight|plain|text)$/i,s=/\blang(?:uage)?-([\w-]+)\b/i,o=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,l="</span>",c={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function d(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function g(e){return e.nodeName.toLowerCase()}function u(e,n){var t=e&&e.exec(n);return t&&0===t.index}function m(e){return i.test(e)}function b(e){var n,t={},a=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return a.forEach(function(e){for(n in e)t[n]=e[n]}),t}function f(e){var n=[];return function e(t,a){for(var r=t.firstChild;r;r=r.nextSibling)3===r.nodeType?a+=r.nodeValue.length:1===r.nodeType&&(n.push({event:"start",offset:a,node:r}),a=e(r,a),g(r).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:r}));return a}(e,0),n}function p(e){function n(e){return e&&e.source||e}function a(t,a){return new RegExp(n(t),"m"+(e.case_insensitive?"i":"")+(a?"g":""))}!function r(i,s){if(i.compiled)return;i.compiled=!0;i.keywords=i.keywords||i.beginKeywords;if(i.keywords){var o={},l=function(n,t){e.case_insensitive&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof i.keywords?l("keyword",i.keywords):t(i.keywords).forEach(function(e){l(e,i.keywords[e])}),i.keywords=o}i.lexemesRe=a(i.lexemes||/\w+/,!0);s&&(i.beginKeywords&&(i.begin="\\b("+i.beginKeywords.split(" ").join("|")+")\\b"),i.begin||(i.begin=/\B|\b/),i.beginRe=a(i.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(i.endRe=a(i.end)),i.terminator_end=n(i.end)||"",i.endsWithParent&&s.terminator_end&&(i.terminator_end+=(i.end?"|":"")+s.terminator_end));i.illegal&&(i.illegalRe=a(i.illegal));null==i.relevance&&(i.relevance=1);i.contains||(i.contains=[]);i.contains=Array.prototype.concat.apply([],i.contains.map(function(e){return function(e){e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(n){return b(e,{variants:null},n)}));return e.cached_variants||e.endsWithParent&&[b(e)]||[e]}("self"===e?i:e)}));i.contains.forEach(function(e){r(e,i)});i.starts&&r(i.starts,s);var c=i.contains.map(function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin}).concat([i.terminator_end,i.illegal]).map(n).filter(Boolean);i.terminators=c.length?a(c.join("|"),!0):{exec:function(){return null}}}(e)}function h(e,n,t,r){function i(e,n){var t=b.case_insensitive?n[0].toLowerCase():n[0];return e.keywords.hasOwnProperty(t)&&e.keywords[t]}function s(e,n,t,a){var r=a?"":c.classPrefix,i='<span class="'+r,s=t?"":l;return(i+=e+'">')+n+s}function o(){_+=null!=E.subLanguage?function(){var e="string"==typeof E.subLanguage;if(e&&!a[E.subLanguage])return d(y);var n=e?h(E.subLanguage,y,!0,v[E.subLanguage]):w(y,E.subLanguage.length?E.subLanguage:void 0);E.relevance>0&&(x+=n.relevance);e&&(v[E.subLanguage]=n.top);return s(n.language,n.value,!1,!0)}():function(){var e,n,t,a;if(!E.keywords)return d(y);a="",n=0,E.lexemesRe.lastIndex=0,t=E.lexemesRe.exec(y);for(;t;)a+=d(y.substring(n,t.index)),(e=i(E,t))?(x+=e[1],a+=s(e[0],d(t[0]))):a+=d(t[0]),n=E.lexemesRe.lastIndex,t=E.lexemesRe.exec(y);return a+d(y.substr(n))}(),y=""}function g(e){_+=e.className?s(e.className,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(y+=e,null==n)return o(),0;var a=function(e,n){var t,a;for(t=0,a=n.contains.length;t<a;t++)if(u(n.contains[t].beginRe,e))return n.contains[t]}(n,E);if(a)return a.skip?y+=n:(a.excludeBegin&&(y+=n),o(),a.returnBegin||a.excludeBegin||(y=n)),g(a),a.returnBegin?0:n.length;var r=function e(n,t){if(u(n.endRe,t)){for(;n.endsParent&&n.parent;)n=n.parent;return n}if(n.endsWithParent)return e(n.parent,t)}(E,n);if(r){var i=E;i.skip?y+=n:(i.returnEnd||i.excludeEnd||(y+=n),o(),i.excludeEnd&&(y=n));do{E.className&&(_+=l),E.skip||(x+=E.relevance),E=E.parent}while(E!==r.parent);return r.starts&&g(r.starts),i.returnEnd?0:n.length}if(function(e,n){return!t&&u(n.illegalRe,e)}(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.className||"<unnamed>")+'"');return y+=n,n.length||1}var b=N(e);if(!b)throw new Error('Unknown language: "'+e+'"');p(b);var f,E=r||b,v={},_="";for(f=E;f!==b;f=f.parent)f.className&&(_=s(f.className,"",!0)+_);var y="",x=0;try{for(var M,O,k=0;E.terminators.lastIndex=k,M=E.terminators.exec(n);)O=m(n.substring(k,M.index),M[0]),k=M.index+O;for(m(n.substr(k)),f=E;f.parent;f=f.parent)f.className&&(_+=l);return{relevance:x,value:_,language:e,top:E}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:d(n)};throw e}}function w(e,n){n=n||c.languages||t(a);var r={relevance:0,value:d(e)},i=r;return n.filter(N).forEach(function(n){var t=h(n,e,!1);t.language=n,t.relevance>i.relevance&&(i=t),t.relevance>r.relevance&&(i=r,r=t)}),i.language&&(r.second_best=i),r}function E(e){return c.tabReplace||c.useBR?e.replace(o,function(e,n){return c.useBR&&"\n"===e?"<br>":c.tabReplace?n.replace(/\t/g,c.tabReplace):""}):e}function v(e){var t,a,i,o,l,u=function(e){var n,t,a,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=s.exec(i))return N(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,a=i.length;n<a;n++)if(m(r=i[n])||N(r))return r}(e);m(u)||(c.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):t=e,l=t.textContent,i=u?h(u,l,!0):w(l),(a=f(t)).length&&((o=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=i.value,i.value=function(e,t,a){var r=0,i="",s=[];function o(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function l(e){i+="<"+g(e)+n.map.call(e.attributes,function(e){return" "+e.nodeName+'="'+d(e.value).replace('"',"&quot;")+'"'}).join("")+">"}function c(e){i+="</"+g(e)+">"}function u(e){("start"===e.event?l:c)(e.node)}for(;e.length||t.length;){var m=o();if(i+=d(a.substring(r,m[0].offset)),r=m[0].offset,m===e){s.reverse().forEach(c);do{u(m.splice(0,1)[0]),m=o()}while(m===e&&m.length&&m[0].offset===r);s.reverse().forEach(l)}else"start"===m[0].event?s.push(m[0].node):s.pop(),u(m.splice(0,1)[0])}return i+d(a.substr(r))}(a,f(o),l)),i.value=E(i.value),e.innerHTML=i.value,e.className=function(e,n,t){var a=n?r[n]:t,i=[e.trim()];e.match(/\bhljs\b/)||i.push("hljs");-1===e.indexOf(a)&&i.push(a);return i.join(" ").trim()}(e.className,u,i.language),e.result={language:i.language,re:i.relevance},i.second_best&&(e.second_best={language:i.second_best.language,re:i.second_best.relevance}))}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll("pre code");n.forEach.call(e,v)}}function N(e){return e=(e||"").toLowerCase(),a[e]||a[r[e]]}e.highlight=h,e.highlightAuto=w,e.fixMarkup=E,e.highlightBlock=v,e.configure=function(e){c=b(c,e)},e.initHighlighting=_,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",_,!1),addEventListener("load",_,!1)},e.registerLanguage=function(n,t){var i=a[n]=t(e);i.aliases&&i.aliases.forEach(function(e){r[e]=n})},e.listLanguages=function(){return t(a)},e.getLanguage=N,e.inherit=b,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(n,t,a){var r=e.inherit({className:"comment",begin:n,end:t,contains:[]},a||{});return r.contains.push(e.PHRASAL_WORDS_MODE),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),r},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0},e.registerLanguage("bash",function(e){var n={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},t={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,t,{className:"string",begin:/'/,end:/'/},n]}}),e.registerLanguage("css",function(e){var n={begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{begin:"@",end:"[{;]",illegal:/:/,contains:[{className:"keyword",begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}),e.registerLanguage("xml",function(e){var n={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],case_insensitive:!0,contains:[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0}]},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[n],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[n],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"meta",variants:[{begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?\w+/,end:/\?>/}]},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},n]}]}}),e.registerLanguage("django",function(e){var n={begin:/\|[A-Za-z]+:?/,keywords:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone"},contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE]};return{aliases:["jinja"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.COMMENT(/\{#/,/#}/),{className:"template-tag",begin:/\{%/,end:/%}/,contains:[{className:"name",begin:/\w+/,keywords:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{endsWithParent:!0,keywords:"in by as",contains:[n],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/}}/,contains:[n]}]}}),e.registerLanguage("javascript",function(e){var n="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},r={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},i={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,r]};r.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,a,e.REGEXP_MODE];var s=r.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js","jsx"],keywords:t,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{begin:/[{,]\s*/,relevance:0,contains:[{begin:n+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:n,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+n+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:s}]}]},{begin:/</,end:/(\/\w+|\w+\/)>/,subLanguage:"xml",contains:[{begin:/<\w+\s*\/>/,skip:!0},{begin:/<\w+/,end:/(\/\w+|\w+\/)>/,skip:!0,contains:[{begin:/<\w+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:n}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:s}],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}}),e.registerLanguage("json",function(e){var n={literal:"true false null"},t=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:n},r={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(a,{begin:/:/})],illegal:"\\S"},i={begin:"\\[",end:"\\]",contains:[e.inherit(a)],illegal:"\\S"};return t.splice(t.length,0,r,i),{contains:t,keywords:n,illegal:"\\S"}}),e.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"quote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"^```w*s*$",end:"^```s*$"},{begin:"`.+?`"},{begin:"^( {4}|\t)",end:"$",relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}),e.registerLanguage("scss",function(e){var n={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},t={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},n,{className:"attribute",begin:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[n,t,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@",end:"[{;]",keywords:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",contains:[n,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t,e.CSS_NUMBER_MODE,{begin:"\\s[A-Za-z0-9_.-]+",relevance:0}]}]}}),e.registerLanguage("shell",function(e){return{aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}),e.registerLanguage("ruby",function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",t={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},a={className:"doctag",begin:"@[A-Za-z]+"},r={begin:"#<",end:">"},i=[e.COMMENT("#","$",{contains:[a]}),e.COMMENT("^\\=begin","^\\=end",{contains:[a],relevance:10}),e.COMMENT("^__END__","\\n$")],s={className:"subst",begin:"#\\{",end:"}",keywords:t},o={className:"string",contains:[e.BACKSLASH_ESCAPE,s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<(-?)\w+$/,end:/^\s*\w+$/}]},l={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:t},c=[o,r,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(i)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),l].concat(i)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[o,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:t},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[r,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,s],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i),relevance:0}].concat(i);s.contains=c,l.contains=c;var d=[{begin:/^\s*=>/,starts:{end:"$",contains:c}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:c}}];return{aliases:["rb","gemspec","podspec","thor","irb"],keywords:t,illegal:/\/\*/,contains:i.concat(d).concat(c)}}),e.registerLanguage("yaml",function(e){var n="[a-zA-Z_][\\w\\-]*",t={className:"attr",variants:[{begin:"^[ \\-]*"+n+":"},{begin:'^[ \\-]*"'+n+'":'},{begin:"^[ \\-]*'"+n+"':"}]},a={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]};return{case_insensitive:!0,aliases:["yml","YAML","yaml"],contains:[t,{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>] *$",returnEnd:!0,contains:a.contains,end:t.variants[0].begin},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"^ *-",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},e.C_NUMBER_MODE,a]}})})(n)}()},81:function(e,n,t){var a,r,i;r=this,i=window.srcDoc,void 0===(a=function(e){!function(e,n){var t,a,r,i=!!("srcdoc"in document.createElement("iframe")),s="Polyfill may not function in the presence of the `sandbox` attribute. Consider using the `force` option.",o=/\ballow-same-origin\b/,l=function(e,n){var t=e.getAttribute("sandbox");"string"!=typeof t||o.test(t)||(n&&n.force?e.removeAttribute("sandbox"):n&&!1===n.force||(r(s),e.setAttribute("data-srcdoc-polyfill",s)))},c={compliant:function(e,n,t){n&&(l(e,t),e.setAttribute("srcdoc",n))},legacy:function(e,n,t){var a;e&&e.getAttribute&&(n?e.setAttribute("srcdoc",n):n=e.getAttribute("srcdoc"),n&&(l(e,t),a="javascript: window.frameElement.getAttribute('srcdoc');",e.contentWindow&&(e.contentWindow.location=a),e.setAttribute("src",a)))}},d=e;if(r=window.console&&window.console.error?function(e){window.console.error("[srcdoc-polyfill] "+e)}:function(){},d.set=c.compliant,d.noConflict=function(){return window.srcDoc=n,d},!i)for(d.set=c.legacy,a=document.getElementsByTagName("iframe"),t=a.length;t--;)d.set(a[t])}(e,i),r.srcDoc=e}.apply(n,[n]))||(e.exports=a)},82:function(e,n){
/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
!function(){if(window.matchMedia&&window.matchMedia("all").addListener)return!1;var e=window.matchMedia,n=e("only all").matches,t=!1,a=0,r=[],i=function(n){clearTimeout(a),a=setTimeout(function(){for(var n=0,t=r.length;n<t;n++){var a=r[n].mql,i=r[n].listeners||[],s=e(a.media).matches;if(s!==a.matches){a.matches=s;for(var o=0,l=i.length;o<l;o++)i[o].call(window,a)}}},30)};window.matchMedia=function(a){var s=e(a),o=[],l=0;return s.addListener=function(e){n&&(t||(t=!0,window.addEventListener("resize",i,!0)),0===l&&(l=r.push({mql:s,listeners:o})),o.push(e))},s.removeListener=function(e){for(var n=0,t=o.length;n<t;n++)o[n]===e&&o.splice(n,1)},s}}()},83:function(e,n){
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
window.matchMedia||(window.matchMedia=function(){"use strict";var e=window.styleMedia||window.media;if(!e){var n,t=document.createElement("style"),a=document.getElementsByTagName("script")[0];t.type="text/css",t.id="matchmediajs-test",a.parentNode.insertBefore(t,a),n="getComputedStyle"in window&&window.getComputedStyle(t,null)||t.currentStyle,e={matchMedium:function(e){var a="@media "+e+"{ #matchmediajs-test { width: 1px; } }";return t.styleSheet?t.styleSheet.cssText=a:t.textContent=a,"1px"===n.width}}}return function(n){return{matches:e.matchMedium(n||"all"),media:n||"all"}}}())},84:function(e,n,t){"use strict";t.r(n),function(e){t(83),t(82),t(81);var n=t(49),a=t.n(n),r=t(18);e(function(){window.$=e,a.a.initHighlighting(),r.c(),r.a(),r.b()})}.call(this,t(16))}},[[84,0,1]]]);

@@ -5,5 +5,6 @@ /* eslint-env node */

var beeper = require('beeper');
var chalk = require('chalk');
var gulp = require('gulp');
var gutil = require('gulp-util');
var log = require('fancy-log');
var sasslint = require('gulp-sass-lint');

@@ -31,11 +32,8 @@

var onError = function (err) {
gutil.log(chalk.red(err.message));
gutil.beep();
log.error(chalk.red(err.message));
beeper();
this.emit('end');
};
var sasslintTask = function (src, failOnError, log) {
if (log) {
gutil.log('Running', '\'' + chalk.cyan('sasslint ' + src) + '\'...');
}
var sasslintTask = function (src, failOnError) {
var stream = gulp.src(src)

@@ -52,3 +50,3 @@ .pipe(sasslint())

gulp.task('sasslint', function () {
return sasslintTask(paths.ALL_SASS, true);
return sasslintTask(paths.ALL_SASS);
});

@@ -1,3 +0,5 @@

var _ = require('underscore');
var css = require('css');
var find = require('lodash.find');
var forEach = require('lodash.foreach');
var last = require('lodash.last');
var path = require('path');

@@ -40,3 +42,3 @@ var sass = require('node-sass');

_.each(modules, function (module) {
forEach(modules, function (module) {
describeModule(module, describe, it);

@@ -64,8 +66,8 @@ });

describe(module.module, function () {
_.each(module.modules, function (submodule) {
forEach(module.modules, function (submodule) {
describeModule(submodule, describe, it);
});
_.each(module.tests, function (test) {
forEach(module.tests, function (test) {
it(test.test, function () {
_.each(test.assertions, function (assertion) {
forEach(test.assertions, function (assertion) {
if (!assertion.passed) {

@@ -95,3 +97,3 @@ assert.fail(

_.each(ast.stylesheet.rules, function (rule) {
forEach(ast.stylesheet.rules, function (rule) {
handler = handler(rule, ctx);

@@ -318,16 +320,2 @@ });

var parseAssertionContainedStart = function (rule, ctx) {
if (rule.type === 'comment') {
var text = rule.comment.trim();
if (!text) { return parseAssertionContainedStart; }
if (text === CONTAINED_START_TOKEN) {
ctx.currentExpectedRules = [];
return parseAssertionContained;
}
throw parseError('Unexpected comment "' + text + '"', 'CONTAINED', rule.position);
}
throw parseError('Unexpected rule type "' + rule.type + '"', 'CONTAINED', rule.position);
};
var parseAssertionContained = function (rule, ctx) {

@@ -423,2 +411,3 @@ if (rule.type === 'comment') {

while (matches !== null) {
/* istanbul ignore if */
// This is necessary to avoid infinite loops with zero-width matches

@@ -450,3 +439,3 @@ if (matches.index === matchCSSWithinMediaQueryBlock.lastIndex) {

var path = ctx.currentModule.module.split(MODULE_NESTING_TOKEN);
ctx.currentModule.module = _.last(path);
ctx.currentModule.module = last(path);
insertModule(path, ctx.currentModule, ctx);

@@ -479,3 +468,3 @@ delete ctx.currentModule;

if (path.length > 1) {
var newCtx = _.findWhere(ctx.modules, {module: path[0]});
var newCtx = find(ctx.modules, {module: path[0]});
if (!newCtx) {

@@ -482,0 +471,0 @@ newCtx = {module: path[0]};

{
"name": "sass-true",
"title": "True",
"version": "3.1.0",
"version": "4.0.0",
"description": "Unit testing for Sass.",

@@ -20,21 +20,29 @@ "homepage": "http://oddbird.net/true",

],
"engines": {
"node": ">=6"
},
"dependencies": {
"css": "^2.2.1",
"css-selector-parser": "^1.1.0",
"node-sass": "^4.5.3",
"underscore": "^1.8.3"
"lodash.find": "^4.6.0",
"lodash.foreach": "^4.5.0",
"lodash.last": "^3.0.0"
},
"devDependencies": {
"chai": "^4.0.1",
"chalk": "^2.0.0",
"gulp": "^3.9.1",
"gulp-sass-lint": "^1.3.2",
"gulp-util": "^3.0.8",
"istanbul": "^0.4.2",
"mocha": "^5.0.1",
"mocha-istanbul": "^0.3.0",
"sassdoc": "^2.3.0",
"sassdoc-theme-herman": "^2.0.0",
"sassdocify": "^0.3.4"
"beeper": "^1.1.1",
"chai": "^4.1.2",
"chalk": "^2.3.2",
"coveralls": "^3.0.0",
"fancy-log": "^1.3.2",
"gulp": "^4.0.0",
"gulp-sass-lint": "^1.3.4",
"mocha": "^5.0.5",
"node-sass": "^4.8.3",
"nyc": "^11.6.0",
"sassdoc": "^2.5.0",
"sassdoc-theme-herman": "^2.1.0"
},
"peerDependencies": {
"node-sass": "^4.0.0"
},
"eyeglass": {

@@ -47,8 +55,8 @@ "needs": "^1.0",

"scripts": {
"test": "rm -rf coverage && ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- -R spec",
"debug": "./node_modules/.bin/mocha -R spec debug",
"test": "nyc --reporter=html --reporter=text mocha",
"coverage": "nyc report --reporter=text-lcov | coveralls",
"debug": "mocha debug",
"sassdoc": "sassdoc sass/",
"compile": "./node_modules/.bin/node-sass test/scss/test.scss test/css/test.css --include-path ./sass/",
"commit": "npm test; npm run compile; gulp sasslint; npm run sassdoc",
"coverage-html": "./node_modules/.bin/istanbul report html"
"compile": "node-sass test/scss/test.scss test/css/test.css --include-path ./sass/",
"commit": "npm test; npm run compile; gulp sasslint; npm run sassdoc"
},

@@ -55,0 +63,0 @@ "author": "Miriam Suzanne <miriam@oddbird.net>",

# True
[![Build Status](https://travis-ci.org/oddbird/true.svg?branch=master)](https://travis-ci.org/oddbird/true)
[![Coverage Status](https://coveralls.io/repos/github/oddbird/true/badge.svg?branch=master)](https://coveralls.io/github/oddbird/true?branch=master)
[![Greenkeeper badge](https://badges.greenkeeper.io/oddbird/true.svg)](https://greenkeeper.io/)
[![Build Status](https://api.travis-ci.org/oddbird/true.svg)](https://travis-ci.org/oddbird/true)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

@@ -38,3 +39,2 @@

```bash
# npm module
npm install sass-true

@@ -84,3 +84,4 @@ ```

zip(a b c, 1 2 3),
(a 1, b 2, c 3));
(a 1, b 2, c 3)
);
}

@@ -99,3 +100,4 @@ }

zip(a b c, 1 2 3),
(a 1, b 2, c 3));
(a 1, b 2, c 3)
);
}

@@ -113,3 +115,3 @@ }

(`git diff` is helpful for noticing changes),
or you can use out [Mocha JS](https://mochajs.org/) integration.
or you can use our [Mocha JS](https://mochajs.org/) integration.

@@ -155,9 +157,20 @@ Output tests fit the same structure,

1. Install `true` via npm (`npm install sass-true`).
1. Install `true` via npm:
2. Write some Sass tests in `test/test.scss` (see above).
```bash
npm install sass-true
```
3. Write a shim JS test file in `test/test_sass.js`:
2. [Optional] Install `node-sass` (required as a `peerDependency`),
if it's not already installed in your project:
```javascript
```bash
npm install node-sass
```
3. Write some Sass tests in `test/test.scss` (see above).
4. Write a shim JS test file in `test/test_sass.js`:
```js
var path = require('path');

@@ -170,3 +183,3 @@ var sassTrue = require('sass-true');

4. Run Mocha, and see your Sass tests reported in the command line.
5. Run Mocha, and see your Sass tests reported in the command line.

@@ -176,3 +189,4 @@ You can call `runSass` more than once, if you have multiple Sass test files you

The first argument to `runSass` accepts the same options that node-sass'
The first argument to `runSass` accepts the
[same options](https://github.com/sass/node-sass/#options) that node-sass'
`renderSync` function accepts. The only modification `runSass` makes is to add

@@ -206,3 +220,3 @@ True's sass path to the `includePaths` option, so `@import 'true';` works in

```javascript
```js
grunt.loadNpmTasks('grunt-mocha');

@@ -209,0 +223,0 @@

@@ -124,3 +124,2 @@ var expect = require('chai').expect;

it('parses a test following a summary', function () {

@@ -153,3 +152,2 @@ var css = [

it('parses a nested passing non-output test', function () {

@@ -677,2 +675,159 @@ var css = [

});
describe('#contains', function () {
it('parses a passing output test', function () {
var css = [
'/* # Module: Contains */',
'/* Test: CSS output contains */',
'/* ASSERT: Output selector pattern contains input pattern */',
'/* */',
'/* OUTPUT */',
'.test-output {',
' height: 10px;',
' width: 20px; }',
'/* END_OUTPUT */',
'/* */',
'/* CONTAINED */',
'.test-output {',
' height: 10px; }',
'',
'/* END_CONTAINED */',
'/* */',
'/* END_ASSERT */'
].join('\n');
var expected = [{
module: "Contains",
tests: [{
test: "CSS output contains",
assertions: [{
description: "Output selector pattern contains input pattern",
assertionType: 'equal',
passed: true,
output: '.test-output {\n height: 10px;\n width: 20px;\n}',
expected: '.test-output {\n height: 10px;\n}'
}],
}],
}];
expect(main.parse(css)).to.deep.equal(expected);
});
it('parses a passing output test with loud comments', function () {
var css = [
'/* Some random loud comment */',
'/* # Module: Contains */',
'/* Test: CSS output contains */',
'/* ASSERT: Output selector pattern contains input pattern */',
'/* */',
'/* OUTPUT */',
'/* Some loud comment */',
'.test-output {',
' height: 10px;',
' width: 20px; }',
'',
'/* END_OUTPUT */',
'/* */',
'/* CONTAINED */',
'/* Some loud comment */',
'.test-output {',
' height: 10px; }',
'',
'/* END_CONTAINED */',
'/* */',
'/* END_ASSERT */'
].join('\n');
var expected = [{
module: "Contains",
tests: [{
test: "CSS output contains",
assertions: [{
description: "Output selector pattern contains input pattern",
assertionType: 'equal',
passed: true,
output: '/* Some loud comment */\n\n.test-output {\n height: 10px;\n width: 20px;\n}',
expected: '/* Some loud comment */\n\n.test-output {\n height: 10px;\n}'
}],
}],
}];
expect(main.parse(css)).to.deep.equal(expected);
});
it('parses a failing output test', function () {
var css = [
'/* # Module: Contains */',
'/* Test: CSS output contains */',
'/* ASSERT: Output selector pattern contains input pattern */',
'/* */',
'/* OUTPUT */',
'.test-output {',
' height: 10px;',
' width: 20px; }',
'',
'/* END_OUTPUT */',
'/* */',
'/* CONTAINED */',
'.test-output {',
' height: 20px; }',
'',
'/* END_CONTAINED */',
'/* */',
'/* END_ASSERT */'
].join('\n');
var expected = [{
module: "Contains",
tests: [{
test: "CSS output contains",
assertions: [{
description: "Output selector pattern contains input pattern",
assertionType: 'equal',
passed: false,
output: '.test-output {\n height: 10px;\n width: 20px;\n}',
expected: '.test-output {\n height: 20px;\n}'
}],
}],
}];
expect(main.parse(css)).to.deep.equal(expected);
});
it('parses a failing output test (wrong selector)', function () {
var css = [
'/* # Module: Contains */',
'/* Test: CSS output contains */',
'/* ASSERT: Output selector pattern contains input pattern */',
'/* */',
'/* OUTPUT */',
'.test-output {',
' height: 10px;',
' width: 20px; }',
'',
'/* END_OUTPUT */',
'/* */',
'/* CONTAINED */',
'.other-class {',
' height: 20px; }',
'',
'/* END_CONTAINED */',
'/* */',
'/* END_ASSERT */'
].join('\n');
var expected = [{
module: "Contains",
tests: [{
test: "CSS output contains",
assertions: [{
description: "Output selector pattern contains input pattern",
assertionType: 'equal',
passed: false,
output: '.test-output {\n height: 10px;\n width: 20px;\n}',
expected: '.other-class {\n height: 20px;\n}'
}],
}],
}];
expect(main.parse(css)).to.deep.equal(expected);
});
});
});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc