@hayspec/init
Version:
Project generator for Hayspec framework.
1 lines • 16 kB
JSON
{"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/index.ts":{"path":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/index.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":19},"end":{"line":11,"column":1}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":126}},"10":{"start":{"line":10,"column":21},"end":{"line":10,"column":126}},"11":{"start":{"line":10,"column":95},"end":{"line":10,"column":126}},"12":{"start":{"line":12,"column":0},"end":{"line":12,"column":62}},"13":{"start":{"line":13,"column":0},"end":{"line":13,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":50},"end":{"line":9,"column":51}},"loc":{"start":{"line":9,"column":71},"end":{"line":11,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":19},"end":{"line":11,"column":1}},"type":"binary-expr","locations":[{"start":{"line":9,"column":20},"end":{"line":9,"column":24}},{"start":{"line":9,"column":28},"end":{"line":9,"column":45}},{"start":{"line":9,"column":50},"end":{"line":11,"column":1}}],"line":9},"5":{"loc":{"start":{"line":10,"column":21},"end":{"line":10,"column":126}},"type":"if","locations":[{"start":{"line":10,"column":21},"end":{"line":10,"column":126}},{"start":{"line":10,"column":21},"end":{"line":10,"column":126}}],"line":10},"6":{"loc":{"start":{"line":10,"column":25},"end":{"line":10,"column":93}},"type":"binary-expr","locations":[{"start":{"line":10,"column":25},"end":{"line":10,"column":40}},{"start":{"line":10,"column":44},"end":{"line":10,"column":93}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{"0":1,"1":1,"2":0,"3":1},"b":{"0":[1,1,1],"1":[1,0],"2":[1,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/index.ts","sources":["/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAiC","sourcesContent":["export * from './core/generator';\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fee5ac3a43c0b7a2af521552b2cee6ddd3b8e29b","contentHash":"a62fc22599edf33c8f9af7e6b7d0588dc2f565fcc3f7509ac8305974b8282c8a"},"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/generator.ts":{"path":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/generator.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":110}},"2":{"start":{"line":3,"column":91},"end":{"line":3,"column":106}},"3":{"start":{"line":4,"column":4},"end":{"line":9,"column":7}},"4":{"start":{"line":5,"column":36},"end":{"line":5,"column":97}},"5":{"start":{"line":5,"column":42},"end":{"line":5,"column":70}},"6":{"start":{"line":5,"column":85},"end":{"line":5,"column":95}},"7":{"start":{"line":6,"column":35},"end":{"line":6,"column":100}},"8":{"start":{"line":6,"column":41},"end":{"line":6,"column":73}},"9":{"start":{"line":6,"column":88},"end":{"line":6,"column":98}},"10":{"start":{"line":7,"column":32},"end":{"line":7,"column":116}},"11":{"start":{"line":8,"column":8},"end":{"line":8,"column":78}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":62}},"13":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"14":{"start":{"line":13,"column":12},"end":{"line":13,"column":31}},"15":{"start":{"line":14,"column":13},"end":{"line":14,"column":28}},"16":{"start":{"line":15,"column":18},"end":{"line":15,"column":40}},"17":{"start":{"line":18,"column":8},"end":{"line":18,"column":29}},"18":{"start":{"line":21,"column":8},"end":{"line":32,"column":11}},"19":{"start":{"line":22,"column":12},"end":{"line":31,"column":13}},"20":{"start":{"line":23,"column":29},"end":{"line":23,"column":73}},"21":{"start":{"line":24,"column":28},"end":{"line":24,"column":46}},"22":{"start":{"line":25,"column":16},"end":{"line":25,"column":41}},"23":{"start":{"line":26,"column":28},"end":{"line":29,"column":74}},"24":{"start":{"line":30,"column":16},"end":{"line":30,"column":47}},"25":{"start":{"line":35,"column":0},"end":{"line":35,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":10,"column":1}},"line":2},"1":{"name":"adopt","decl":{"start":{"line":3,"column":13},"end":{"line":3,"column":18}},"loc":{"start":{"line":3,"column":26},"end":{"line":3,"column":112}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":3,"column":70},"end":{"line":3,"column":71}},"loc":{"start":{"line":3,"column":89},"end":{"line":3,"column":108}},"line":3},"3":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":36},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":63},"end":{"line":9,"column":5}},"line":4},"4":{"name":"fulfilled","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":34},"end":{"line":5,"column":99}},"line":5},"5":{"name":"rejected","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":33},"end":{"line":6,"column":102}},"line":6},"6":{"name":"step","decl":{"start":{"line":7,"column":17},"end":{"line":7,"column":21}},"loc":{"start":{"line":7,"column":30},"end":{"line":7,"column":118}},"line":7},"7":{"name":"(anonymous_7)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":24},"end":{"line":19,"column":5}},"line":17},"8":{"name":"(anonymous_8)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":20,"column":12},"end":{"line":33,"column":5}},"line":20},"9":{"name":"(anonymous_9)","decl":{"start":{"line":21,"column":47},"end":{"line":21,"column":48}},"loc":{"start":{"line":21,"column":60},"end":{"line":32,"column":9}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":17},"end":{"line":2,"column":21}},{"start":{"line":2,"column":25},"end":{"line":2,"column":39}},{"start":{"line":2,"column":44},"end":{"line":10,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":109}},"type":"cond-expr","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":61}},{"start":{"line":3,"column":64},"end":{"line":3,"column":109}}],"line":3},"2":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"type":"binary-expr","locations":[{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},{"start":{"line":4,"column":22},"end":{"line":4,"column":33}}],"line":4},"3":{"loc":{"start":{"line":7,"column":32},"end":{"line":7,"column":115}},"type":"cond-expr","locations":[{"start":{"line":7,"column":46},"end":{"line":7,"column":67}},{"start":{"line":7,"column":70},"end":{"line":7,"column":115}}],"line":7},"4":{"loc":{"start":{"line":8,"column":51},"end":{"line":8,"column":67}},"type":"binary-expr","locations":[{"start":{"line":8,"column":51},"end":{"line":8,"column":61}},{"start":{"line":8,"column":65},"end":{"line":8,"column":67}}],"line":8}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":1,"13":1,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"0":[1,1,1],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/generator.ts","sources":["/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,yCAAyC;AAczC,MAAa,SAAS;IAOpB,YAAoB,MAAuB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAKY,KAAK;;YAChB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE1D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO;qBACrB,IAAI,CAAC,IAAI,CAAC;qBACV,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;qBACvC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzD,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAChC;QACH,CAAC;KAAA;CAEF;AA7BD,8BA6BC","sourcesContent":["import * as fsx from 'fs-extra';\nimport * as path from 'path';\nimport * as structure from './structure';\n\n/**\n * Initializer config recipe.\n */\nexport interface GeneratorRecipe {\n root: string;\n name: string;\n description: string;\n}\n\n/**\n * Project structure initializer.\n */\nexport class Generator {\n protected recipe: GeneratorRecipe;\n\n /**\n * Class constructor.\n * @param recipe Initializer config recipe.\n */\n public constructor (recipe: GeneratorRecipe) {\n this.recipe = recipe;\n }\n\n /**\n * Creates project files.\n */\n public async build () {\n for (const file of structure.files) {\n const dest = path.resolve(this.recipe.root, ...file.path);\n \n const dir = path.dirname(dest);\n await fsx.ensureDir(dir);\n\n const src = file.content\n .join('\\n')\n .replace('{{ name }}', this.recipe.name)\n .replace('{{ description }}', this.recipe.description);\n await fsx.writeFile(dest, src);\n }\n }\n\n}"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"dce5974a90de46ac81376168df467e7970aed3d1","contentHash":"92af854f2d73939310e3b4268857128bb77492eaaf022906518bb479bbaded85"},"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/structure.ts":{"path":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/structure.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":23}},"2":{"start":{"line":4,"column":0},"end":{"line":94,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/structure.ts","sources":["/Users/xpepermint/Work/hayspec/framework/packages/hayspec-init/src/core/structure.ts"],"names":[],"mappings":";;;AAWa,QAAA,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,CAAC,YAAY,CAAC;QACpB,OAAO,EAAE;YACP,WAAW;YACX,SAAS;YACT,cAAc;YACd,MAAM;SACP;KACF;IACD;QACE,IAAI,EAAE,CAAC,YAAY,CAAC;QACpB,OAAO,EAAE;YACP,WAAW;YACX,SAAS;YACT,cAAc;SACf;KACF;IACD;QACE,IAAI,EAAE,CAAC,cAAc,CAAC;QACtB,OAAO,EAAE;YACP,GAAG;YACH,yBAAyB;YACzB,uBAAuB;YACvB,uCAAuC;YACvC,gBAAgB;YAChB,qBAAqB;YACrB,iCAAiC;YACjC,4BAA4B;YAC5B,MAAM;YACN,gBAAgB;YAChB,kBAAkB;YAClB,0BAA0B;YAC1B,QAAQ;YACR,gBAAgB;YAChB,kCAAkC;YAClC,OAAO;YACP,MAAM;YACN,qBAAqB;YACrB,wBAAwB;YACxB,+BAA+B;YAC/B,gCAAgC;YAChC,0BAA0B;YAC1B,4BAA4B;YAC5B,KAAK;YACL,GAAG;SACJ;KACF;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;QACzB,OAAO,EAAE;YACP,KAAK;YACL,4CAA4C;YAC5C,KAAK;YACL,2BAA2B;YAC3B,gBAAgB;YAChB,GAAG;SACJ;KACF;IACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC;QACvC,OAAO,EAAE;YACP,uCAAuC;YACvC,8BAA8B;YAC9B,EAAE;YACF,KAAK;YACL,8BAA8B;YAC9B,KAAK;YACL,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,8CAA8C;YAC9C,4BAA4B;YAC5B,KAAK;YACL,EAAE;YACF,sBAAsB;SACvB;KACF;IACD;QACE,IAAI,EAAE,CAAC,eAAe,CAAC;QACvB,OAAO,EAAE;YACP,GAAG;YACH,wBAAwB;YACxB,2BAA2B;YAC3B,uBAAuB;YACvB,qBAAqB;YACrB,KAAK;YACL,GAAG;SACJ;KACF;CACc,CAAC","sourcesContent":["/**\n * File recipe interface.\n */\nexport interface FileRecipe {\n path: string[];\n content: string[];\n}\n\n/**\n * Project files.\n */\nexport const files = [\n {\n path: ['.gitignore'],\n content: [\n `.DS_Store`,\n `.vscode`,\n `node_modules`,\n `dist`,\n ],\n },\n {\n path: ['.npmignore'],\n content: [\n `.DS_Store`,\n `.vscode`,\n `node_modules`,\n ],\n },\n {\n path: ['package.json'],\n content: [\n `{`,\n ` \"name\": \"{{ name }}\",`,\n ` \"version\": \"0.0.0\",`,\n ` \"description\": \"{{ description }}\",`,\n ` \"scripts\": {`,\n ` \"build\": \"tsc\",`,\n ` \"prepare\": \"npm run build\",`,\n ` \"test\": \"hayspec test\"`,\n ` },`,\n ` \"hayspec\": {`,\n ` \"require\": [`,\n ` \"ts-node/register\"`,\n ` ],`,\n ` \"match\": [`,\n ` \"./src/tests/**/*.test.ts\"`,\n ` ]`,\n ` },`,\n ` \"license\": \"MIT\",`,\n ` \"devDependencies\": {`,\n ` \"@hayspec/cli\": \"latest\",`,\n ` \"@hayspec/spec\": \"latest\",`,\n ` \"ts-node\": \"latest\",`,\n ` \"typescript\": \"latest\"`,\n ` }`,\n `}`,\n ],\n },\n {\n path: ['src', 'index.ts'],\n content: [\n `/**`,\n ` * Example function simply returning true.`,\n ` */`,\n `export function isHay() {`,\n ` return true;`,\n `}`,\n ],\n },\n {\n path: ['src', 'tests', 'index.test.ts'],\n content: [\n `import { Spec } from '@hayspec/spec';`,\n `import * as index from '..';`,\n ``,\n `/**`,\n ` * Testing module interface.`,\n ` */`,\n ``,\n `const spec = new Spec();`,\n ``,\n `spec.test('isHay() returns true', (ctx) => {`,\n ` ctx.true(index.isHay());`,\n `});`,\n ``,\n `export default spec;`,\n ],\n },\n {\n path: ['tsconfig.json'],\n content: [\n `{`,\n ` \"compilerOptions\": {`,\n ` \"module\": \"commonjs\",`,\n ` \"outDir\": \"dist\",`,\n ` \"target\": \"es6\"`,\n ` }`,\n `}`,\n ],\n },\n] as FileRecipe[];\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5dfdc88ee350b6b8c49ddfe168e582db381f8cab","contentHash":"d31c76bd297165697344f6e7aca2bbb71a3421454131f32d08c8d0716a46ff55"}}