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
43cff35f
Commit
43cff35f
authored
Jan 02, 2014
by
Nick Schonning
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
JSHint Build.js
- Tabs to spaces - Remove 'runner' Mocha var since it is only invoked
parent
f14b040b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
72 additions
and
72 deletions
+72
-72
build.js
build.js
+72
-72
No files found.
build.js
View file @
43cff35f
#!/usr/bin/env node
#!/usr/bin/env node
var
cp
=
require
(
'child_process'
),
var
cp
=
require
(
'child_process'
),
fs
=
require
(
'fs'
),
fs
=
require
(
'fs'
),
path
=
require
(
'path'
),
path
=
require
(
'path'
),
Mocha
=
require
(
'mocha'
);
Mocha
=
require
(
'mocha'
);
// Parse args
// Parse args
var
force
=
false
,
debug
=
false
;
var
force
=
false
,
debug
=
false
;
var
arch
=
process
.
arch
,
var
arch
=
process
.
arch
,
platform
=
process
.
platform
,
platform
=
process
.
platform
,
v8
=
/
[
0-9
]
+
\.[
0-9
]
+/
.
exec
(
process
.
versions
.
v8
)[
0
];
v8
=
/
[
0-9
]
+
\.[
0-9
]
+/
.
exec
(
process
.
versions
.
v8
)[
0
];
var
args
=
process
.
argv
.
slice
(
2
).
filter
(
function
(
arg
)
{
var
args
=
process
.
argv
.
slice
(
2
).
filter
(
function
(
arg
)
{
if
(
arg
===
'-f'
)
{
if
(
arg
===
'-f'
)
{
force
=
true
;
force
=
true
;
return
false
;
return
false
;
}
else
if
(
arg
.
substring
(
0
,
13
)
===
'--target_arch'
)
{
}
else
if
(
arg
.
substring
(
0
,
13
)
===
'--target_arch'
)
{
arch
=
arg
.
substring
(
14
);
arch
=
arg
.
substring
(
14
);
}
else
if
(
arg
===
'--debug'
)
{
}
else
if
(
arg
===
'--debug'
)
{
debug
=
true
;
debug
=
true
;
}
}
return
true
;
return
true
;
});
});
if
(
!
{
ia32
:
true
,
x64
:
true
,
arm
:
true
}.
hasOwnProperty
(
arch
))
{
if
(
!
{
ia32
:
true
,
x64
:
true
,
arm
:
true
}.
hasOwnProperty
(
arch
))
{
console
.
error
(
'Unsupported (?) architecture: `'
+
arch
+
'`'
);
console
.
error
(
'Unsupported (?) architecture: `'
+
arch
+
'`'
);
process
.
exit
(
1
);
process
.
exit
(
1
);
}
}
// Test for pre-built library
// Test for pre-built library
var
modPath
=
platform
+
'-'
+
arch
+
'-v8-'
+
v8
;
var
modPath
=
platform
+
'-'
+
arch
+
'-v8-'
+
v8
;
if
(
!
force
&&
!
process
.
env
.
SKIP_NODE_SASS_TESTS
)
{
if
(
!
force
&&
!
process
.
env
.
SKIP_NODE_SASS_TESTS
)
{
try
{
try
{
fs
.
statSync
(
path
.
join
(
__dirname
,
'bin'
,
modPath
,
'binding.node'
));
fs
.
statSync
(
path
.
join
(
__dirname
,
'bin'
,
modPath
,
'binding.node'
));
console
.
log
(
'`'
+
modPath
+
'` exists; testing'
);
console
.
log
(
'`'
+
modPath
+
'` exists; testing'
);
var
mocha
=
new
Mocha
({
reporter
:
'dot'
,
ui
:
'bdd'
,
timeout
:
999999
});
mocha
.
addFile
(
path
.
resolve
(
__dirname
,
"test"
,
"test.js"
));
var
runner
=
mocha
.
run
(
function
(
done
)
{
var
mocha
=
new
Mocha
({
if
(
done
!==
0
)
{
reporter
:
'dot'
,
console
.
log
(
'Problem with the binary; manual build incoming'
);
ui
:
'bdd'
,
console
.
log
(
'Please consider contributing the release binary to https://github.com/andrew/node-sass-binaries for npm distribution.'
);
timeout
:
999999
build
();
});
}
else
{
console
.
log
(
'Binary is fine; exiting'
);
mocha
.
addFile
(
path
.
resolve
(
__dirname
,
"test"
,
"test.js"
));
}
});
mocha
.
run
(
function
(
done
)
{
}
catch
(
ex
)
{
if
(
done
!==
0
)
{
// Stat failed
console
.
log
(
'Problem with the binary; manual build incoming'
);
build
();
console
.
log
(
'Please consider contributing the release binary to https://github.com/andrew/node-sass-binaries for npm distribution.'
);
}
build
();
}
else
{
console
.
log
(
'Binary is fine; exiting'
);
}
});
}
catch
(
ex
)
{
// Stat failed
build
();
}
}
else
{
}
else
{
build
();
build
();
}
}
// Build it
// Build it
function
build
()
{
function
build
()
{
cp
.
spawn
(
cp
.
spawn
(
process
.
platform
===
'win32'
?
'node-gyp.cmd'
:
'node-gyp'
,
process
.
platform
===
'win32'
?
'node-gyp.cmd'
:
'node-gyp'
,
[
'rebuild'
].
concat
(
args
),
[
'rebuild'
].
concat
(
args
),
{
customFds
:
[
0
,
1
,
2
]})
{
customFds
:
[
0
,
1
,
2
]})
.
on
(
'exit'
,
function
(
err
)
{
.
on
(
'exit'
,
function
(
err
)
{
if
(
err
)
{
if
(
err
)
{
if
(
err
===
127
)
{
if
(
err
===
127
)
{
console
.
error
(
console
.
error
(
'node-gyp not found! Please upgrade your install of npm! You need at least 1.1.5 (I think) '
+
'node-gyp not found! Please upgrade your install of npm! You need at least 1.1.5 (I think) '
+
'and preferably 1.1.30.'
'and preferably 1.1.30.'
);
);
}
else
{
}
else
{
console
.
error
(
'Build failed'
);
console
.
error
(
'Build failed'
);
}
}
return
process
.
exit
(
err
);
return
process
.
exit
(
err
);
}
}
afterBuild
();
afterBuild
();
});
});
}
}
// Move it to expected location
// Move it to expected location
function
afterBuild
()
{
function
afterBuild
()
{
var
targetPath
=
path
.
join
(
__dirname
,
'build'
,
debug
?
'Debug'
:
'Release'
,
'binding.node'
);
var
targetPath
=
path
.
join
(
__dirname
,
'build'
,
debug
?
'Debug'
:
'Release'
,
'binding.node'
);
var
installPath
=
path
.
join
(
__dirname
,
'bin'
,
modPath
,
'binding.node'
);
var
installPath
=
path
.
join
(
__dirname
,
'bin'
,
modPath
,
'binding.node'
);
try
{
try
{
fs
.
mkdirSync
(
path
.
join
(
__dirname
,
'bin'
,
modPath
));
fs
.
mkdirSync
(
path
.
join
(
__dirname
,
'bin'
,
modPath
));
}
catch
(
ex
)
{}
}
catch
(
ex
)
{}
try
{
try
{
fs
.
statSync
(
targetPath
);
fs
.
statSync
(
targetPath
);
}
catch
(
ex
)
{
}
catch
(
ex
)
{
console
.
error
(
'Build succeeded but target not found'
);
console
.
error
(
'Build succeeded but target not found'
);
process
.
exit
(
1
);
process
.
exit
(
1
);
}
}
fs
.
renameSync
(
targetPath
,
installPath
);
fs
.
renameSync
(
targetPath
,
installPath
);
console
.
log
(
'Installed in `'
+
installPath
+
'`'
);
console
.
log
(
'Installed in `'
+
installPath
+
'`'
);
}
}
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