laravel-mix-glob
Version:
Laravel mix extension that add support for globs usage with an extensive concise api. For a more natural boosted productivity and dynamic. Configure once and forget about adding the files each time.
3 lines (2 loc) • 3.23 kB
JavaScript
;var e=require("path"),s=require("./index.js");const t=e.resolve(__dirname,"./__fixtures__"),i=[`${t}/dotFiles/.bashrc`,`${t}/dotFiles/.eslintignore`,`${t}/dotFiles/.myAliases`,`${t}/dotFiles/.npmignore`,`${t}/dotFiles/.some1.json`,`${t}/dotFiles/.zshrc`];function l(e,t){t.forEach(((t,i)=>{test(t.name?`${e}: ${t.name}`:`${e}: test of index ${i}`,(()=>{const e=s.globResolve(t.glb);expect(e).toEqual(t.expected)}))}))}test("that returned paths are absolute paths",(()=>{[`${t}/**/*`,[`${t}/**/*.ts`,`${t}/**/*.json`],{pattern:`${t}/**/*`,options:{ignore:[`${t}/**/*.json`]}},e=>e(`${t}/**/*`)].forEach((t=>{const i=s.globResolve(t);expect(Array.isArray(i)).toBeTruthy(),i.forEach((s=>{expect(e.isAbsolute(s)).toBeTruthy()}))}))})),describe("Testing params",(()=>{l("String param",[{glb:`${t}/**/*/index.ts`,expected:[`${t}/files/src/index.ts`,`${t}/files/src/core/index.ts`]},{name:"testing default works (dotFiles)",glb:`${t}/dotFiles/*`,expected:i},{glb:`${t}/files/src/*`,expected:[`${t}/files/src/Lollipop.ts`,`${t}/files/src/index.ts`,`${t}/files/src/someFile.ts`]}]),l("String[] param",[{glb:[`${t}/**/*/index.ts`],expected:[`${t}/files/src/index.ts`,`${t}/files/src/core/index.ts`]},{glb:[`${t}/dotFiles/*`],expected:i},{glb:[`${t}/files/src/*`],expected:[`${t}/files/src/Lollipop.ts`,`${t}/files/src/index.ts`,`${t}/files/src/someFile.ts`]},{glb:[`${t}/files/src/*index.ts`,`${t}/files/src/core/*index.ts`],expected:[`${t}/files/src/index.ts`,`${t}/files/src/core/index.ts`]},{glb:[`${t}/dotFiles/*`,`${t}/files/src/*`],expected:[...i,`${t}/files/src/Lollipop.ts`,`${t}/files/src/index.ts`,`${t}/files/src/someFile.ts`]}]),l("Object param",[{name:"test object have default while options not provided",glb:{pattern:`${t}/dotFiles/**/*`},expected:i},{name:"test object have default while options object is provided (testing against default dot: true)",glb:{pattern:[`${t}/dotFiles/**/*`,`${t}/symlinks/*`],options:{ignore:[`${t}/dotFiles/.npmignore`]}},expected:[...i.filter((e=>e!==`${t}/dotFiles/.npmignore`)),`${t}/symlinks/lollipop.ts`,`${t}/symlinks/myAliases`]},{glb:{pattern:`${t}/files/src/**/*.ts`,options:{ignore:[`${t}/**/index.ts`]}},expected:[`${t}/files/src/Lollipop.ts`,`${t}/files/src/someFile.ts`,`${t}/files/src/core/lib.ts`,`${t}/files/src/utils/logger.ts`]},{name:"Default options are overridden correctly",glb:{pattern:[`${t}/dotFiles/*`,`${t}/symlinks/*`],options:{dot:!1}},expected:[`${t}/symlinks/lollipop.ts`,`${t}/symlinks/myAliases`]},{glb:{pattern:`${t}/files/src/*`},expected:[`${t}/files/src/Lollipop.ts`,`${t}/files/src/index.ts`,`${t}/files/src/someFile.ts`]}]),l("Function param",[{name:"test fglb.sync is passed and with default",glb:e=>e(`${t}/dotFiles/*`),expected:i},{name:"function works with whatever you return",glb:()=>["/holla"],expected:["/holla"]},{glb:e=>e([`${t}/dotFiles/**/*`,`${t}/symlinks/*`],{ignore:[`${t}/dotFiles/.npmignore`]}),expected:[...i.filter((e=>e!==`${t}/dotFiles/.npmignore`)),`${t}/symlinks/lollipop.ts`,`${t}/symlinks/myAliases`]}]),test("Wrong param type",(()=>{try{s.globResolve(54),fail("wrong type")}catch(e){expect(e.message).toContain("Wrong glb parameter, possible types are string|array|obje")}}))}));
//# sourceMappingURL=index.test.js.map