Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
node-sass
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
楚学文
node-sass
Commits
b4cc20a9
Commit
b4cc20a9
authored
Aug 25, 2014
by
Andrew Nesbitt
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #344 from timrwood/fix-source-map-urls
Make sourceMap sources paths relative to the sourceMap location.
parents
a63cc366
c5abc621
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
0 deletions
+29
-0
sass.js
sass.js
+9
-0
test.js
test/test.js
+20
-0
No files found.
sass.js
View file @
b4cc20a9
...
...
@@ -140,6 +140,14 @@ exports.renderSync = function(options) {
return
output
;
};
var
makeSourceMapUrlsRelative
=
function
(
sourceMap
,
dir
)
{
var
map
=
JSON
.
parse
(
sourceMap
);
map
.
sources
=
map
.
sources
.
map
(
function
(
source
)
{
return
path
.
relative
(
dir
,
source
);
});
return
JSON
.
stringify
(
map
);
};
/**
Same as `render()` but with an extra `outFile` property in `options` and writes
the CSS and sourceMap (if requested) to the filesystem.
...
...
@@ -170,6 +178,7 @@ exports.renderFile = function(options) {
if
(
options
.
sourceMap
)
{
dir
=
path
.
dirname
(
options
.
outFile
);
sourceMapFile
=
path
.
resolve
(
dir
,
options
.
sourceMap
);
sourceMap
=
makeSourceMapUrlsRelative
(
sourceMap
,
path
.
dirname
(
sourceMapFile
));
fs
.
writeFile
(
sourceMapFile
,
sourceMap
,
function
(
err
)
{
if
(
err
)
{
return
options
.
error
(
err
);
...
...
test/test.js
View file @
b4cc20a9
...
...
@@ -260,6 +260,26 @@ describe('render to file', function() {
});
});
it
(
'should save source paths relative to the sourceMap file'
,
function
(
done
)
{
var
includedFilesFile
=
path
.
resolve
(
__dirname
,
'included_files.scss'
);
var
relativeOutFile
=
path
.
resolve
(
__dirname
,
'some_path/out.scss'
);
sass
.
renderFile
({
file
:
includedFilesFile
,
outFile
:
relativeOutFile
,
sourceMap
:
true
,
success
:
function
(
cssFile
,
sourceMapFile
)
{
var
mapObject
=
JSON
.
parse
(
filesWritten
[
sourceMapFile
]);
assert
.
ok
(
mapObject
.
sources
.
indexOf
(
'../included_files.scss'
)
>
-
1
);
assert
.
ok
(
mapObject
.
sources
.
indexOf
(
'../sample.scss'
)
>
-
1
);
assert
.
ok
(
mapObject
.
sources
.
indexOf
(
'../image_path.scss'
)
>
-
1
);
done
();
},
error
:
function
(
error
)
{
done
(
error
);
}
});
});
});
describe
(
'precision support'
,
function
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment