UNPKG

2.62 kBSource Map (JSON)View Raw
1{"version":3,"sources":["index.js"],"names":["isNodeModule","filename","includes","inject","module","code","compact","quotes","process","env","JSDOCTRINETEST_VERBOSE","console","log","_compile","enableSpecInjection","dir","load","require","extensions","loadWithSpecs","m","dirname"],"mappings":";;AAOA;;;;AACA;;;;AACA;;;;AACA;;;;;;AAVA;;;;AAIA;AACA;;AAOA,SAASA,YAAT,CAAsBC,QAAtB,EAAgC;AAC9B,SAAOA,SAASC,QAAT,CAAkB,cAAlB,KAAqC,CAACD,SAASC,QAAT,CAAkB,uBAAlB,CAA7C;AACD;;AAED,SAASC,MAAT,CAAgBC,MAAhB,EAAwBH,QAAxB,EAAkC;AAChC,MAAMI,OAAO,8BAAS,4CAAmBJ,QAAnB,CAAT,EAAuC;AAClDK,aAAS,KADyC;AAElDC,YAAQ;AAF0C,GAAvC,EAGVF,IAHH;;AAKA,MAAIG,QAAQC,GAAR,CAAYC,sBAAhB,EAAwC;AACtCC,YAAQC,GAAR,CAAYX,QAAZ;AACAU,YAAQC,GAAR,CAAYP,IAAZ;AACAM,YAAQC,GAAR;AACD;AACDR,SAAOS,QAAP,CAAgBR,IAAhB,EAAsBJ,QAAtB;AACD;;AAED,SAASa,mBAAT,GAA+B;AAC7B,MAAIC,YAAJ;AACA,MAAMC,OAAOC,QAAQC,UAAR,CAAmB,KAAnB,CAAb;AACAD,UAAQC,UAAR,CAAmB,KAAnB,IAA4B,SAASC,aAAT,CAAuBC,CAAvB,EAA0BnB,QAA1B,EAAoC;AAC9D,QAAID,aAAaC,QAAb,CAAJ,EAA4B;AAC1B,aAAOe,KAAKI,CAAL,EAAQnB,QAAR,CAAP;AACD;AACD;AACA;AACA,QAAI,CAACc,GAAL,EAAU;AACRA,YAAM,eAAKM,OAAL,CAAapB,QAAb,CAAN;AACD;;AAED,QAAI,CAACA,SAASC,QAAT,CAAkBa,GAAlB,CAAL,EAA6B;AAC3B,aAAOC,KAAKI,CAAL,EAAQnB,QAAR,CAAP;AACD;;AAED,WAAOE,OAAOiB,CAAP,EAAUnB,QAAV,CAAP;AACD,GAfD;AAgBD;;AAEDa","file":"index.js","sourcesContent":["/*!\n * Copyright (c) 2015-2017 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint require-jsdoc: [0] */\n/* eslint no-console: [0] */\n\nimport extract from './extract';\nimport generate from 'babel-generator';\nimport path from 'path';\nimport transform from './transform';\n\nfunction isNodeModule(filename) {\n return filename.includes('node_modules') && !filename.includes('packages/node_modules');\n}\n\nfunction inject(module, filename) {\n const code = generate(extract(transform, filename), {\n compact: false,\n quotes: 'single'\n }).code;\n\n if (process.env.JSDOCTRINETEST_VERBOSE) {\n console.log(filename);\n console.log(code);\n console.log();\n }\n module._compile(code, filename);\n}\n\nfunction enableSpecInjection() {\n let dir;\n const load = require.extensions['.js'];\n require.extensions['.js'] = function loadWithSpecs(m, filename) {\n if (isNodeModule(filename)) {\n return load(m, filename);\n }\n // this is really janky, but so far seems to properly ensure we only load\n // files in the directories specified to mocha\n if (!dir) {\n dir = path.dirname(filename);\n }\n\n if (!filename.includes(dir)) {\n return load(m, filename);\n }\n\n return inject(m, filename);\n };\n}\n\nenableSpecInjection();\n"]}
\No newline at end of file