Change the index file format to use "export ... from" (fixes #3)
This commit is contained in:
+7
-6
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import yargs from 'yargs';
|
||||
import writeIndex from './../writeIndex';
|
||||
import {
|
||||
writeIndex
|
||||
} from './../utilities';
|
||||
|
||||
let argv;
|
||||
|
||||
|
||||
+1
-9
@@ -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;
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
`));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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,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', () => {
|
||||
|
||||
@@ -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
@@ -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';
|
||||
`));
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user