Change the index file format to use "export ... from" (fixes #3)

This commit is contained in:
Gajus Kuizinas
2016-01-29 09:40:35 +00:00
parent 832044c9fd
commit 69825b59c6
14 changed files with 35 additions and 68 deletions
+7 -6
View File
@@ -20,21 +20,22 @@
},
"license": "BSD-3-Clause",
"scripts": {
"pragmatist": "node ./node_modules/.bin/pragmatist --browser",
"pragmatist": "node ./node_modules/.bin/pragmatist --es5",
"lint": "npm run pragmatist lint",
"test": "npm run pragmatist test",
"build": "npm run pragmatist build",
"watch": "npm run pragmatist watch",
"watch-lint": "npm run pragmatist watch-lint",
"watch-test": "npm run pragmatist watch-test",
"watch-build": "npm run pragmatist watch-build"
"watch-build": "npm run pragmatist watch-build",
"create-index": "node ./dist/bin/create-index ./src/utilities"
},
"devDependencies": {
"chai": "^3.4.1",
"pragmatist": "^2.3.70"
"chai": "^3.5.0",
"pragmatist": "^3.0.3"
},
"dependencies": {
"lodash": "^3.10.1",
"yargs": "^3.31.0"
"lodash": "^4.0.1",
"yargs": "^4.0.0-alpha1"
}
}
+3 -1
View File
@@ -1,7 +1,9 @@
#!/usr/bin/env node
import yargs from 'yargs';
import writeIndex from './../writeIndex';
import {
writeIndex
} from './../utilities';
let argv;
+1 -9
View File
@@ -1,14 +1,6 @@
'create index';
import createIndexCode from './createIndexCode.js';
import readDirectory from './readDirectory.js';
import validateTargetDirectory from './validateTargetDirectory.js';
import writeIndex from './writeIndex.js';
export {
createIndexCode,
readDirectory,
validateTargetDirectory,
writeIndex
};
} from './utilities';
@@ -1,7 +1,6 @@
import _ from 'lodash';
let buildExportBlock,
buildImportBlock,
safeVariableName;
safeVariableName = (fileName) => {
@@ -16,11 +15,11 @@ safeVariableName = (fileName) => {
}
};
buildImportBlock = (files) => {
buildExportBlock = (files) => {
let importBlock;
importBlock = _.map(files, (fileName) => {
return 'import ' + safeVariableName(fileName) + ' from \'./' + fileName + '\';';
return 'export ' + safeVariableName(fileName) + ' from \'./' + fileName + '\';';
});
importBlock = importBlock.join('\n');
@@ -28,18 +27,6 @@ buildImportBlock = (files) => {
return importBlock;
};
buildExportBlock = (files) => {
let exportBlock;
exportBlock = _.map(files, (fileName) => {
return ' ' + safeVariableName(fileName);
});
exportBlock = 'export {\n' + exportBlock.join(',\n') + '\n};';
return exportBlock;
};
export default (filePaths) => {
let code,
sortedFilePaths;
@@ -49,7 +36,7 @@ export default (filePaths) => {
if (filePaths.length) {
sortedFilePaths = filePaths.sort();
code += buildImportBlock(sortedFilePaths) + '\n\n' + buildExportBlock(sortedFilePaths) + '\n\n';
code += buildExportBlock(sortedFilePaths) + '\n\n';
}
return code;
+8
View File
@@ -0,0 +1,8 @@
'create index';
export createIndexCode from './createIndexCode.js';
export readDirectory from './readDirectory.js';
export sortByDepth from './sortByDepth.js';
export validateTargetDirectory from './validateTargetDirectory.js';
export writeIndex from './writeIndex.js';
+7 -25
View File
@@ -4,7 +4,7 @@ import {
expect
} from 'chai';
import createIndexCode from './../src/createIndexCode';
import createIndexCode from './../src/utilities/createIndexCode';
import codeExample from './codeExample';
@@ -26,11 +26,7 @@ describe('createIndexCode()', () => {
expect(indexCode).to.equal(codeExample(`
'create index';
import foo from './foo';
export {
foo
};
export foo from './foo';
`));
});
it('describes multiple children', () => {
@@ -41,13 +37,8 @@ export {
expect(indexCode).to.equal(codeExample(`
'create index';
import bar from './bar';
import foo from './foo';
export {
bar,
foo
};
export bar from './bar';
export foo from './foo';
`));
});
context('file with extension', () => {
@@ -59,11 +50,7 @@ export {
expect(indexCode).to.equal(codeExample(`
'create index';
import foo from './foo.js';
export {
foo
};
export foo from './foo.js';
`));
});
});
@@ -76,13 +63,8 @@ export {
expect(indexCode).to.equal(codeExample(`
'create index';
import bar from './bar';
import foo from './foo';
export {
bar,
foo
};
export bar from './bar';
export foo from './foo';
`));
});
});
+1 -1
View File
@@ -3,7 +3,7 @@ import {
} from 'chai';
import path from 'path';
import readDirectory from './../src/readDirectory';
import readDirectory from './../src/utilities/readDirectory';
const fixturesPath = path.resolve(__dirname, './fixtures/read-directory');
+1 -1
View File
@@ -1,7 +1,7 @@
import {
expect
} from 'chai';
import sortByDepth from './../src/sortByDepth';
import sortByDepth from './../src/utilities/sortByDepth';
describe('sortByDepth()', () => {
it('sorts from deepest to the most shallow', () => {
+1 -1
View File
@@ -4,7 +4,7 @@ import {
expect
} from 'chai';
import path from 'path';
import validateTargetDirectory from './../src/validateTargetDirectory';
import validateTargetDirectory from './../src/utilities/validateTargetDirectory';
const fixturesPath = path.resolve(__dirname, './fixtures/validate-target-directory');
+3 -8
View File
@@ -6,7 +6,7 @@ import {
import fs from 'fs';
import path from 'path';
import codeExample from './codeExample';
import writeIndex from './../src/writeIndex';
import writeIndex from './../src/utilities/writeIndex';
const fixturesPath = path.resolve(__dirname, './fixtures/write-index');
@@ -30,13 +30,8 @@ describe('writeIndex()', () => {
expect(indexCode).to.equal(codeExample(`
'create index';
import bar from './bar';
import foo from './foo.js';
export {
bar,
foo
};
export bar from './bar';
export foo from './foo.js';
`));
});
});