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",
|
"license": "BSD-3-Clause",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"pragmatist": "node ./node_modules/.bin/pragmatist --browser",
|
"pragmatist": "node ./node_modules/.bin/pragmatist --es5",
|
||||||
"lint": "npm run pragmatist lint",
|
"lint": "npm run pragmatist lint",
|
||||||
"test": "npm run pragmatist test",
|
"test": "npm run pragmatist test",
|
||||||
"build": "npm run pragmatist build",
|
"build": "npm run pragmatist build",
|
||||||
"watch": "npm run pragmatist watch",
|
"watch": "npm run pragmatist watch",
|
||||||
"watch-lint": "npm run pragmatist watch-lint",
|
"watch-lint": "npm run pragmatist watch-lint",
|
||||||
"watch-test": "npm run pragmatist watch-test",
|
"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": {
|
"devDependencies": {
|
||||||
"chai": "^3.4.1",
|
"chai": "^3.5.0",
|
||||||
"pragmatist": "^2.3.70"
|
"pragmatist": "^3.0.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lodash": "^3.10.1",
|
"lodash": "^4.0.1",
|
||||||
"yargs": "^3.31.0"
|
"yargs": "^4.0.0-alpha1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
import yargs from 'yargs';
|
import yargs from 'yargs';
|
||||||
import writeIndex from './../writeIndex';
|
import {
|
||||||
|
writeIndex
|
||||||
|
} from './../utilities';
|
||||||
|
|
||||||
let argv;
|
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 {
|
export {
|
||||||
createIndexCode,
|
createIndexCode,
|
||||||
readDirectory,
|
readDirectory,
|
||||||
validateTargetDirectory,
|
validateTargetDirectory,
|
||||||
writeIndex
|
writeIndex
|
||||||
};
|
} from './utilities';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
|
||||||
let buildExportBlock,
|
let buildExportBlock,
|
||||||
buildImportBlock,
|
|
||||||
safeVariableName;
|
safeVariableName;
|
||||||
|
|
||||||
safeVariableName = (fileName) => {
|
safeVariableName = (fileName) => {
|
||||||
@@ -16,11 +15,11 @@ safeVariableName = (fileName) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
buildImportBlock = (files) => {
|
buildExportBlock = (files) => {
|
||||||
let importBlock;
|
let importBlock;
|
||||||
|
|
||||||
importBlock = _.map(files, (fileName) => {
|
importBlock = _.map(files, (fileName) => {
|
||||||
return 'import ' + safeVariableName(fileName) + ' from \'./' + fileName + '\';';
|
return 'export ' + safeVariableName(fileName) + ' from \'./' + fileName + '\';';
|
||||||
});
|
});
|
||||||
|
|
||||||
importBlock = importBlock.join('\n');
|
importBlock = importBlock.join('\n');
|
||||||
@@ -28,18 +27,6 @@ buildImportBlock = (files) => {
|
|||||||
return importBlock;
|
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) => {
|
export default (filePaths) => {
|
||||||
let code,
|
let code,
|
||||||
sortedFilePaths;
|
sortedFilePaths;
|
||||||
@@ -49,7 +36,7 @@ export default (filePaths) => {
|
|||||||
if (filePaths.length) {
|
if (filePaths.length) {
|
||||||
sortedFilePaths = filePaths.sort();
|
sortedFilePaths = filePaths.sort();
|
||||||
|
|
||||||
code += buildImportBlock(sortedFilePaths) + '\n\n' + buildExportBlock(sortedFilePaths) + '\n\n';
|
code += buildExportBlock(sortedFilePaths) + '\n\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
return code;
|
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
|
expect
|
||||||
} from 'chai';
|
} from 'chai';
|
||||||
|
|
||||||
import createIndexCode from './../src/createIndexCode';
|
import createIndexCode from './../src/utilities/createIndexCode';
|
||||||
|
|
||||||
import codeExample from './codeExample';
|
import codeExample from './codeExample';
|
||||||
|
|
||||||
@@ -26,11 +26,7 @@ describe('createIndexCode()', () => {
|
|||||||
expect(indexCode).to.equal(codeExample(`
|
expect(indexCode).to.equal(codeExample(`
|
||||||
'create index';
|
'create index';
|
||||||
|
|
||||||
import foo from './foo';
|
export foo from './foo';
|
||||||
|
|
||||||
export {
|
|
||||||
foo
|
|
||||||
};
|
|
||||||
`));
|
`));
|
||||||
});
|
});
|
||||||
it('describes multiple children', () => {
|
it('describes multiple children', () => {
|
||||||
@@ -41,13 +37,8 @@ export {
|
|||||||
expect(indexCode).to.equal(codeExample(`
|
expect(indexCode).to.equal(codeExample(`
|
||||||
'create index';
|
'create index';
|
||||||
|
|
||||||
import bar from './bar';
|
export bar from './bar';
|
||||||
import foo from './foo';
|
export foo from './foo';
|
||||||
|
|
||||||
export {
|
|
||||||
bar,
|
|
||||||
foo
|
|
||||||
};
|
|
||||||
`));
|
`));
|
||||||
});
|
});
|
||||||
context('file with extension', () => {
|
context('file with extension', () => {
|
||||||
@@ -59,11 +50,7 @@ export {
|
|||||||
expect(indexCode).to.equal(codeExample(`
|
expect(indexCode).to.equal(codeExample(`
|
||||||
'create index';
|
'create index';
|
||||||
|
|
||||||
import foo from './foo.js';
|
export foo from './foo.js';
|
||||||
|
|
||||||
export {
|
|
||||||
foo
|
|
||||||
};
|
|
||||||
`));
|
`));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -76,13 +63,8 @@ export {
|
|||||||
expect(indexCode).to.equal(codeExample(`
|
expect(indexCode).to.equal(codeExample(`
|
||||||
'create index';
|
'create index';
|
||||||
|
|
||||||
import bar from './bar';
|
export bar from './bar';
|
||||||
import foo from './foo';
|
export foo from './foo';
|
||||||
|
|
||||||
export {
|
|
||||||
bar,
|
|
||||||
foo
|
|
||||||
};
|
|
||||||
`));
|
`));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {
|
|||||||
} from 'chai';
|
} from 'chai';
|
||||||
|
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import readDirectory from './../src/readDirectory';
|
import readDirectory from './../src/utilities/readDirectory';
|
||||||
|
|
||||||
const fixturesPath = path.resolve(__dirname, './fixtures/read-directory');
|
const fixturesPath = path.resolve(__dirname, './fixtures/read-directory');
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
expect
|
expect
|
||||||
} from 'chai';
|
} from 'chai';
|
||||||
import sortByDepth from './../src/sortByDepth';
|
import sortByDepth from './../src/utilities/sortByDepth';
|
||||||
|
|
||||||
describe('sortByDepth()', () => {
|
describe('sortByDepth()', () => {
|
||||||
it('sorts from deepest to the most shallow', () => {
|
it('sorts from deepest to the most shallow', () => {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {
|
|||||||
expect
|
expect
|
||||||
} from 'chai';
|
} from 'chai';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import validateTargetDirectory from './../src/validateTargetDirectory';
|
import validateTargetDirectory from './../src/utilities/validateTargetDirectory';
|
||||||
|
|
||||||
const fixturesPath = path.resolve(__dirname, './fixtures/validate-target-directory');
|
const fixturesPath = path.resolve(__dirname, './fixtures/validate-target-directory');
|
||||||
|
|
||||||
|
|||||||
+3
-8
@@ -6,7 +6,7 @@ import {
|
|||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import codeExample from './codeExample';
|
import codeExample from './codeExample';
|
||||||
import writeIndex from './../src/writeIndex';
|
import writeIndex from './../src/utilities/writeIndex';
|
||||||
|
|
||||||
const fixturesPath = path.resolve(__dirname, './fixtures/write-index');
|
const fixturesPath = path.resolve(__dirname, './fixtures/write-index');
|
||||||
|
|
||||||
@@ -30,13 +30,8 @@ describe('writeIndex()', () => {
|
|||||||
expect(indexCode).to.equal(codeExample(`
|
expect(indexCode).to.equal(codeExample(`
|
||||||
'create index';
|
'create index';
|
||||||
|
|
||||||
import bar from './bar';
|
export bar from './bar';
|
||||||
import foo from './foo.js';
|
export foo from './foo.js';
|
||||||
|
|
||||||
export {
|
|
||||||
bar,
|
|
||||||
foo
|
|
||||||
};
|
|
||||||
`));
|
`));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user