Skip to content
This repository has been archived by the owner on Aug 19, 2019. It is now read-only.

Commit

Permalink
 npm run build
Browse files Browse the repository at this point in the history
  • Loading branch information
deepsweet committed Dec 16, 2015
1 parent ce1b6cc commit 940045e
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 5 deletions.
3 changes: 3 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"presets": [ "es2015", "stage-0" ]
}
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
node_modules/
tmp/
build/
coverage/
tmp/
node_modules/
*.sublime-*
*.log
.DS_Store
21 changes: 18 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,27 @@
"Denis Koltsov <[email protected]> (https://github.com/mistadikay)"
],
"files": [
"components/",
"build/",
"LICENSE"
],
"peerDependencies": {
"@yummies/yummies": ">=0.13.0 <2.0.0",
"@yummies/dom": ">=0.2.0 <2.0.0"
"@yummies/yummies": ">=0.13.0 <2.0.0"
},
"devDependencies": {
"start": "1.1.x",
"del": "2.2.x",
"node-dir": "0.1.x",
"mkdirp": "0.5.x",
"less": "2.5.x",

"babel-core": "6.3.x",
"babel-cli": "6.3.x",
"babel-preset-es2015": "6.3.x",
"babel-preset-stage-0": "6.3.x"
},
"scripts": {
"task": "babel-node node_modules/.bin/start tasks/",
"build": "npm run task build"
},
"engines": {
"node": ">=0.12.0",
Expand Down
64 changes: 64 additions & 0 deletions tasks/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
const inFileName = 'styles.less';
const outFileName = 'styles.css';
const lessOptions = {
compress: false,
relativeUrls: true
};

export function lessBuild() {
const fs = require('fs');
const path = require('path');
const recursiveReadDir = require('node-dir');
const mkdirp = require('mkdirp');
const less = require('less');

const inRootDir = path.resolve('components/');
const outRootDir = path.resolve('build/');

return new Promise((rootResolve, rootReject) => {
recursiveReadDir.paths(inRootDir, (readDirErr, readDirResult) => {
if (readDirErr) {
return rootReject(readDirErr);
}

return Promise.all(
readDirResult.files
.filter(inFile => path.extname(inFile) === path.extname(inFileName))
.map(inFile => {
const inDir = path.dirname(inFile);
const relativeInDir = path.relative(inRootDir, inDir);
const outDir = path.resolve(outRootDir, relativeInDir);
const outFile = path.resolve(outDir, outFileName);

return new Promise((resolve, reject) => {
mkdirp(outDir, (mkdirpErr) => {
if (mkdirpErr) {
return reject(mkdirpErr);
}

fs.readFile(inFile, 'utf-8', (readFileErr, readFileResult) => {
if (readFileErr) {
return reject(readFileErr);
}

less.render(readFileResult, lessOptions, (lessErr, lessResult) => {
if (lessErr) {
return reject(lessErr);
}

fs.writeFile(outFile, lessResult.css, 'utf-8', (writeFileErr) => {
if (writeFileErr) {
return reject(writeFileErr);
}

resolve();
});
});
});
});
});
})
).then(rootResolve);
});
});
}
5 changes: 5 additions & 0 deletions tasks/clean.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export function cleanBuild() {
const del = require('del');

return del([ 'build/' ]);
}
7 changes: 7 additions & 0 deletions tasks/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export { cleanBuild } from './clean';
export { lessBuild } from './build';

export const build = [
exports.cleanBuild,
exports.lessBuild
];

0 comments on commit 940045e

Please sign in to comment.