File tree 3 files changed +12
-6
lines changed
3 files changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -13,7 +13,8 @@ var options = {
13
13
optimization : 1 ,
14
14
silent : false ,
15
15
paths : [ ] ,
16
- color : true
16
+ color : true ,
17
+ strictImports : false
17
18
} ;
18
19
19
20
args = args . filter ( function ( arg ) {
@@ -39,6 +40,9 @@ args = args.filter(function (arg) {
39
40
case 'silent' :
40
41
options . silent = true ;
41
42
break ;
43
+ case 'strict-imports' :
44
+ options . strictImports = true ;
45
+ break ;
42
46
case 'h' :
43
47
case 'help' :
44
48
sys . puts ( "usage: lessc source [destination]" ) ;
@@ -92,7 +96,8 @@ var parseLessFile = function (e, data) {
92
96
new ( less . Parser ) ( {
93
97
paths : [ path . dirname ( input ) ] . concat ( options . paths ) ,
94
98
optimization : options . optimization ,
95
- filename : input
99
+ filename : input ,
100
+ strictImports : options . strictImports
96
101
} ) . parse ( data , function ( err , tree ) {
97
102
if ( err ) {
98
103
less . writeError ( err , options ) ;
Original file line number Diff line number Diff line change @@ -989,7 +989,7 @@ less.Parser = function Parser(env) {
989
989
}
990
990
991
991
if ( selectors . length > 0 && ( rules = $ ( this . block ) ) ) {
992
- return new ( tree . Ruleset ) ( selectors , rules ) ;
992
+ return new ( tree . Ruleset ) ( selectors , rules , env . strictImports ) ;
993
993
} else {
994
994
// Backtrack
995
995
furthest = i ;
Original file line number Diff line number Diff line change 1
1
( function ( tree ) {
2
2
3
- tree . Ruleset = function ( selectors , rules ) {
3
+ tree . Ruleset = function ( selectors , rules , strictImports ) {
4
4
this . selectors = selectors ;
5
5
this . rules = rules ;
6
6
this . _lookups = { } ;
7
+ this . strictImports = strictImports ;
7
8
} ;
8
9
tree . Ruleset . prototype = {
9
10
eval : function ( env ) {
10
11
var selectors = this . selectors && this . selectors . map ( function ( s ) { return s . eval ( env ) } ) ;
11
- var ruleset = new ( tree . Ruleset ) ( selectors , this . rules . slice ( 0 ) ) ;
12
+ var ruleset = new ( tree . Ruleset ) ( selectors , this . rules . slice ( 0 ) , this . strictImports ) ;
12
13
13
14
ruleset . root = this . root ;
14
15
ruleset . allowImports = this . allowImports ;
@@ -17,7 +18,7 @@ tree.Ruleset.prototype = {
17
18
env . frames . unshift ( ruleset ) ;
18
19
19
20
// Evaluate imports
20
- if ( ruleset . root || ruleset . allowImports ) {
21
+ if ( ruleset . root || ruleset . allowImports || ! ruleset . strictImports ) {
21
22
for ( var i = 0 ; i < ruleset . rules . length ; i ++ ) {
22
23
if ( ruleset . rules [ i ] instanceof tree . Import ) {
23
24
Array . prototype . splice
You can’t perform that action at this time.
0 commit comments