UNPKG

@picturelink/barrelsby

Version:

Automatic TypeScript barrels for your entire code base

103 lines 4.08 kB
"use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const TestUtilities = __importStar(require("../testUtilities")); const FileSystem = __importStar(require("./fileSystem")); describe("builder/fileSystem module has a", () => { describe("buildFileSystemBarrel function that", () => { describe("when using the default settings", () => { let output; const logger = () => void 0; beforeEach(() => { const rootDirectory = TestUtilities.mockDirectoryTree(); output = FileSystem.buildFileSystemBarrel(rootDirectory, TestUtilities.mockModules(rootDirectory), '"', ";", logger, undefined); }); it("should produce the correct output", () => { TestUtilities.assertMultiLine(output, `import * as barrelts from "./barrel"; import * as directory2directory4deeplyNestedts from "./directory2/directory4/deeplyNested"; import * as directory2scriptts from "./directory2/script"; import * as directory3programts from "./directory3/program"; import * as indexts from "./index"; export {barrelts as barrel}; export const directory2 = { directory4: { deeplyNested: directory2directory4deeplyNestedts, }, script: directory2scriptts, }; export const directory3 = { program: directory3programts, }; export {indexts as index}; `); }); it("should produce output compatible with the recommended tslint ruleset", () => { TestUtilities.tslint(output, '"'); }); }); }); describe("when using single quotes", () => { let output; const logger = () => void 0; beforeEach(() => { const rootDirectory = TestUtilities.mockDirectoryTree(); output = FileSystem.buildFileSystemBarrel(rootDirectory, TestUtilities.mockModules(rootDirectory), "'", ";", logger, undefined); }); it("should produce the correct output", () => { TestUtilities.assertMultiLine(output, `import * as barrelts from './barrel'; import * as directory2directory4deeplyNestedts from './directory2/directory4/deeplyNested'; import * as directory2scriptts from './directory2/script'; import * as directory3programts from './directory3/program'; import * as indexts from './index'; export {barrelts as barrel}; export const directory2 = { directory4: { deeplyNested: directory2directory4deeplyNestedts, }, script: directory2scriptts, }; export const directory3 = { program: directory3programts, }; export {indexts as index}; `); }); it("should produce output compatible with the recommended tslint ruleset", () => { TestUtilities.tslint(output, "'"); }); }); describe("when using no semicolon", () => { let output; const logger = () => void 0; beforeEach(() => { const rootDirectory = TestUtilities.mockDirectoryTree(); output = FileSystem.buildFileSystemBarrel(rootDirectory, TestUtilities.mockModules(rootDirectory), '"', "", logger, undefined); }); it("should produce the correct output", () => { TestUtilities.assertMultiLine(output, `import * as barrelts from "./barrel" import * as directory2directory4deeplyNestedts from "./directory2/directory4/deeplyNested" import * as directory2scriptts from "./directory2/script" import * as directory3programts from "./directory3/program" import * as indexts from "./index" export {barrelts as barrel} export const directory2 = { directory4: { deeplyNested: directory2directory4deeplyNestedts, }, script: directory2scriptts, } export const directory3 = { program: directory3programts, } export {indexts as index} `); }); }); }); //# sourceMappingURL=fileSystem.test.js.map