@nlabs/lex 1.39.1 → 1.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc +1 -0
- package/.vscode/settings.json +1 -1
- package/babel.config.json +13 -0
- package/dist/LexConfig.js +30 -26
- package/dist/commands/build.js +96 -49
- package/dist/commands/bulid.test.js +314 -5
- package/dist/commands/clean.js +4 -4
- package/dist/commands/clean.test.js +63 -0
- package/dist/commands/compile.js +32 -40
- package/dist/commands/compile.test.js +93 -0
- package/dist/commands/config.js +2 -2
- package/dist/commands/copy.js +1 -1
- package/dist/commands/create.js +4 -4
- package/dist/commands/dev.js +7 -7
- package/dist/commands/init.js +13 -13
- package/dist/commands/link.js +3 -3
- package/dist/commands/lint.js +50 -36
- package/dist/commands/migrate.js +4 -4
- package/dist/commands/publish.js +7 -7
- package/dist/commands/test.js +9 -9
- package/dist/commands/update.js +10 -10
- package/dist/commands/upgrade.js +7 -7
- package/dist/commands/versions.js +8 -9
- package/dist/commands/versions.test.js +49 -0
- package/dist/create/changelog.js +1 -1
- package/dist/lex.js +16 -16
- package/dist/lint.js +8 -0
- package/dist/utils/app.js +1 -1
- package/dist/utils/file.js +4 -4
- package/jest.config.cjs +55 -0
- package/jest.config.lex.js +27 -28
- package/jest.setup.ts +3 -0
- package/package.json +83 -78
- package/resolver.cjs +86 -0
- package/test/javascript.js +6 -0
- package/test/typescript.ts +6 -0
- package/tsconfig.build.json +1 -1
- package/tsconfig.json +1 -1
- package/tsconfig.template.json +7 -9
- package/webpack.config.js +81 -68
- package/dist/resolver.js +0 -70
- package/jest.config.js +0 -14
- package/jest.setup.js +0 -3
package/dist/utils/app.js
CHANGED
|
@@ -214,4 +214,4 @@ export {
|
|
|
214
214
|
setPackageJson,
|
|
215
215
|
updateTemplateName
|
|
216
216
|
};
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2FwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBib3hlbiBmcm9tICdib3hlbic7XG5pbXBvcnQge2NvcHlGaWxlLCBleGlzdHNTeW5jLCBsc3RhdFN5bmMsIG1rZGlyU3luYywgcmVhZGRpclN5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtnbG9iU3luY30gZnJvbSAnZ2xvYic7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eS5qcyc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQge2Jhc2VuYW1lIGFzIHBhdGhCYXNlbmFtZSwgam9pbiBhcyBwYXRoSm9pbiwgcmVsYXRpdmUgYXMgcGF0aFJlbGF0aXZlLCByZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7cmltcmFmU3luY30gZnJvbSAncmltcmFmJztcblxuaW1wb3J0IHtsb2d9IGZyb20gJy4vbG9nLmpzJztcbmltcG9ydCB0eXBlIHtMZXhDb25maWdUeXBlfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuXG5leHBvcnQgY29uc3QgY3dkOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpO1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsZW5hbWVzID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qge2NhbGxiYWNrLCBjbGlOYW1lLCBuYW1lLCBxdWlldCwgdHlwZSwgdXNlVHlwZXNjcmlwdH0gPSBwcm9wcztcblxuICAvLyBTZXQgZmlsZW5hbWVcbiAgbGV0IG5hbWVDYXBzOiBzdHJpbmc7XG4gIGNvbnN0IGl0ZW1UeXBlczogc3RyaW5nW10gPSBbJ3N0b3JlcycsICd2aWV3cyddO1xuXG4gIGlmKCFuYW1lKSB7XG4gICAgaWYoaXRlbVR5cGVzLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7dHlwZX0gbmFtZSBpcyByZXF1aXJlZC4gUGxlYXNlIHVzZSAnbGV4IC1oJyBmb3Igb3B0aW9ucy5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICByZXR1cm4gY2FsbGJhY2soMSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5hbWVDYXBzID0gYCR7bmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke25hbWUuc3Vic3RyKDEpfWA7XG4gIH1cblxuICAvLyBEaXNwbGF5IG1lc3NhZ2VcbiAgbG9nKGAke2NsaU5hbWV9IGFkZGluZyAke25hbWV9ICR7dHlwZX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBUZW1wbGF0ZSBkaXJlY3RvcnlcbiAgbGV0IHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBsZXQgdGVtcGxhdGVFeHQ6IHN0cmluZztcbiAgbGV0IHRlbXBsYXRlUmVhY3Q6IHN0cmluZztcblxuICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgdGVtcGxhdGVQYXRoID0gJy4uLy4uL3RlbXBsYXRlcy90eXBlc2NyaXB0JztcbiAgICB0ZW1wbGF0ZUV4dCA9ICcudHMnO1xuICAgIHRlbXBsYXRlUmVhY3QgPSAnLnRzeCc7XG4gIH0gZWxzZSB7XG4gICAgdGVtcGxhdGVQYXRoID0gJy4uLy4uL3RlbXBsYXRlcy9mbG93JztcbiAgICB0ZW1wbGF0ZUV4dCA9ICcuanMnO1xuICAgIHRlbXBsYXRlUmVhY3QgPSAnLmpzJztcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbmFtZUNhcHMsXG4gICAgdGVtcGxhdGVFeHQsXG4gICAgdGVtcGxhdGVQYXRoLFxuICAgIHRlbXBsYXRlUmVhY3RcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTcGlubmVyID0gKHF1aWV0ID0gZmFsc2UpOiBhbnkgPT4ge1xuICBpZihxdWlldCkge1xuICAgIHJldHVybiB7XG4gICAgICBmYWlsOiAoKSA9PiB7fSxcbiAgICAgIHN0YXJ0OiAoKSA9PiB7fSxcbiAgICAgIHN1Y2NlZWQ6ICgpID0+IHt9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBvcmEoe2NvbG9yOiAneWVsbG93J30pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlGaWxlcyA9IGFzeW5jIChmaWxlczogc3RyaW5nW10sIHR5cGVOYW1lOiBzdHJpbmcsIHNwaW5uZXIsIGNvbmZpZzogTGV4Q29uZmlnVHlwZSkgPT4ge1xuICBjb25zdCB7b3V0cHV0RnVsbFBhdGgsIHNvdXJjZUZ1bGxQYXRofSA9IGNvbmZpZztcbiAgY29uc3QgaXRlbXMgPSBmaWxlcy5tYXAoKGZpbGVOYW1lOiBzdHJpbmcpID0+ICh7XG4gICAgZnJvbTogZmlsZU5hbWUsXG4gICAgdG86IHBhdGhSZXNvbHZlKG91dHB1dEZ1bGxQYXRoLCBwYXRoUmVsYXRpdmUoc291cmNlRnVsbFBhdGgsIGZpbGVOYW1lKSlcbiAgfSkpO1xuXG4gIHRyeSB7XG4gICAgc3Bpbm5lci5zdGFydChgQ29weWluZyAke3R5cGVOYW1lfSBmaWxlcy4uLmApO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKGl0ZW1zLm1hcCgoe2Zyb20sIHRvfSkgPT4gbmV3IFByb21pc2UoXG4gICAgICAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIG1rZGlyU3luYyhwYXRoUmVzb2x2ZSh0bywgJy4uJyksIHtyZWN1cnNpdmU6IHRydWV9KTtcbiAgICAgICAgcmV0dXJuIGNvcHlGaWxlKGZyb20sIHRvLCAoY29weUVycm9yKSA9PiB7XG4gICAgICAgICAgaWYoY29weUVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICkpKTtcbiAgICBzcGlubmVyLnN1Y2NlZWQoYFN1Y2Nlc3NmdWxseSBjb3BpZWQgJHtmaWxlcy5sZW5ndGh9ICR7dHlwZU5hbWV9IGZpbGVzIWApO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKGBDb3B5aW5nIG9mICR7dHlwZU5hbWV9IGZpbGVzIGZhaWxlZC5gKTtcbiAgICBsb2coYEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJyk7XG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29weUZpbGVTeW5jID0gKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZykgPT4ge1xuICBsZXQgdGFyZ2V0RmlsZTogc3RyaW5nID0gdGFyZ2V0O1xuXG4gIC8vIElmIHRhcmdldCBpcyBhIGRpcmVjdG9yeSBhIG5ldyBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSB3aWxsIGJlIGNyZWF0ZWRcbiAgaWYoZXhpc3RzU3luYyh0YXJnZXQpKSB7XG4gICAgaWYobHN0YXRTeW5jKHRhcmdldCkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgdGFyZ2V0RmlsZSA9IHBhdGhKb2luKHRhcmdldCwgcGF0aEJhc2VuYW1lKHNvdXJjZSkpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlRmlsZVN5bmModGFyZ2V0RmlsZSwgcmVhZEZpbGVTeW5jKHNvdXJjZSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlGb2xkZXJSZWN1cnNpdmVTeW5jID0gKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuICBsZXQgZmlsZXM6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gQ2hlY2sgaWYgZm9sZGVyIG5lZWRzIHRvIGJlIGNyZWF0ZWQgb3IgaW50ZWdyYXRlZFxuICBjb25zdCB0YXJnZXRGb2xkZXI6IHN0cmluZyA9IHBhdGhKb2luKHRhcmdldCwgcGF0aEJhc2VuYW1lKHNvdXJjZSkpO1xuXG4gIGlmKCFleGlzdHNTeW5jKHRhcmdldEZvbGRlcikpIHtcbiAgICBta2RpclN5bmModGFyZ2V0Rm9sZGVyKTtcbiAgfVxuXG4gIC8vIENvcHlcbiAgaWYobHN0YXRTeW5jKHNvdXJjZSkuaXNEaXJlY3RvcnkoKSkge1xuICAgIGZpbGVzID0gcmVhZGRpclN5bmMoc291cmNlKTtcbiAgICBmaWxlcy5mb3JFYWNoKChmaWxlOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGN1clNvdXJjZTogc3RyaW5nID0gcGF0aEpvaW4oc291cmNlLCBmaWxlKTtcblxuICAgICAgaWYobHN0YXRTeW5jKGN1clNvdXJjZSkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICBjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYyhjdXJTb3VyY2UsIHRhcmdldEZvbGRlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb3B5RmlsZVN5bmMoY3VyU291cmNlLCB0YXJnZXRGb2xkZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UGFja2FnZUpzb24gPSAocGFja2FnZVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgZm9ybWF0UGF0aDogc3RyaW5nID0gcGFja2FnZVBhdGggfHwgYCR7cHJvY2Vzcy5jd2QoKX0vcGFja2FnZS5qc29uYDtcblxuICAvLyBDb25maWd1cmUgcGFja2FnZS5qc29uXG4gIGNvbnN0IHBhY2thZ2VEYXRhOiBzdHJpbmcgPSByZWFkRmlsZVN5bmMoZm9ybWF0UGF0aCkudG9TdHJpbmcoKTtcbiAgcmV0dXJuIEpTT04ucGFyc2UocGFja2FnZURhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbGVzQnlFeHQgPSAoZXh0OiBzdHJpbmcsIGNvbmZpZzogTGV4Q29uZmlnVHlwZSk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3Qge3NvdXJjZUZ1bGxQYXRofSA9IGNvbmZpZztcbiAgcmV0dXJuIGdsb2JTeW5jKGAke3NvdXJjZUZ1bGxQYXRofS8qKi8qKiR7ZXh0fWApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUNvbmZsaWN0TW9kdWxlcyA9IChtb2R1bGVMaXN0OiBvYmplY3QpID0+IHtcbiAgY29uc3QgdXBkYXRlZExpc3Q6IG9iamVjdCA9IHsuLi5tb2R1bGVMaXN0fTtcblxuICBPYmplY3Qua2V5cyh1cGRhdGVkTGlzdCkuZm9yRWFjaCgobW9kdWxlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXg6IFJlZ0V4cCA9IG5ldyBSZWdFeHAoJ14oPyFAdHlwZXNcXC8pLiooamVzdHx3ZWJwYWNrKS4qJCcsICdnaScpO1xuICAgIGlmKHJlZ2V4LnRlc3QobW9kdWxlTmFtZSkpIHtcbiAgICAgIGRlbGV0ZSB1cGRhdGVkTGlzdFttb2R1bGVOYW1lXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1cGRhdGVkTGlzdDtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVGaWxlcyA9IChmaWxlTmFtZTogc3RyaW5nLCBpc1JlbGF0aXZlOiBib29sZWFuID0gZmFsc2UpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgY29uc3QgZmlsZVBhdGg6IHN0cmluZyA9IGlzUmVsYXRpdmUgPyBwYXRoUmVzb2x2ZShjd2QsIGZpbGVOYW1lKSA6IGZpbGVOYW1lO1xuICB0cnkge1xuICAgIHJpbXJhZlN5bmMoZmlsZVBhdGgpO1xuICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTW9kdWxlcyA9ICgpID0+IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgdHJ5IHtcbiAgICAvLyBSZW1vdmUgbm9kZV9tb2R1bGVzXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4vbm9kZV9tb2R1bGVzJywgdHJ1ZSk7XG5cbiAgICAvLyBSZW1vdmUgeWFybiBsb2NrXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4veWFybi5sb2NrJywgdHJ1ZSk7XG5cbiAgICAvLyBSZW1vdmUgbnBtIGxvY2tcbiAgICBhd2FpdCByZW1vdmVGaWxlcygnLi9wYWNrYWdlLWxvY2suanNvbicsIHRydWUpO1xuXG4gICAgcmVzb2x2ZShudWxsKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHJlamVjdChlcnJvcik7XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3Qgc2V0UGFja2FnZUpzb24gPSAoanNvbiwgcGFja2FnZVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgaWYoIWpzb24pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBmb3JtYXRQYXRoOiBzdHJpbmcgPSBwYWNrYWdlUGF0aCB8fCBgJHtwcm9jZXNzLmN3ZCgpfS9wYWNrYWdlLmpzb25gO1xuXG4gIC8vIFVwZGF0ZSBwYWNrYWdlLmpzb25cbiAgd3JpdGVGaWxlU3luYyhmb3JtYXRQYXRoLCBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZE1vZHVsZVR5cGUge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGxpbmtlZE1vZHVsZXMgPSAoc3RhcnRQYXRoPzogc3RyaW5nKTogTGlua2VkTW9kdWxlVHlwZVtdID0+IHtcbiAgY29uc3Qgd29ya2luZ1BhdGg6IHN0cmluZyA9IHN0YXJ0UGF0aCB8fCBwcm9jZXNzLmN3ZCgpO1xuICBsZXQgbW9kdWxlUGF0aDogc3RyaW5nO1xuICBsZXQgcHJlZml4OiBzdHJpbmc7XG5cbiAgLy8gaWYgd2UgaGF2ZSBhIHNjb3BlIHdlIHNob3VsZCBjaGVjayBpZiB0aGUgbW9kdWxlcyBpbnNpZGUgdGhlIGZvbGRlciBpcyBsaW5rZWRcbiAgaWYod29ya2luZ1BhdGguaW5jbHVkZXMoJ0AnKSkge1xuICAgIHByZWZpeCA9IGBAJHt3b3JraW5nUGF0aC5zcGxpdCgnQCcpLnBvcCgpfWA7XG4gICAgbW9kdWxlUGF0aCA9IHdvcmtpbmdQYXRoO1xuICB9IGVsc2Uge1xuICAgIG1vZHVsZVBhdGggPSBwYXRoSm9pbih3b3JraW5nUGF0aCwgJ25vZGVfbW9kdWxlcycpO1xuICB9XG5cbiAgY29uc3QgZm91bmRQYXRoczogc3RyaW5nW10gPSBnbG9iU3luYyhgJHttb2R1bGVQYXRofS8qYCk7XG4gIHJldHVybiBmb3VuZFBhdGhzLnJlZHVjZSgobGlzdDogTGlua2VkTW9kdWxlVHlwZVtdLCBmb3VuZFBhdGg6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGF0cyA9IGxzdGF0U3luYyhmb3VuZFBhdGgpO1xuXG4gICAgICBpZihzdGF0cy5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIGNvbnN0IGRlZXBMaXN0OiBMaW5rZWRNb2R1bGVUeXBlW10gPSBsaW5rZWRNb2R1bGVzKGZvdW5kUGF0aCk7XG4gICAgICAgIGxpc3QucHVzaCguLi5kZWVwTGlzdCk7XG4gICAgICB9IGVsc2UgaWYoc3RhdHMuaXNTeW1ib2xpY0xpbmsoKSkge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lczogc3RyaW5nW10gPSAoW3ByZWZpeCwgcGF0aEJhc2VuYW1lKGZvdW5kUGF0aCldKS5maWx0ZXIoKGl0ZW06IHN0cmluZykgPT4gIWlzRW1wdHkoaXRlbSkpO1xuICAgICAgICBsaXN0LnB1c2goe25hbWU6IGAke21vZHVsZU5hbWVzLmpvaW4oJy8nKX1gLCBwYXRoOiBmb3VuZFBhdGh9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSBjYXRjaChmc0Vycm9yKSB7XG4gICAgICB0aHJvdyBmc0Vycm9yO1xuICAgIH1cbiAgfSwgW10pO1xufTtcblxuLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG5leHBvcnQgY29uc3QgY2hlY2tMaW5rZWRNb2R1bGVzID0gKCkgPT4ge1xuICBjb25zdCBsaW5rZWQgPSBsaW5rZWRNb2R1bGVzKCk7XG5cbiAgaWYobGlua2VkLmxlbmd0aCkge1xuICAgIGNvbnN0IG1zZ01vZHVsZTogc3RyaW5nID0gbGlua2VkLmxlbmd0aCA+IDEgPyAnTW9kdWxlcycgOiAnTW9kdWxlJztcbiAgICBjb25zdCBsaW5rZWRNc2c6IHN0cmluZyA9IGxpbmtlZC5yZWR1Y2UoXG4gICAgICAobXNnOiBzdHJpbmcsIGxpbmtlZE1vZHVsZTogTGlua2VkTW9kdWxlVHlwZSkgPT5cbiAgICAgICAgYCR7bXNnfVxcbiAqICR7bGlua2VkTW9kdWxlLm5hbWV9YCxcbiAgICAgIGBMaW5rZWQgJHttc2dNb2R1bGV9OmBcbiAgICApO1xuICAgIGxvZyhib3hlbihsaW5rZWRNc2csIHtkaW1Cb3JkZXI6IHRydWUsIHBhZGRpbmc6IDF9KSwgJ3dhcm4nKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVRlbXBsYXRlTmFtZSA9IChmaWxlUGF0aDogc3RyaW5nLCByZXBsYWNlOiBzdHJpbmcsIHJlcGxhY2VDYXBzOiBzdHJpbmcpID0+IHtcbiAgbGV0IGRhdGE6IHN0cmluZyA9IHJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKTtcbiAgZGF0YSA9IGRhdGEucmVwbGFjZSgvc2FtcGxlL2csIHJlcGxhY2UpO1xuICBkYXRhID0gZGF0YS5yZXBsYWNlKC9TYW1wbGUvZywgcmVwbGFjZUNhcHMpO1xuICB3cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBkYXRhLCAndXRmOCcpO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU8sV0FBVztBQUNsQixTQUFRLFVBQVUsWUFBWSxXQUFXLFdBQVcsYUFBYSxjQUFjLHFCQUFvQjtBQUNuRyxTQUFRLGdCQUFlO0FBQ3ZCLE9BQU8sYUFBYTtBQUNwQixPQUFPLFNBQVM7QUFDaEIsU0FBUSxZQUFZLGNBQWMsUUFBUSxVQUFVLFlBQVksY0FBYyxXQUFXLG1CQUFrQjtBQUMzRyxTQUFRLGtCQUFpQjtBQUV6QixTQUFRLFdBQVU7QUFHWCxNQUFNLE1B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
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2FwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBib3hlbiBmcm9tICdib3hlbic7XG5pbXBvcnQge2NvcHlGaWxlLCBleGlzdHNTeW5jLCBsc3RhdFN5bmMsIG1rZGlyU3luYywgcmVhZGRpclN5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtnbG9iU3luY30gZnJvbSAnZ2xvYic7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eS5qcyc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQge2Jhc2VuYW1lIGFzIHBhdGhCYXNlbmFtZSwgam9pbiBhcyBwYXRoSm9pbiwgcmVsYXRpdmUgYXMgcGF0aFJlbGF0aXZlLCByZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7cmltcmFmU3luY30gZnJvbSAncmltcmFmJztcblxuaW1wb3J0IHtsb2d9IGZyb20gJy4vbG9nLmpzJztcbmltcG9ydCB0eXBlIHtMZXhDb25maWdUeXBlfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuXG5leHBvcnQgY29uc3QgY3dkOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpO1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsZW5hbWVzID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qge2NhbGxiYWNrLCBjbGlOYW1lLCBuYW1lLCBxdWlldCwgdHlwZSwgdXNlVHlwZXNjcmlwdH0gPSBwcm9wcztcblxuICAvLyBTZXQgZmlsZW5hbWVcbiAgbGV0IG5hbWVDYXBzOiBzdHJpbmc7XG4gIGNvbnN0IGl0ZW1UeXBlczogc3RyaW5nW10gPSBbJ3N0b3JlcycsICd2aWV3cyddO1xuXG4gIGlmKCFuYW1lKSB7XG4gICAgaWYoaXRlbVR5cGVzLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7dHlwZX0gbmFtZSBpcyByZXF1aXJlZC4gUGxlYXNlIHVzZSAnbGV4IC1oJyBmb3Igb3B0aW9ucy5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICByZXR1cm4gY2FsbGJhY2soMSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5hbWVDYXBzID0gYCR7bmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke25hbWUuc3Vic3RyKDEpfWA7XG4gIH1cblxuICAvLyBEaXNwbGF5IG1lc3NhZ2VcbiAgbG9nKGAke2NsaU5hbWV9IGFkZGluZyAke25hbWV9ICR7dHlwZX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBUZW1wbGF0ZSBkaXJlY3RvcnlcbiAgbGV0IHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBsZXQgdGVtcGxhdGVFeHQ6IHN0cmluZztcbiAgbGV0IHRlbXBsYXRlUmVhY3Q6IHN0cmluZztcblxuICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgdGVtcGxhdGVQYXRoID0gJy4uLy4uL3RlbXBsYXRlcy90eXBlc2NyaXB0JztcbiAgICB0ZW1wbGF0ZUV4dCA9ICcudHMnO1xuICAgIHRlbXBsYXRlUmVhY3QgPSAnLnRzeCc7XG4gIH0gZWxzZSB7XG4gICAgdGVtcGxhdGVQYXRoID0gJy4uLy4uL3RlbXBsYXRlcy9mbG93JztcbiAgICB0ZW1wbGF0ZUV4dCA9ICcuanMnO1xuICAgIHRlbXBsYXRlUmVhY3QgPSAnLmpzJztcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbmFtZUNhcHMsXG4gICAgdGVtcGxhdGVFeHQsXG4gICAgdGVtcGxhdGVQYXRoLFxuICAgIHRlbXBsYXRlUmVhY3RcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTcGlubmVyID0gKHF1aWV0ID0gZmFsc2UpOiBhbnkgPT4ge1xuICBpZihxdWlldCkge1xuICAgIHJldHVybiB7XG4gICAgICBmYWlsOiAoKSA9PiB7fSxcbiAgICAgIHN0YXJ0OiAoKSA9PiB7fSxcbiAgICAgIHN1Y2NlZWQ6ICgpID0+IHt9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBvcmEoe2NvbG9yOiAneWVsbG93J30pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlGaWxlcyA9IGFzeW5jIChmaWxlczogc3RyaW5nW10sIHR5cGVOYW1lOiBzdHJpbmcsIHNwaW5uZXIsIGNvbmZpZzogTGV4Q29uZmlnVHlwZSkgPT4ge1xuICBjb25zdCB7b3V0cHV0RnVsbFBhdGgsIHNvdXJjZUZ1bGxQYXRofSA9IGNvbmZpZztcbiAgY29uc3QgaXRlbXMgPSBmaWxlcy5tYXAoKGZpbGVOYW1lOiBzdHJpbmcpID0+ICh7XG4gICAgZnJvbTogZmlsZU5hbWUsXG4gICAgdG86IHBhdGhSZXNvbHZlKG91dHB1dEZ1bGxQYXRoLCBwYXRoUmVsYXRpdmUoc291cmNlRnVsbFBhdGgsIGZpbGVOYW1lKSlcbiAgfSkpO1xuXG4gIHRyeSB7XG4gICAgc3Bpbm5lci5zdGFydChgQ29weWluZyAke3R5cGVOYW1lfSBmaWxlcy4uLmApO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKGl0ZW1zLm1hcCgoe2Zyb20sIHRvfSkgPT4gbmV3IFByb21pc2UoXG4gICAgICAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIG1rZGlyU3luYyhwYXRoUmVzb2x2ZSh0bywgJy4uJyksIHtyZWN1cnNpdmU6IHRydWV9KTtcbiAgICAgICAgcmV0dXJuIGNvcHlGaWxlKGZyb20sIHRvLCAoY29weUVycm9yKSA9PiB7XG4gICAgICAgICAgaWYoY29weUVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICkpKTtcbiAgICBzcGlubmVyLnN1Y2NlZWQoYFN1Y2Nlc3NmdWxseSBjb3BpZWQgJHtmaWxlcy5sZW5ndGh9ICR7dHlwZU5hbWV9IGZpbGVzIWApO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKGBDb3B5aW5nIG9mICR7dHlwZU5hbWV9IGZpbGVzIGZhaWxlZC5gKTtcbiAgICBsb2coYEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJyk7XG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29weUZpbGVTeW5jID0gKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZykgPT4ge1xuICBsZXQgdGFyZ2V0RmlsZTogc3RyaW5nID0gdGFyZ2V0O1xuXG4gIC8vIElmIHRhcmdldCBpcyBhIGRpcmVjdG9yeSBhIG5ldyBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSB3aWxsIGJlIGNyZWF0ZWRcbiAgaWYoZXhpc3RzU3luYyh0YXJnZXQpKSB7XG4gICAgaWYobHN0YXRTeW5jKHRhcmdldCkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgdGFyZ2V0RmlsZSA9IHBhdGhKb2luKHRhcmdldCwgcGF0aEJhc2VuYW1lKHNvdXJjZSkpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlRmlsZVN5bmModGFyZ2V0RmlsZSwgcmVhZEZpbGVTeW5jKHNvdXJjZSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlGb2xkZXJSZWN1cnNpdmVTeW5jID0gKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuICBsZXQgZmlsZXM6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gQ2hlY2sgaWYgZm9sZGVyIG5lZWRzIHRvIGJlIGNyZWF0ZWQgb3IgaW50ZWdyYXRlZFxuICBjb25zdCB0YXJnZXRGb2xkZXI6IHN0cmluZyA9IHBhdGhKb2luKHRhcmdldCwgcGF0aEJhc2VuYW1lKHNvdXJjZSkpO1xuXG4gIGlmKCFleGlzdHNTeW5jKHRhcmdldEZvbGRlcikpIHtcbiAgICBta2RpclN5bmModGFyZ2V0Rm9sZGVyKTtcbiAgfVxuXG4gIC8vIENvcHlcbiAgaWYobHN0YXRTeW5jKHNvdXJjZSkuaXNEaXJlY3RvcnkoKSkge1xuICAgIGZpbGVzID0gcmVhZGRpclN5bmMoc291cmNlKTtcbiAgICBmaWxlcy5mb3JFYWNoKChmaWxlOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGN1clNvdXJjZTogc3RyaW5nID0gcGF0aEpvaW4oc291cmNlLCBmaWxlKTtcblxuICAgICAgaWYobHN0YXRTeW5jKGN1clNvdXJjZSkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICBjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYyhjdXJTb3VyY2UsIHRhcmdldEZvbGRlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb3B5RmlsZVN5bmMoY3VyU291cmNlLCB0YXJnZXRGb2xkZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UGFja2FnZUpzb24gPSAocGFja2FnZVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgZm9ybWF0UGF0aDogc3RyaW5nID0gcGFja2FnZVBhdGggfHwgYCR7cHJvY2Vzcy5jd2QoKX0vcGFja2FnZS5qc29uYDtcblxuICAvLyBDb25maWd1cmUgcGFja2FnZS5qc29uXG4gIGNvbnN0IHBhY2thZ2VEYXRhOiBzdHJpbmcgPSByZWFkRmlsZVN5bmMoZm9ybWF0UGF0aCkudG9TdHJpbmcoKTtcbiAgcmV0dXJuIEpTT04ucGFyc2UocGFja2FnZURhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbGVzQnlFeHQgPSAoZXh0OiBzdHJpbmcsIGNvbmZpZzogTGV4Q29uZmlnVHlwZSk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3Qge3NvdXJjZUZ1bGxQYXRofSA9IGNvbmZpZztcbiAgcmV0dXJuIGdsb2JTeW5jKGAke3NvdXJjZUZ1bGxQYXRofS8qKi8qKiR7ZXh0fWApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUNvbmZsaWN0TW9kdWxlcyA9IChtb2R1bGVMaXN0OiBvYmplY3QpID0+IHtcbiAgY29uc3QgdXBkYXRlZExpc3Q6IG9iamVjdCA9IHsuLi5tb2R1bGVMaXN0fTtcblxuICBPYmplY3Qua2V5cyh1cGRhdGVkTGlzdCkuZm9yRWFjaCgobW9kdWxlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXg6IFJlZ0V4cCA9IG5ldyBSZWdFeHAoJ14oPyFAdHlwZXNcXC8pLiooamVzdHx3ZWJwYWNrKS4qJCcsICdnaScpO1xuICAgIGlmKHJlZ2V4LnRlc3QobW9kdWxlTmFtZSkpIHtcbiAgICAgIGRlbGV0ZSB1cGRhdGVkTGlzdFttb2R1bGVOYW1lXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1cGRhdGVkTGlzdDtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVGaWxlcyA9IChmaWxlTmFtZTogc3RyaW5nLCBpc1JlbGF0aXZlOiBib29sZWFuID0gZmFsc2UpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgY29uc3QgZmlsZVBhdGg6IHN0cmluZyA9IGlzUmVsYXRpdmUgPyBwYXRoUmVzb2x2ZShjd2QsIGZpbGVOYW1lKSA6IGZpbGVOYW1lO1xuICB0cnkge1xuICAgIHJpbXJhZlN5bmMoZmlsZVBhdGgpO1xuICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTW9kdWxlcyA9ICgpID0+IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgdHJ5IHtcbiAgICAvLyBSZW1vdmUgbm9kZV9tb2R1bGVzXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4vbm9kZV9tb2R1bGVzJywgdHJ1ZSk7XG5cbiAgICAvLyBSZW1vdmUgeWFybiBsb2NrXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy4veWFybi5sb2NrJywgdHJ1ZSk7XG5cbiAgICAvLyBSZW1vdmUgbnBtIGxvY2tcbiAgICBhd2FpdCByZW1vdmVGaWxlcygnLi9wYWNrYWdlLWxvY2suanNvbicsIHRydWUpO1xuXG4gICAgcmVzb2x2ZShudWxsKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHJlamVjdChlcnJvcik7XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3Qgc2V0UGFja2FnZUpzb24gPSAoanNvbiwgcGFja2FnZVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgaWYoIWpzb24pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBmb3JtYXRQYXRoOiBzdHJpbmcgPSBwYWNrYWdlUGF0aCB8fCBgJHtwcm9jZXNzLmN3ZCgpfS9wYWNrYWdlLmpzb25gO1xuXG4gIC8vIFVwZGF0ZSBwYWNrYWdlLmpzb25cbiAgd3JpdGVGaWxlU3luYyhmb3JtYXRQYXRoLCBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZE1vZHVsZVR5cGUge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGxpbmtlZE1vZHVsZXMgPSAoc3RhcnRQYXRoPzogc3RyaW5nKTogTGlua2VkTW9kdWxlVHlwZVtdID0+IHtcbiAgY29uc3Qgd29ya2luZ1BhdGg6IHN0cmluZyA9IHN0YXJ0UGF0aCB8fCBwcm9jZXNzLmN3ZCgpO1xuICBsZXQgbW9kdWxlUGF0aDogc3RyaW5nO1xuICBsZXQgcHJlZml4OiBzdHJpbmc7XG5cbiAgLy8gaWYgd2UgaGF2ZSBhIHNjb3BlIHdlIHNob3VsZCBjaGVjayBpZiB0aGUgbW9kdWxlcyBpbnNpZGUgdGhlIGZvbGRlciBpcyBsaW5rZWRcbiAgaWYod29ya2luZ1BhdGguaW5jbHVkZXMoJ0AnKSkge1xuICAgIHByZWZpeCA9IGBAJHt3b3JraW5nUGF0aC5zcGxpdCgnQCcpLnBvcCgpfWA7XG4gICAgbW9kdWxlUGF0aCA9IHdvcmtpbmdQYXRoO1xuICB9IGVsc2Uge1xuICAgIG1vZHVsZVBhdGggPSBwYXRoSm9pbih3b3JraW5nUGF0aCwgJ25vZGVfbW9kdWxlcycpO1xuICB9XG5cbiAgY29uc3QgZm91bmRQYXRoczogc3RyaW5nW10gPSBnbG9iU3luYyhgJHttb2R1bGVQYXRofS8qYCk7XG4gIHJldHVybiBmb3VuZFBhdGhzLnJlZHVjZSgobGlzdDogTGlua2VkTW9kdWxlVHlwZVtdLCBmb3VuZFBhdGg6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGF0cyA9IGxzdGF0U3luYyhmb3VuZFBhdGgpO1xuXG4gICAgICBpZihzdGF0cy5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIGNvbnN0IGRlZXBMaXN0OiBMaW5rZWRNb2R1bGVUeXBlW10gPSBsaW5rZWRNb2R1bGVzKGZvdW5kUGF0aCk7XG4gICAgICAgIGxpc3QucHVzaCguLi5kZWVwTGlzdCk7XG4gICAgICB9IGVsc2UgaWYoc3RhdHMuaXNTeW1ib2xpY0xpbmsoKSkge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lczogc3RyaW5nW10gPSAoW3ByZWZpeCwgcGF0aEJhc2VuYW1lKGZvdW5kUGF0aCldKS5maWx0ZXIoKGl0ZW06IHN0cmluZykgPT4gIWlzRW1wdHkoaXRlbSkpO1xuICAgICAgICBsaXN0LnB1c2goe25hbWU6IGAke21vZHVsZU5hbWVzLmpvaW4oJy8nKX1gLCBwYXRoOiBmb3VuZFBhdGh9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSBjYXRjaChmc0Vycm9yKSB7XG4gICAgICB0aHJvdyBmc0Vycm9yO1xuICAgIH1cbiAgfSwgW10pO1xufTtcblxuLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG5leHBvcnQgY29uc3QgY2hlY2tMaW5rZWRNb2R1bGVzID0gKCkgPT4ge1xuICBjb25zdCBsaW5rZWQgPSBsaW5rZWRNb2R1bGVzKCk7XG5cbiAgaWYobGlua2VkLmxlbmd0aCkge1xuICAgIGNvbnN0IG1zZ01vZHVsZTogc3RyaW5nID0gbGlua2VkLmxlbmd0aCA+IDEgPyAnTW9kdWxlcycgOiAnTW9kdWxlJztcbiAgICBjb25zdCBsaW5rZWRNc2c6IHN0cmluZyA9IGxpbmtlZC5yZWR1Y2UoXG4gICAgICAobXNnOiBzdHJpbmcsIGxpbmtlZE1vZHVsZTogTGlua2VkTW9kdWxlVHlwZSkgPT5cbiAgICAgICAgYCR7bXNnfVxcbiAqICR7bGlua2VkTW9kdWxlLm5hbWV9YCxcbiAgICAgIGBMaW5rZWQgJHttc2dNb2R1bGV9OmBcbiAgICApO1xuICAgIGxvZyhib3hlbihsaW5rZWRNc2csIHtkaW1Cb3JkZXI6IHRydWUsIHBhZGRpbmc6IDF9KSwgJ3dhcm4nKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVRlbXBsYXRlTmFtZSA9IChmaWxlUGF0aDogc3RyaW5nLCByZXBsYWNlOiBzdHJpbmcsIHJlcGxhY2VDYXBzOiBzdHJpbmcpID0+IHtcbiAgbGV0IGRhdGE6IHN0cmluZyA9IHJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKTtcbiAgZGF0YSA9IGRhdGEucmVwbGFjZSgvc2FtcGxlL2csIHJlcGxhY2UpO1xuICBkYXRhID0gZGF0YS5yZXBsYWNlKC9TYW1wbGUvZywgcmVwbGFjZUNhcHMpO1xuICB3cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBkYXRhLCAndXRmOCcpO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU8sV0FBVztBQUNsQixTQUFRLFVBQVUsWUFBWSxXQUFXLFdBQVcsYUFBYSxjQUFjLHFCQUFvQjtBQUNuRyxTQUFRLGdCQUFlO0FBQ3ZCLE9BQU8sYUFBYTtBQUNwQixPQUFPLFNBQVM7QUFDaEIsU0FBUSxZQUFZLGNBQWMsUUFBUSxVQUFVLFlBQVksY0FBYyxXQUFXLG1CQUFrQjtBQUMzRyxTQUFRLGtCQUFpQjtBQUV6QixTQUFRLFdBQVU7QUFHWCxNQUFNLE1B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
|
package/dist/utils/file.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import findFileUp from "find-file-up";
|
|
2
2
|
import { existsSync } from "fs";
|
|
3
3
|
import { resolve as pathResolve } from "path";
|
|
4
|
-
import {
|
|
4
|
+
import { URL } from "url";
|
|
5
5
|
const relativeFilePath = (filename, dirPath = "./", backUp = 0) => {
|
|
6
6
|
const nestDepth = 10;
|
|
7
7
|
if (backUp) {
|
|
@@ -15,14 +15,14 @@ const relativeNodePath = (filename, dirPath = "./", backUp = 0) => {
|
|
|
15
15
|
const nestDepth = 10;
|
|
16
16
|
if (backUp) {
|
|
17
17
|
const filePath = findFileUp.sync(`node_modules/${filename}`, dirPath, nestDepth);
|
|
18
|
-
const previousPath = Array(
|
|
18
|
+
const previousPath = Array(nestDepth).fill(null).map(() => "../").join("");
|
|
19
19
|
return pathResolve(filePath, previousPath);
|
|
20
20
|
}
|
|
21
21
|
return findFileUp.sync(`node_modules/${filename}`, dirPath, nestDepth);
|
|
22
22
|
};
|
|
23
23
|
const getNodePath = (moduleName) => {
|
|
24
|
+
const dirName = new URL(".", import.meta.url).pathname;
|
|
24
25
|
const modulePath = `node_modules/${moduleName}`;
|
|
25
|
-
const dirName = fileURLToPath(new URL(".", import.meta.url));
|
|
26
26
|
const repoPath = findFileUp.sync(modulePath, dirName);
|
|
27
27
|
if (repoPath && existsSync(repoPath)) {
|
|
28
28
|
return repoPath;
|
|
@@ -35,4 +35,4 @@ export {
|
|
|
35
35
|
relativeFilePath,
|
|
36
36
|
relativeNodePath
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2ZpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIyLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgZmluZEZpbGVVcCBmcm9tICdmaW5kLWZpbGUtdXAnO1xuaW1wb3J0IHtleGlzdHNTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtVUkx9IGZyb20gJ3VybCc7XG5cbi8vIEdldCBmaWxlIHBhdGhzIHJlbGF0aXZlIHRvIExleFxuZXhwb3J0IGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZywgZGlyUGF0aDogc3RyaW5nID0gJy4vJywgYmFja1VwOiBudW1iZXIgPSAwKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbmVzdERlcHRoOiBudW1iZXIgPSAxMDtcblxuICBpZihiYWNrVXApIHtcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKGZpbGVuYW1lLCBkaXJQYXRoLCBuZXN0RGVwdGgpO1xuICAgIGNvbnN0IHByZXZpb3VzUGF0aDogc3RyaW5nID0gQXJyYXkoYmFja1VwKS5maWxsKG51bGwpLm1hcCgoKSA9PiAnLi4vJykuam9pbignJyk7XG4gICAgcmV0dXJuIHBhdGhSZXNvbHZlKGZpbGVQYXRoLCBwcmV2aW91c1BhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGZpbmRGaWxlVXAuc3luYyhmaWxlbmFtZSwgZGlyUGF0aCwgbmVzdERlcHRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWxhdGl2ZU5vZGVQYXRoID0gKGZpbGVuYW1lOiBzdHJpbmcsIGRpclBhdGg6IHN0cmluZyA9ICcuLycsIGJhY2tVcDogbnVtYmVyID0gMCk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG5lc3REZXB0aDogbnVtYmVyID0gMTA7XG5cbiAgaWYoYmFja1VwKSB7XG4gICAgY29uc3QgZmlsZVBhdGg6IHN0cmluZyA9IGZpbmRGaWxlVXAuc3luYyhgbm9kZV9tb2R1bGVzLyR7ZmlsZW5hbWV9YCwgZGlyUGF0aCwgbmVzdERlcHRoKTtcbiAgICBjb25zdCBwcmV2aW91c1BhdGg6IHN0cmluZyA9IEFycmF5KG5lc3REZXB0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gJy4uLycpLmpvaW4oJycpO1xuICAgIHJldHVybiBwYXRoUmVzb2x2ZShmaWxlUGF0aCwgcHJldmlvdXNQYXRoKTtcbiAgfVxuXG4gIHJldHVybiBmaW5kRmlsZVVwLnN5bmMoYG5vZGVfbW9kdWxlcy8ke2ZpbGVuYW1lfWAsIGRpclBhdGgsIG5lc3REZXB0aCk7XG59O1xuXG4vLyBHZXQgZmlsZSBwYXRocyByZWxhdGl2ZSB0byBMZXhcbmV4cG9ydCBjb25zdCBnZXROb2RlUGF0aCA9IChtb2R1bGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IG1vZHVsZVBhdGg6IHN0cmluZyA9IGBub2RlX21vZHVsZXMvJHttb2R1bGVOYW1lfWA7XG4gIGNvbnN0IHJlcG9QYXRoOiBzdHJpbmcgPSBmaW5kRmlsZVVwLnN5bmMobW9kdWxlUGF0aCwgZGlyTmFtZSk7XG5cbiAgaWYocmVwb1BhdGggJiYgZXhpc3RzU3luYyhyZXBvUGF0aCkpIHtcbiAgICByZXR1cm4gcmVwb1BhdGg7XG4gIH1cblxuICBjb25zdCBsb2NhbFBhdGg6IHN0cmluZyA9IGZpbmRGaWxlVXAuc3luYyhtb2R1bGVQYXRoLCAnLi8nLCAxMCkgfHwgYC4vJHttb2R1bGVQYXRofWA7XG4gIHJldHVybiBsb2NhbFBhdGg7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBTyxnQkFBZ0I7QUFDdkIsU0FBUSxrQkFBaUI7QUFDekIsU0FBUSxXQUFXLG1CQUFrQjtBQUNyQyxTQUFRLFdBQVU7QUFHWCxNQUFNLG1CQUFtQixDQUFDLFVBQWtCLFVBQWtCLE1BQU0sU0FBaUIsTUFBYztBQUN4RyxRQUFNLFlBQW9CO0FBRTFCLE1BQUcsUUFBUTtBQUNULFVBQU0sV0FBbUIsV0FBVyxLQUFLLFVBQVUsU0FBUyxTQUFTO0FBQ3JFLFVBQU0sZUFBdUIsTUFBTSxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUUsSUFBSSxNQUFNLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDOUUsV0FBTyxZQUFZLFVBQVUsWUFBWTtBQUFBLEVBQzNDO0FBRUEsU0FBTyxXQUFXLEtBQUssVUFBVSxTQUFTLFNBQVM7QUFDckQ7QUFFTyxNQUFNLG1CQUFtQixDQUFDLFVBQWtCLFVBQWtCLE1BQU0sU0FBaUIsTUFBYztBQUN4RyxRQUFNLFlBQW9CO0FBRTFCLE1BQUcsUUFBUTtBQUNULFVBQU0sV0FBbUIsV0FBVyxLQUFLLGdCQUFnQixRQUFRLElBQUksU0FBUyxTQUFTO0FBQ3ZGLFVBQU0sZUFBdUIsTUFBTSxTQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUUsSUFBSSxNQUFNLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDakYsV0FBTyxZQUFZLFVBQVUsWUFBWTtBQUFBLEVBQzNDO0FBRUEsU0FBTyxXQUFXLEtBQUssZ0JBQWdCLFFBQVEsSUFBSSxTQUFTLFNBQVM7QUFDdkU7QUFHTyxNQUFNLGNBQWMsQ0FBQyxlQUErQjtBQUN6RCxRQUFNLFVBQVUsSUFBSSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUU7QUFDOUMsUUFBTSxhQUFxQixnQkFBZ0IsVUFBVTtBQUNyRCxRQUFNLFdBQW1CLFdBQVcsS0FBSyxZQUFZLE9BQU87QUFFNUQsTUFBRyxZQUFZLFdBQVcsUUFBUSxHQUFHO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxZQUFvQixXQUFXLEtBQUssWUFBWSxNQUFNLEVBQUUsS0FBSyxLQUFLLFVBQVU7QUFDbEYsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/jest.config.cjs
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
const base = require('../../jest.config.base');
|
|
6
|
+
const pack = require('./package.json');
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
...base,
|
|
10
|
+
collectCoverage: true,
|
|
11
|
+
coveragePathIgnorePatterns: [
|
|
12
|
+
'/node_modules/',
|
|
13
|
+
'(tests/.*.mock).(jsx?|tsx?)$'
|
|
14
|
+
],
|
|
15
|
+
coverageReporters: ['html', 'text'],
|
|
16
|
+
coverageThreshold: {
|
|
17
|
+
global: {
|
|
18
|
+
branches: 80,
|
|
19
|
+
functions: 90,
|
|
20
|
+
lines: 80,
|
|
21
|
+
statements: 80
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
displayName: pack.name,
|
|
25
|
+
extensionsToTreatAsEsm: ['.ts'],
|
|
26
|
+
moduleFileExtensions: ['js', 'ts', 'tsx', 'json'],
|
|
27
|
+
moduleNameMapper: {
|
|
28
|
+
'^(\\.{1,2}/.*)\\.js$': '$1'
|
|
29
|
+
},
|
|
30
|
+
rootDir: './',
|
|
31
|
+
setupFiles: ['<rootDir>/jest.setup.ts'],
|
|
32
|
+
testMatch: ['<rootDir>/**/*.test.ts*'],
|
|
33
|
+
transform: {
|
|
34
|
+
'\\.[jt]sx?$': [
|
|
35
|
+
'ts-jest',
|
|
36
|
+
{
|
|
37
|
+
astTransformers: {
|
|
38
|
+
before: [
|
|
39
|
+
{
|
|
40
|
+
path: '../../node_modules/ts-jest-mock-import-meta',
|
|
41
|
+
options: {metaObjectReplacement: {url: 'https://www.url.com'}}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
diagnostics: {
|
|
46
|
+
ignoreCodes: [1343]
|
|
47
|
+
},
|
|
48
|
+
useESM: true
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
transformIgnorePatterns: [
|
|
53
|
+
'!/node_modules/(?!execa)'
|
|
54
|
+
]
|
|
55
|
+
};
|
package/jest.config.lex.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
import {resolve as pathResolve} from 'path';
|
|
2
|
+
import {URL} from 'url';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
import {getNodePath} from './dist/utils/file.js';
|
|
4
5
|
|
|
5
6
|
const rootDir = process.cwd();
|
|
6
7
|
const {jest, sourceFullPath, targetEnvironment, useTypescript} = JSON.parse(process.env.LEX_CONFIG || '{}');
|
|
7
8
|
|
|
8
9
|
// Polyfill path
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
getNodePath('regenerator-runtime/runtime.js')
|
|
13
|
-
];
|
|
10
|
+
const dirName = new URL('.', import.meta.url).pathname;
|
|
11
|
+
const nodePath = pathResolve(dirName, './node_modules');
|
|
12
|
+
|
|
14
13
|
let testEnvironment = 'node';
|
|
15
14
|
let testEnvironmentOptions = {};
|
|
16
15
|
|
|
17
16
|
if(targetEnvironment === 'web') {
|
|
18
|
-
testEnvironment =
|
|
17
|
+
testEnvironment = 'jsdom';
|
|
19
18
|
testEnvironmentOptions = {
|
|
20
19
|
url: 'http://localhost'
|
|
21
20
|
};
|
|
@@ -31,7 +30,7 @@ if(useTypescript) {
|
|
|
31
30
|
transformIgnorePatterns = ['[/\\\\]node_modules[/\\\\].+\\.(js|ts|tsx)$'];
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
export default {
|
|
35
34
|
collectCoverage: true,
|
|
36
35
|
coverageDirectory: '<rootDir>/coverage',
|
|
37
36
|
coveragePathIgnorePatterns: ['/node_modules/', '/dist', '/lib', '__snapshots__', '.d.ts'],
|
|
@@ -41,16 +40,20 @@ module.exports = {
|
|
|
41
40
|
nodePath
|
|
42
41
|
],
|
|
43
42
|
moduleFileExtensions,
|
|
44
|
-
moduleNameMapper: {'\\.(css|jpg|png|svg|txt)$':
|
|
43
|
+
moduleNameMapper: {'\\.(css|jpg|png|svg|txt)$': pathResolve(dirName, './emptyModule')},
|
|
45
44
|
modulePaths: [
|
|
46
45
|
rootDir,
|
|
47
46
|
`${rootDir}/node_modules`,
|
|
48
47
|
nodePath,
|
|
49
48
|
sourceFullPath
|
|
50
49
|
],
|
|
51
|
-
|
|
50
|
+
// preset: 'ts-jest/presets/js-with-ts-esm',
|
|
51
|
+
resolver: pathResolve(dirName, './resolver.cjs'),
|
|
52
52
|
rootDir,
|
|
53
|
-
setupFiles
|
|
53
|
+
setupFiles: [
|
|
54
|
+
getNodePath('core-js'),
|
|
55
|
+
getNodePath('regenerator-runtime/runtime.js')
|
|
56
|
+
],
|
|
54
57
|
testEnvironment,
|
|
55
58
|
testEnvironmentOptions,
|
|
56
59
|
testPathIgnorePatterns: [
|
|
@@ -60,24 +63,20 @@ module.exports = {
|
|
|
60
63
|
testRegex,
|
|
61
64
|
testRunner: getNodePath('jest-circus/runner.js'),
|
|
62
65
|
transform: {
|
|
63
|
-
'
|
|
64
|
-
|
|
66
|
+
'\\.[jt]sx?$': [
|
|
67
|
+
'ts-jest',
|
|
65
68
|
{
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
'.ts': 'ts',
|
|
69
|
-
'.test.ts': 'ts',
|
|
70
|
-
'.spec.ts': 'ts',
|
|
71
|
-
'.tsx': 'tsx',
|
|
72
|
-
'.test.tsx': 'tsx',
|
|
73
|
-
'.spec.tsx': 'tsx'
|
|
69
|
+
diagnostics: {
|
|
70
|
+
ignoreCodes: [1343]
|
|
74
71
|
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
astTransformers: {
|
|
73
|
+
before: [
|
|
74
|
+
{
|
|
75
|
+
path: getNodePath('ts-jest-mock-import-meta'),
|
|
76
|
+
options: {metaObjectReplacement: {url: 'https://www.url.com'}}
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
81
80
|
}
|
|
82
81
|
],
|
|
83
82
|
'\\.(gql|graphql)$': 'jest-transform-graphql'
|
package/jest.setup.ts
ADDED
package/package.json
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlabs/lex",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.42.0",
|
|
4
4
|
"description": "Lex",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"bin":
|
|
8
|
-
"lex": "./dist/lex.js"
|
|
9
|
-
},
|
|
7
|
+
"bin": "./dist/lex.js",
|
|
10
8
|
"keywords": [
|
|
11
9
|
"arkhamjs",
|
|
12
10
|
"lex",
|
|
@@ -27,128 +25,135 @@
|
|
|
27
25
|
"url": "https://github.com/nitrogenlabs/lex/issues"
|
|
28
26
|
},
|
|
29
27
|
"engines": {
|
|
30
|
-
"node": ">=
|
|
28
|
+
"node": ">=20"
|
|
31
29
|
},
|
|
32
|
-
"browserslist": [
|
|
33
|
-
"last 5 version",
|
|
34
|
-
"ie 11"
|
|
35
|
-
],
|
|
36
30
|
"scripts": {
|
|
37
|
-
"build": "NODE_ENV=production && rm -rf dist && esbuild src/**/**.ts* src/**.ts* --platform=node --outdir=./dist --sourcemap=inline --target=esnext --format=esm",
|
|
31
|
+
"build": "NODE_ENV=production && rm -rf dist && esbuild ./src/**/**.ts* ./src/**.ts* --platform=node --outdir=./dist --sourcemap=inline --target=esnext --format=esm --packages=external",
|
|
38
32
|
"clean": "rm -rf dist node_modules package-lock.json *.log coverage",
|
|
39
33
|
"compile": "tsc -p tsconfig.build.json",
|
|
40
34
|
"env": "LEX_CONFIG='{\"useTypescript\":true}'",
|
|
41
35
|
"lint": "eslint ./src --ext .ts,.tsx",
|
|
42
|
-
"prepublishOnly": "
|
|
36
|
+
"prepublishOnly": "npm run build",
|
|
43
37
|
"publish:major": "npm version major && npm publish",
|
|
44
38
|
"publish:minor": "npm version minor && npm publish",
|
|
45
39
|
"publish:patch": "npm version patch && npm publish",
|
|
46
40
|
"reset": "rm -rf node_modules packages-lock.json",
|
|
47
|
-
"test": "
|
|
48
|
-
"update": "
|
|
49
|
-
"watch": "NODE_ENV=development rm -rf dist &&
|
|
41
|
+
"test": "NODE_ENV=test && npm run lint && npm run env && jest",
|
|
42
|
+
"update": "npm-check-updates -i",
|
|
43
|
+
"watch": "NODE_ENV=development rm -rf dist && npm run compile -w"
|
|
50
44
|
},
|
|
51
45
|
"dependencies": {
|
|
46
|
+
"@babel/core": "^7.23.7",
|
|
47
|
+
"@babel/preset-env": "^7.23.8",
|
|
48
|
+
"@babel/preset-typescript": "7.23.3",
|
|
52
49
|
"@luckycatfactory/esbuild-graphql-loader": "^3.8.1",
|
|
53
|
-
"@nlabs/
|
|
50
|
+
"@nlabs/execa-mock": "^1.41.0",
|
|
54
51
|
"@nlabs/gothamjs": "^0.8.2",
|
|
55
52
|
"@nlabs/webpack-plugin-static-site": "^0.1.1",
|
|
56
|
-
"acorn": "^8.
|
|
57
|
-
"
|
|
58
|
-
"assert": "^2.
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
53
|
+
"acorn": "^8.11.3",
|
|
54
|
+
"ajv": "^8.12.0",
|
|
55
|
+
"assert": "^2.1.0",
|
|
56
|
+
"autoprefixer": "^10.4.17",
|
|
57
|
+
"babel-jest": "^29.7.0",
|
|
58
|
+
"boxen": "7.1.1",
|
|
59
|
+
"caniuse-lite": "1.0.30001579",
|
|
60
|
+
"chalk": "^5.3.0",
|
|
61
|
+
"commander": "^11.1.0",
|
|
62
|
+
"compare-versions": "^6.1.0",
|
|
63
|
+
"compression-webpack-plugin": "^11.0.0",
|
|
65
64
|
"config-webpack-plugin": "^1.1.0",
|
|
66
|
-
"copy-webpack-plugin": "^
|
|
67
|
-
"core-js": "^3.
|
|
65
|
+
"copy-webpack-plugin": "^12.0.2",
|
|
66
|
+
"core-js": "^3.35.0",
|
|
68
67
|
"crypto-browserify": "^3.12.0",
|
|
69
|
-
"css-loader": "^6.
|
|
70
|
-
"cssnano": "^
|
|
68
|
+
"css-loader": "^6.9.1",
|
|
69
|
+
"cssnano": "^6.0.3",
|
|
71
70
|
"dotenv-webpack": "^8.0.1",
|
|
72
71
|
"download-npm-package": "^3.1.12",
|
|
73
|
-
"esbuild": "
|
|
74
|
-
"esbuild-loader": "
|
|
75
|
-
"execa": "
|
|
76
|
-
"exports-loader": "^
|
|
77
|
-
"favicons-webpack-plugin": "^6.0.
|
|
72
|
+
"esbuild": "0.19.11",
|
|
73
|
+
"esbuild-loader": "4.0.2",
|
|
74
|
+
"execa": "8.0.1",
|
|
75
|
+
"exports-loader": "^5.0.0",
|
|
76
|
+
"favicons-webpack-plugin": "^6.0.1",
|
|
78
77
|
"file-loader": "^6.2.0",
|
|
79
78
|
"find-file-up": "^2.0.1",
|
|
80
|
-
"glob": "^
|
|
81
|
-
"graphql": "^16.
|
|
79
|
+
"glob": "^10.3.10",
|
|
80
|
+
"graphql": "^16.8.1",
|
|
82
81
|
"graphql-tag": "^2.12.6",
|
|
83
|
-
"html-loader": "^
|
|
84
|
-
"html-webpack-plugin": "^5.
|
|
82
|
+
"html-loader": "^5.0.0",
|
|
83
|
+
"html-webpack-plugin": "^5.6.0",
|
|
85
84
|
"https-browserify": "^1.0.0",
|
|
86
|
-
"imports-loader": "^
|
|
87
|
-
"jest": "
|
|
88
|
-
"jest-circus": "
|
|
89
|
-
"jest-cli": "
|
|
90
|
-
"jest-environment-jsdom": "
|
|
91
|
-
"jest-transform-graphql": "
|
|
92
|
-
"json-d-ts": "
|
|
85
|
+
"imports-loader": "^5.0.0",
|
|
86
|
+
"jest": "29.7.0",
|
|
87
|
+
"jest-circus": "29.7.0",
|
|
88
|
+
"jest-cli": "29.7.0",
|
|
89
|
+
"jest-environment-jsdom": "29.7.0",
|
|
90
|
+
"jest-transform-graphql": "2.1.0",
|
|
91
|
+
"json-d-ts": "1.0.1",
|
|
93
92
|
"latest-version": "7.0.0",
|
|
94
93
|
"lodash": "^4.17.21",
|
|
95
|
-
"luxon": "^3.
|
|
94
|
+
"luxon": "^3.4.4",
|
|
96
95
|
"net": "^1.0.2",
|
|
97
|
-
"
|
|
98
|
-
"ora": "6.2.0",
|
|
96
|
+
"ora": "8.0.1",
|
|
99
97
|
"os-browserify": "^0.3.0",
|
|
100
98
|
"path-browserify": "^1.0.1",
|
|
101
|
-
"postcss-browser-reporter": "^0.
|
|
102
|
-
"postcss-cli": "^
|
|
103
|
-
"postcss-custom-properties": "^13.
|
|
99
|
+
"postcss-browser-reporter": "^0.7.0",
|
|
100
|
+
"postcss-cli": "^11.0.0",
|
|
101
|
+
"postcss-custom-properties": "^13.3.4",
|
|
104
102
|
"postcss-flexbugs-fixes": "^5.0.2",
|
|
105
103
|
"postcss-for": "^2.1.1",
|
|
106
104
|
"postcss-hash": "^3.0.0",
|
|
107
|
-
"postcss-import": "
|
|
108
|
-
"postcss-loader": "^
|
|
109
|
-
"postcss-nesting": "^
|
|
105
|
+
"postcss-import": "16.0.0",
|
|
106
|
+
"postcss-loader": "^8.0.0",
|
|
107
|
+
"postcss-nesting": "^12.0.2",
|
|
110
108
|
"postcss-percentage": "^0.0.0",
|
|
111
|
-
"postcss-preset-env": "^
|
|
109
|
+
"postcss-preset-env": "^9.3.0",
|
|
112
110
|
"postcss-simple-vars": "^7.0.1",
|
|
113
|
-
"postcss-svgo": "
|
|
111
|
+
"postcss-svgo": "6.0.2",
|
|
114
112
|
"postcss-url": "10.1.3",
|
|
115
113
|
"process": "^0.11.10",
|
|
116
|
-
"react": "^18.
|
|
117
|
-
"react-dom": "^18.
|
|
118
|
-
"regenerator-runtime": "^0.
|
|
119
|
-
"resolve": "^1.22.
|
|
120
|
-
"rimraf": "^
|
|
121
|
-
"semver": "^7.
|
|
122
|
-
"source-map-loader": "^
|
|
114
|
+
"react": "^18.2.0",
|
|
115
|
+
"react-dom": "^18.2.0",
|
|
116
|
+
"regenerator-runtime": "^0.14.1",
|
|
117
|
+
"resolve": "^1.22.8",
|
|
118
|
+
"rimraf": "^5.0.5",
|
|
119
|
+
"semver": "^7.5.4",
|
|
120
|
+
"source-map-loader": "^5.0.0",
|
|
123
121
|
"source-map-support": "^0.5.21",
|
|
124
122
|
"speed-measure-webpack-plugin": "^1.5.0",
|
|
125
123
|
"static-site-generator-webpack-plugin": "^3.4.2",
|
|
126
124
|
"stream-browserify": "^3.0.0",
|
|
127
125
|
"stream-http": "^3.2.0",
|
|
128
|
-
"style-loader": "^3.3.
|
|
129
|
-
"svg-spritemap-webpack-plugin": "^4.
|
|
130
|
-
"svgo": "3.0
|
|
126
|
+
"style-loader": "^3.3.4",
|
|
127
|
+
"svg-spritemap-webpack-plugin": "^4.5.0",
|
|
128
|
+
"svgo": "3.2.0",
|
|
131
129
|
"tls": "^0.0.1",
|
|
132
|
-
"
|
|
130
|
+
"ts-jest": "29.1.1",
|
|
131
|
+
"ts-node": "^10.9.2",
|
|
132
|
+
"typescript": "5.3.3",
|
|
133
133
|
"url-loader": "^4.1.1",
|
|
134
134
|
"util": "^0.12.5",
|
|
135
|
-
"webpack": "5.
|
|
136
|
-
"webpack-bundle-analyzer": "^4.
|
|
137
|
-
"webpack-cli": "^5.
|
|
138
|
-
"webpack-merge": "^5.
|
|
135
|
+
"webpack": "5.89.0",
|
|
136
|
+
"webpack-bundle-analyzer": "^4.10.1",
|
|
137
|
+
"webpack-cli": "^5.1.4",
|
|
138
|
+
"webpack-merge": "^5.10.0",
|
|
139
139
|
"webpack-nano": "^1.1.1",
|
|
140
140
|
"webpack-plugin-serve": "^1.6.0"
|
|
141
141
|
},
|
|
142
142
|
"devDependencies": {
|
|
143
|
-
"@
|
|
144
|
-
"@
|
|
145
|
-
"@
|
|
146
|
-
"@types/
|
|
143
|
+
"@babel/plugin-transform-runtime": "^7.23.7",
|
|
144
|
+
"@babel/preset-react": "^7.23.3",
|
|
145
|
+
"@nlabs/execa-mock": "^1.41.0",
|
|
146
|
+
"@types/jest": "^29.5.11",
|
|
147
|
+
"@types/luxon": "^3.4.2",
|
|
148
|
+
"@types/node": "^20.11.5",
|
|
147
149
|
"@types/ora": "^3.2.0",
|
|
148
|
-
"@types/react": "^18.
|
|
149
|
-
"@types/webpack": "^5.28.
|
|
150
|
-
"
|
|
151
|
-
"
|
|
150
|
+
"@types/react": "^18.2.48",
|
|
151
|
+
"@types/webpack": "^5.28.5",
|
|
152
|
+
"babel-plugin-transform-import-meta": "^2.2.1",
|
|
153
|
+
"babel-plugin-transform-vite-meta-env": "^1.0.3",
|
|
154
|
+
"eslint": "^8.56.0",
|
|
155
|
+
"eslint-config-styleguidejs": "^3.2.1",
|
|
156
|
+
"npm-check-updates": "^16.14.12"
|
|
152
157
|
},
|
|
153
158
|
"gitHead": "0f5fb22fc0f0ab1abab5adf62afed24c7c87e4a8"
|
|
154
159
|
}
|
package/resolver.cjs
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
const {existsSync} = require('fs');
|
|
6
|
+
const {extname: pathExtname, resolve: pathResolve} = require('path');
|
|
7
|
+
const resolveSync = require('resolve/sync');
|
|
8
|
+
|
|
9
|
+
const getFullPath = (basedir, name, extensions) => {
|
|
10
|
+
let fileName = name;
|
|
11
|
+
|
|
12
|
+
extensions.some((ext) => {
|
|
13
|
+
if(fileName !== '..') {
|
|
14
|
+
const fullPath = pathResolve(`${basedir}/${fileName}${ext}`);
|
|
15
|
+
|
|
16
|
+
if(existsSync(fullPath)) {
|
|
17
|
+
fileName = fullPath;
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if(fileName !== 'index') {
|
|
23
|
+
const indexFile = pathResolve(`${basedir}/${fileName}/index${ext}`);
|
|
24
|
+
|
|
25
|
+
if(existsSync(indexFile)) {
|
|
26
|
+
fileName = indexFile;
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return false;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
return fileName;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
module.exports = (value, options) => {
|
|
38
|
+
let fileName = value;
|
|
39
|
+
|
|
40
|
+
if(fileName === '') {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const isSequencer = fileName.startsWith('jest-sequencer-');
|
|
45
|
+
|
|
46
|
+
if(isSequencer) {
|
|
47
|
+
fileName = fileName.replace('jest-sequencer-', '');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const {basedir, extensions = ['.js', '.ts']} = options;
|
|
51
|
+
const existingExt = pathExtname(fileName) || '';
|
|
52
|
+
const hasExtension = existingExt !== '' && extensions.includes(existingExt);
|
|
53
|
+
const isAbsolute = fileName.indexOf('/') === 0;
|
|
54
|
+
|
|
55
|
+
if(isAbsolute) {
|
|
56
|
+
if(hasExtension) {
|
|
57
|
+
return existsSync(fileName) ? fileName : null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return getFullPath(fileName, 'index', extensions);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if(fileName === '..') {
|
|
64
|
+
return getFullPath(basedir, '..', extensions);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const hasBase = fileName.indexOf('./') >= 0 || fileName.indexOf('../') >= 0;
|
|
68
|
+
|
|
69
|
+
if(hasBase) {
|
|
70
|
+
if(hasExtension) {
|
|
71
|
+
return pathResolve(`${basedir}/${fileName}`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return getFullPath(basedir, fileName, extensions);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
return resolveSync(fileName, {basedir: `${__dirname}/../`, extensions});
|
|
79
|
+
} catch(error) {
|
|
80
|
+
try {
|
|
81
|
+
return resolveSync(fileName, {basedir: process.cwd(), extensions});
|
|
82
|
+
} catch(error) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
package/tsconfig.build.json
CHANGED