@mgvdev/create-nestkit 0.1.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/dist/.tsbuildinfo +1 -0
- package/dist/ecosystem.d.ts +12 -0
- package/dist/ecosystem.d.ts.map +1 -0
- package/dist/ecosystem.js +22 -0
- package/dist/ecosystem.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +120 -0
- package/dist/index.js.map +1 -0
- package/dist/pm.d.ts +8 -0
- package/dist/pm.d.ts.map +1 -0
- package/dist/pm.js +16 -0
- package/dist/pm.js.map +1 -0
- package/dist/scaffold.d.ts +20 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +96 -0
- package/dist/scaffold.js.map +1 -0
- package/package.json +25 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/ecosystem.ts","../../../node_modules/citty/dist/index.d.ts","../../../node_modules/consola/dist/core.d.mts","../../../node_modules/consola/dist/index.d.mts","../../../node_modules/picocolors/types.d.ts","../../../node_modules/picocolors/picocolors.d.ts","../src/pm.ts","../src/scaffold.ts","../src/index.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../../../node_modules/@types/ws/index.d.ts","../../../../../node_modules/buffer/index.d.ts","../../../../../node_modules/undici-types/header.d.ts","../../../../../node_modules/undici-types/readable.d.ts","../../../../../node_modules/undici-types/file.d.ts","../../../../../node_modules/undici-types/fetch.d.ts","../../../../../node_modules/undici-types/formdata.d.ts","../../../../../node_modules/undici-types/connector.d.ts","../../../../../node_modules/undici-types/client.d.ts","../../../../../node_modules/undici-types/errors.d.ts","../../../../../node_modules/undici-types/dispatcher.d.ts","../../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../../node_modules/undici-types/global-origin.d.ts","../../../../../node_modules/undici-types/pool-stats.d.ts","../../../../../node_modules/undici-types/pool.d.ts","../../../../../node_modules/undici-types/handlers.d.ts","../../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../../node_modules/undici-types/agent.d.ts","../../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../../node_modules/undici-types/mock-agent.d.ts","../../../../../node_modules/undici-types/mock-client.d.ts","../../../../../node_modules/undici-types/mock-pool.d.ts","../../../../../node_modules/undici-types/mock-errors.d.ts","../../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../../node_modules/undici-types/api.d.ts","../../../../../node_modules/undici-types/cookies.d.ts","../../../../../node_modules/undici-types/patch.d.ts","../../../../../node_modules/undici-types/filereader.d.ts","../../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../../node_modules/undici-types/websocket.d.ts","../../../../../node_modules/undici-types/content-type.d.ts","../../../../../node_modules/undici-types/cache.d.ts","../../../../../node_modules/undici-types/interceptors.d.ts","../../../../../node_modules/undici-types/index.d.ts","../../../../../node_modules/bun-types/fetch.d.ts","../../../../../node_modules/bun-types/globals.d.ts","../../../../../node_modules/bun-types/bun.d.ts","../../../../../node_modules/bun-types/overrides.d.ts","../../../../../node_modules/bun-types/ffi.d.ts","../../../../../node_modules/bun-types/test.d.ts","../../../../../node_modules/bun-types/html-rewriter.d.ts","../../../../../node_modules/bun-types/jsc.d.ts","../../../../../node_modules/bun-types/sqlite.d.ts","../../../../../node_modules/bun-types/wasm.d.ts","../../../../../node_modules/bun-types/deprecated.d.ts","../../../../../node_modules/bun-types/index.d.ts","../../../../../node_modules/@types/bun/index.d.ts","../../../../../node_modules/@types/fs-extra/index.d.ts","../../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/parse-path/lib/index.d.ts","../../../../../node_modules/@types/resolve/index.d.ts","../../../../../node_modules/@types/slice-ansi/index.d.ts","../../../../../node_modules/@types/triple-beam/index.d.ts","../../../../../node_modules/@types/web-bluetooth/index.d.ts","../../../../../node_modules/@types/yauzl/index.d.ts"],"fileIdsList":[[100,150,167,168,237,245,246],[100,150,162,167,168,200,237,245],[100,150,167,168,237,245],[100,150,161,164,166,167,168,182,190,193,199,200,237,238,245],[100,150,161,167,168,182,200,237,245],[100,150,155,167,168,190,194,238,245],[100,150,167,168,237],[100,150,167,168,234,237,245],[100,150,155,167,168,173,182,185,194,198,201,234,235,237,245],[100,150,167,168,200,201,235,236,237,238,239,240,241,242,243,244,245],[100,150,163,167,168,190,237,245],[100,150,167,168,237,240,245],[100,150,167,168,193,211,215,237,245],[100,150,167,168,182,193,211,237,245],[100,150,167,168,206,237,245],[100,150,167,168,190,193,208,211,237,238,245],[100,150,167,168,170,190,237,238,245],[100,150,167,168,200,237,245],[100,150,167,168,200,206,237,245],[100,150,167,168,170,193,208,211,237,245],[100,150,161,167,168,182,193,203,204,207,210,237,245],[100,150,167,168,203,209,237,245],[100,150,167,168,185,193,200,207,211,237,245],[100,150,167,168,200,227,237,245],[100,150,167,168,200,205,206,237,245],[100,150,167,168,211,237,245],[100,150,167,168,205,206,207,208,209,210,211,212,213,215,216,217,218,219,220,221,222,223,224,225,226,228,229,230,231,232,233,237,245],[100,150,167,168,211,218,219,237,245],[100,150,167,168,209,211,219,220,237,245],[100,150,167,168,210,237,245],[100,150,167,168,203,206,211,237,245],[100,150,167,168,211,215,219,220,237,245],[100,150,167,168,215,237,245],[100,150,167,168,193,209,211,214,237,245],[100,150,167,168,203,208,209,211,215,218,237,245],[100,150,167,168,182,237,245],[100,150,167,168,198,200,206,211,227,237,245],[90,93,100,150,167,168,237,245],[90,91,92,100,150,167,168,237,245],[93,100,150,167,168,237,245],[100,147,148,150,167,168,237,245],[100,149,150,167,168,237,245],[150,167,168,237,245],[100,150,155,167,168,185,237,245],[100,150,151,156,161,167,168,170,182,193,237,245],[100,150,151,152,161,167,168,170,237,245],[95,96,97,100,150,167,168,237,245],[100,150,153,167,168,194,237,245],[100,150,154,155,162,167,168,171,237,245],[100,150,155,167,168,182,190,237,245],[100,150,156,158,161,167,168,170,237,245],[100,149,150,157,167,168,237,245],[100,150,158,159,167,168,237,245],[100,150,160,161,167,168,237,245],[100,149,150,161,167,168,237,245],[100,150,161,162,163,167,168,182,193,237,245],[100,150,161,162,163,167,168,177,182,185,237,238,245],[100,142,150,158,161,164,167,168,170,182,193,237,245],[100,150,161,162,164,165,167,168,170,182,190,193,237,245],[100,150,164,166,167,168,182,190,193,237,245],[98,99,100,101,102,103,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,237,245],[100,150,161,167,168,237,245],[100,150,167,168,169,193,237,245],[100,150,158,161,167,168,170,182,237,245],[100,150,167,168,171,237,245],[100,150,167,168,172,237,245],[100,149,150,167,168,173,237,245],[100,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,237,238,245],[100,150,167,168,175,237,245],[100,150,167,168,176,237,245],[100,150,161,167,168,177,178,237,245],[100,150,167,168,177,179,194,196,237,245],[100,150,162,167,168,237,245],[100,150,161,167,168,182,183,185,237,245],[100,150,167,168,184,185,237,245],[100,150,167,168,182,183,237,245],[100,150,167,168,185,237,245],[100,150,167,168,186,237,245],[100,147,150,167,168,182,187,193,237,245],[100,150,161,167,168,188,189,237,245],[100,150,167,168,188,189,237,245],[100,150,155,167,168,170,182,190,237,238,245],[100,150,167,168,191,237,245],[100,150,167,168,170,192,237,245],[100,150,164,167,168,176,193,237,245],[100,150,155,167,168,194,237,245],[100,150,167,168,182,195,237,245],[100,150,167,168,169,196,237,245],[100,150,167,168,197,237,245],[100,142,150,167,168,237,245],[100,142,150,161,163,167,168,173,182,185,193,195,196,198,237,245],[100,150,167,168,182,199,237,245],[83,100,150,167,168,237,245],[85,100,150,167,168,237,245],[100,114,118,150,167,168,193,237,245],[100,114,150,167,168,182,193,237,245],[100,109,150,167,168,237,245],[100,111,114,150,167,168,190,193,237,238,245],[100,109,150,167,168,200,237,245],[100,111,114,150,167,168,170,193,237,245],[100,106,107,110,113,150,161,167,168,182,193,237,245],[100,114,121,150,167,168,237,245],[100,106,112,150,167,168,237,245],[100,114,135,136,150,167,168,237,245],[100,110,114,150,167,168,185,193,200,237,245],[100,135,150,167,168,200,237,245],[100,108,109,150,167,168,200,237,245],[100,114,150,167,168,237,245],[100,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,150,167,168,237,245],[100,114,129,150,167,168,237,245],[100,114,121,122,150,167,168,237,245],[100,112,114,122,123,150,167,168,237,245],[100,113,150,167,168,237,245],[100,106,109,114,150,167,168,237,245],[100,114,118,122,123,150,167,168,237,245],[100,118,150,167,168,237,245],[100,112,114,117,150,167,168,193,237,245],[100,106,111,114,121,150,167,168,237,245],[100,109,114,135,150,167,168,198,200,237,245],[81,82,84,86,87,88,100,150,167,168,172,237,245],[81,87,100,150,151,162,167,168,172,237,245]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dd874d962e87803a185bf0de718e1ab4fc9de7533e7a034f1e1902051d6039a","signature":"f33d2e9b0cbf010aeb983526a18d0d13d456e6e098e7b8a867b9223d0d30429c","impliedFormat":99},{"version":"722b57d5f41705496155ca12dfc472eafaa556e628d4fceef8cbc3cca125502d","impliedFormat":99},{"version":"1c20c07324915c372d074a627114144edbb43df6f20431df5ccb06aec2c42e3a","impliedFormat":99},{"version":"667aed8f9a560d652e18d3e0446501aec87bed3ef5ac96ba4cbe4c3c51c76f1d","impliedFormat":99},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},{"version":"cd88081ba86301594a82c8dfcc84947558fd40c12e21bd18d7a41521de22e2f2","signature":"d6f00dc4d60b0f198443c5fcdc8147adce53f32520c6dc55d65d03d4bab70064","impliedFormat":99},{"version":"7563c38ad5fb1e776b70064677fb9c13de439f93bc8c7e54f1531691c6f6ad7e","signature":"fa370eb5f6375609729374a2cf195e7980f733dab9a08bffbe515985d48b78c7","impliedFormat":99},{"version":"31acd231015f1b9ac34a4e446848bfb7c20c6f36a6f3c5e76d158936da0d773f","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1},{"version":"9a2eaab4e54953c6b2ba21f7ac4c2593859da03917011c10a2acd8864e38e7b2","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"720f5d028d71bc22ed4a5311a6ea884329db475d994f805ea86470111eccc1a1","impliedFormat":1},{"version":"af674bd72a6717a27e95dcc3eea6522f46596da680f30c9fcfeb3ec425a4ef00","affectsGlobalScope":true,"impliedFormat":1},{"version":"7196d5872c34f718e81bc9ea26f0746240dc68cbb4d05c820fb37329cf98be95","affectsGlobalScope":true,"impliedFormat":1},{"version":"9603687f2c76dc11c02cca33e4b6672a8942934109f727a619feef030d24bd4b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f33db341488580a55f30ecfdf04e70c8312fd26fc2692903c7186217ae34eff","impliedFormat":1},{"version":"cc5083cff3cdf8aca2dc99ff8b45b900234901bf83b315e3b3b5942b734ff52e","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b8af6e8cf44313406800b820bffc49e83a8ec4598772db25954d03a86c96818","affectsGlobalScope":true,"impliedFormat":1},{"version":"6813c4ebad2ed9fd49be7805c4084cbbc2d484cca1dfafc6a8a196689b5d476a","impliedFormat":1},{"version":"754b7810614f6d826f0c6ecaf109962a4ba52a53ac39561d2c398d1e35cf2d05","impliedFormat":1},{"version":"d2e66d9477edaa0e4dea79d699f0855a5a7419915da740e28fbfdb322c6a60a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"ca69bbf884a17e7a485bb4fcd129386874050916b275e414af14b2170b4ea728","affectsGlobalScope":true,"impliedFormat":1},{"version":"b52c121cd491cfdbea04c3a77d23e193c23cb411e7598a04ba13a4592842fe2f","impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1},{"version":"a13b9bb3e49bc162bb03870f3409474c58bb04a5e60618c305c7842f8a7b251c","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"40bc0237688edfbbdd7d29b902790b90158786070aee606ddb9e3ab4c8edb4ca","impliedFormat":1},{"version":"8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","impliedFormat":1},{"version":"857f9cda624606f2bfb1cb758d47499edfbee66b2cf46804f54620bd430ea26f","impliedFormat":1},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"28ca156f93e9f2f073d825452a114d106291d123564ca49af5b108ba20311011","affectsGlobalScope":true,"impliedFormat":1},{"version":"74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185","impliedFormat":1}],"root":[81,[87,89]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[247,1],[248,2],[249,3],[251,3],[252,3],[253,3],[254,3],[201,4],[255,5],[202,3],[237,6],[245,7],[235,8],[239,3],[236,9],[241,3],[246,10],[242,3],[238,11],[243,3],[240,12],[244,3],[250,3],[218,13],[225,14],[217,13],[232,15],[209,16],[208,17],[231,18],[226,19],[229,20],[211,21],[210,22],[206,23],[205,18],[228,24],[207,25],[212,26],[213,3],[216,26],[203,3],[234,27],[233,26],[220,28],[221,29],[223,30],[219,31],[222,32],[227,18],[214,33],[215,34],[224,35],[204,36],[230,37],[94,38],[93,39],[92,40],[90,3],[91,3],[147,41],[148,41],[149,42],[100,43],[150,44],[151,45],[152,46],[95,3],[98,47],[96,3],[97,3],[153,48],[154,49],[155,50],[156,51],[157,52],[158,53],[159,53],[160,54],[161,55],[162,56],[163,57],[101,3],[99,3],[164,58],[165,59],[166,60],[200,61],[167,62],[168,3],[169,63],[170,64],[171,65],[172,66],[173,67],[174,68],[175,69],[176,70],[177,71],[178,71],[179,72],[180,3],[181,73],[182,74],[184,75],[183,76],[185,77],[186,78],[187,79],[188,80],[189,81],[190,82],[191,83],[192,84],[193,85],[194,86],[195,87],[196,88],[197,89],[102,3],[103,3],[104,3],[143,90],[144,3],[145,3],[146,77],[198,91],[199,92],[105,3],[82,3],[83,3],[84,93],[86,94],[85,3],[79,3],[80,3],[14,3],[13,3],[2,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[3,3],[23,3],[24,3],[4,3],[25,3],[29,3],[26,3],[27,3],[28,3],[30,3],[31,3],[32,3],[5,3],[33,3],[34,3],[35,3],[36,3],[6,3],[40,3],[37,3],[38,3],[39,3],[41,3],[7,3],[42,3],[47,3],[48,3],[43,3],[44,3],[45,3],[46,3],[8,3],[52,3],[49,3],[50,3],[51,3],[53,3],[9,3],[54,3],[55,3],[56,3],[58,3],[57,3],[59,3],[60,3],[10,3],[61,3],[62,3],[63,3],[11,3],[64,3],[65,3],[66,3],[67,3],[68,3],[1,3],[69,3],[70,3],[12,3],[74,3],[72,3],[77,3],[76,3],[71,3],[75,3],[73,3],[78,3],[121,95],[131,96],[120,95],[141,97],[112,98],[111,17],[140,18],[134,99],[139,100],[114,101],[128,102],[113,103],[137,104],[109,105],[108,18],[138,106],[110,107],[115,108],[116,3],[119,108],[106,3],[142,109],[132,110],[123,111],[124,112],[126,113],[122,114],[125,115],[135,18],[117,116],[118,117],[127,118],[107,36],[130,110],[129,108],[133,3],[136,119],[81,3],[89,120],[87,3],[88,121]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface EcoPackage {
|
|
2
|
+
key: string;
|
|
3
|
+
npm: string;
|
|
4
|
+
/** Where to add it: the app's runtime deps, or the root devDependencies. */
|
|
5
|
+
target: 'app-dep' | 'root-dev';
|
|
6
|
+
desc: string;
|
|
7
|
+
}
|
|
8
|
+
/** The mgvdev NestJS ecosystem packages offered by the initializer (v1: hardcoded). */
|
|
9
|
+
export declare const ECOSYSTEM: EcoPackage[];
|
|
10
|
+
/** Resolve selected ecosystem keys to their package descriptors (ignoring unknown keys). */
|
|
11
|
+
export declare function ecosystemByKeys(keys: string[]): EcoPackage[];
|
|
12
|
+
//# sourceMappingURL=ecosystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem.d.ts","sourceRoot":"","sources":["../src/ecosystem.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,4EAA4E;IAC5E,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,uFAAuF;AACvF,eAAO,MAAM,SAAS,EAAE,UAAU,EAajC,CAAA;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAI5D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** The mgvdev NestJS ecosystem packages offered by the initializer (v1: hardcoded). */
|
|
2
|
+
export const ECOSYSTEM = [
|
|
3
|
+
{
|
|
4
|
+
key: 'nest-boost',
|
|
5
|
+
npm: '@mgvdev/nest-boost',
|
|
6
|
+
target: 'root-dev',
|
|
7
|
+
desc: 'AI/MCP toolkit that teaches coding agents your Nest app',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
key: 'nestjs-ai',
|
|
11
|
+
npm: '@mgvdev/nestjs-ai',
|
|
12
|
+
target: 'app-dep',
|
|
13
|
+
desc: 'NestJS toolkit on Vercel AI SDK v7 (agents, tools, RAG, streaming)',
|
|
14
|
+
},
|
|
15
|
+
];
|
|
16
|
+
/** Resolve selected ecosystem keys to their package descriptors (ignoring unknown keys). */
|
|
17
|
+
export function ecosystemByKeys(keys) {
|
|
18
|
+
return keys
|
|
19
|
+
.map((k) => ECOSYSTEM.find((p) => p.key === k || p.npm === k))
|
|
20
|
+
.filter(Boolean);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ecosystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem.js","sourceRoot":"","sources":["../src/ecosystem.ts"],"names":[],"mappings":"AAQA,uFAAuF;AACvF,MAAM,CAAC,MAAM,SAAS,GAAiB;IACrC;QACE,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,yDAAyD;KAChE;IACD;QACE,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,mBAAmB;QACxB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,oEAAoE;KAC3E;CACF,CAAA;AAED,4FAA4F;AAC5F,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,OAAO,CAAiB,CAAA;AACpC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { defineCommand, runMain } from 'citty';
|
|
4
|
+
import { consola } from 'consola';
|
|
5
|
+
import pc from 'picocolors';
|
|
6
|
+
import { ECOSYSTEM, ecosystemByKeys } from './ecosystem.js';
|
|
7
|
+
import { detectPackageManager, runLabel } from './pm.js';
|
|
8
|
+
import { applyEcosystem, ensureEmptyDir, gitInit, runInstall, runNestkit, writeRootFiles, } from './scaffold.js';
|
|
9
|
+
const main = defineCommand({
|
|
10
|
+
meta: {
|
|
11
|
+
name: 'create-nestkit',
|
|
12
|
+
description: 'Scaffold a modern NestJS monorepo powered by nestkit.',
|
|
13
|
+
},
|
|
14
|
+
args: {
|
|
15
|
+
projectName: {
|
|
16
|
+
type: 'positional',
|
|
17
|
+
required: false,
|
|
18
|
+
description: 'Directory / workspace name.',
|
|
19
|
+
},
|
|
20
|
+
app: { type: 'string', default: 'api', description: 'First Nest app name.' },
|
|
21
|
+
scope: { type: 'string', default: '@app', description: 'npm scope for generated packages.' },
|
|
22
|
+
lib: { type: 'boolean', description: 'Include a shared library.' },
|
|
23
|
+
frontend: { type: 'boolean', description: 'Include a Vite frontend app.' },
|
|
24
|
+
template: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
default: 'vanilla-ts',
|
|
27
|
+
description: 'create-vite template for the frontend.',
|
|
28
|
+
},
|
|
29
|
+
with: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
description: 'Comma-separated ecosystem packages (e.g. nest-boost,nestjs-ai).',
|
|
32
|
+
},
|
|
33
|
+
pm: { type: 'string', description: 'Force a package manager (npm|pnpm|yarn|bun).' },
|
|
34
|
+
git: { type: 'boolean', default: true, description: 'Initialize a git repo.' },
|
|
35
|
+
install: { type: 'boolean', default: true, description: 'Install project dependencies.' },
|
|
36
|
+
yes: { type: 'boolean', description: 'Accept defaults, skip prompts.' },
|
|
37
|
+
},
|
|
38
|
+
async run({ args }) {
|
|
39
|
+
const pm = args.pm || detectPackageManager();
|
|
40
|
+
const interactive = !args.yes && Boolean(process.stdin.isTTY);
|
|
41
|
+
const name = args.projectName ||
|
|
42
|
+
(interactive
|
|
43
|
+
? String(await consola.prompt('Project name?', { type: 'text', initial: 'my-nestkit-app' }))
|
|
44
|
+
: 'my-nestkit-app');
|
|
45
|
+
const appName = interactive
|
|
46
|
+
? String(await consola.prompt('App name?', { type: 'text', initial: args.app }))
|
|
47
|
+
: args.app;
|
|
48
|
+
const withLib = interactive
|
|
49
|
+
? Boolean(await consola.prompt('Include a shared library?', {
|
|
50
|
+
type: 'confirm',
|
|
51
|
+
initial: Boolean(args.lib),
|
|
52
|
+
}))
|
|
53
|
+
: Boolean(args.lib);
|
|
54
|
+
const withFrontend = interactive
|
|
55
|
+
? Boolean(await consola.prompt('Include a Vite frontend?', {
|
|
56
|
+
type: 'confirm',
|
|
57
|
+
initial: Boolean(args.frontend),
|
|
58
|
+
}))
|
|
59
|
+
: Boolean(args.frontend);
|
|
60
|
+
let ecoKeys = args.with
|
|
61
|
+
? String(args.with)
|
|
62
|
+
.split(',')
|
|
63
|
+
.map((s) => s.trim())
|
|
64
|
+
.filter(Boolean)
|
|
65
|
+
: [];
|
|
66
|
+
if (interactive) {
|
|
67
|
+
const selected = await consola.prompt('Add ecosystem packages?', {
|
|
68
|
+
type: 'multiselect',
|
|
69
|
+
required: false,
|
|
70
|
+
options: ECOSYSTEM.map((p) => ({ label: `${p.key} — ${p.desc}`, value: p.key })),
|
|
71
|
+
});
|
|
72
|
+
ecoKeys = Array.isArray(selected) ? selected : [];
|
|
73
|
+
}
|
|
74
|
+
const doGit = interactive
|
|
75
|
+
? Boolean(await consola.prompt('Initialize git?', { type: 'confirm', initial: args.git }))
|
|
76
|
+
: args.git;
|
|
77
|
+
const doInstall = interactive
|
|
78
|
+
? Boolean(await consola.prompt('Install dependencies now?', {
|
|
79
|
+
type: 'confirm',
|
|
80
|
+
initial: args.install,
|
|
81
|
+
}))
|
|
82
|
+
: args.install;
|
|
83
|
+
const target = resolve(process.cwd(), name);
|
|
84
|
+
consola.start(`Creating ${pc.bold(name)} with ${pc.cyan(pm)}...`);
|
|
85
|
+
ensureEmptyDir(target);
|
|
86
|
+
writeRootFiles(target, { name, pm, frontend: withFrontend });
|
|
87
|
+
// Install nestkit-cli first so its bin is available for scaffolding.
|
|
88
|
+
runInstall(pm, target);
|
|
89
|
+
runNestkit(target, ['generate', 'app', appName, '--scope', args.scope]);
|
|
90
|
+
if (withLib) {
|
|
91
|
+
runNestkit(target, ['generate', 'lib', 'shared', '--scope', args.scope]);
|
|
92
|
+
runNestkit(target, ['add', 'shared', '--to', appName, '--no-install']);
|
|
93
|
+
}
|
|
94
|
+
if (withFrontend) {
|
|
95
|
+
runNestkit(target, [
|
|
96
|
+
'generate',
|
|
97
|
+
'app-frontend',
|
|
98
|
+
'web',
|
|
99
|
+
'--scope',
|
|
100
|
+
args.scope,
|
|
101
|
+
'--template',
|
|
102
|
+
args.template,
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
applyEcosystem(target, join(target, 'apps', appName), ecosystemByKeys(ecoKeys));
|
|
106
|
+
if (doInstall)
|
|
107
|
+
runInstall(pm, target);
|
|
108
|
+
if (doGit)
|
|
109
|
+
gitInit(target);
|
|
110
|
+
consola.success(`Created ${pc.bold(name)}`);
|
|
111
|
+
const steps = [
|
|
112
|
+
`cd ${name}`,
|
|
113
|
+
doInstall ? '' : `${pm} install`,
|
|
114
|
+
`${runLabel(pm)} nestkit dev ${appName}`,
|
|
115
|
+
].filter(Boolean);
|
|
116
|
+
consola.box(steps.join('\n'));
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
runMain(main);
|
|
120
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/pm.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
|
|
2
|
+
/** Detect the package manager from the `npm_config_user_agent` (set by `<pm> create`). */
|
|
3
|
+
export declare function detectPackageManager(userAgent?: string): PackageManager;
|
|
4
|
+
/** The install command (argv) for a package manager. */
|
|
5
|
+
export declare function installCommand(pm: PackageManager): string[];
|
|
6
|
+
/** The `<pm> run dev`-style runner label shown in next steps. */
|
|
7
|
+
export declare function runLabel(pm: PackageManager): string;
|
|
8
|
+
//# sourceMappingURL=pm.d.ts.map
|
package/dist/pm.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pm.d.ts","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAE5D,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAClC,SAAS,SAA0C,GAClD,cAAc,CAIhB;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,EAAE,CAE3D;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAEnD"}
|
package/dist/pm.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Detect the package manager from the `npm_config_user_agent` (set by `<pm> create`). */
|
|
2
|
+
export function detectPackageManager(userAgent = process.env.npm_config_user_agent ?? '') {
|
|
3
|
+
const name = userAgent.split(' ')[0]?.split('/')[0];
|
|
4
|
+
if (name === 'pnpm' || name === 'yarn' || name === 'bun')
|
|
5
|
+
return name;
|
|
6
|
+
return 'npm';
|
|
7
|
+
}
|
|
8
|
+
/** The install command (argv) for a package manager. */
|
|
9
|
+
export function installCommand(pm) {
|
|
10
|
+
return pm === 'yarn' ? ['yarn'] : [pm, 'install'];
|
|
11
|
+
}
|
|
12
|
+
/** The `<pm> run dev`-style runner label shown in next steps. */
|
|
13
|
+
export function runLabel(pm) {
|
|
14
|
+
return pm === 'npm' ? 'npx' : pm === 'bun' ? 'bunx' : `${pm} exec`;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=pm.js.map
|
package/dist/pm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"AAEA,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB,CAClC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;IAEnD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IACrE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,EAAkB;IAC/C,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;AACnD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,EAAkB;IACzC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAA;AACpE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { EcoPackage } from './ecosystem.js';
|
|
2
|
+
import { type PackageManager } from './pm.js';
|
|
3
|
+
/** Create the target dir, erroring if it exists and is non-empty. */
|
|
4
|
+
export declare function ensureEmptyDir(target: string): void;
|
|
5
|
+
export interface RootOptions {
|
|
6
|
+
name: string;
|
|
7
|
+
pm: PackageManager;
|
|
8
|
+
frontend: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** Write the workspace root files (package.json, tsconfig.base.json, .gitignore, pnpm-workspace). */
|
|
11
|
+
export declare function writeRootFiles(target: string, opts: RootOptions): void;
|
|
12
|
+
/** Run `<pm> install` in the target. */
|
|
13
|
+
export declare function runInstall(pm: PackageManager, target: string): void;
|
|
14
|
+
/** Run the locally-installed nestkit bin with the given args. */
|
|
15
|
+
export declare function runNestkit(target: string, args: string[]): void;
|
|
16
|
+
/** Add selected ecosystem packages to the app deps / root devDeps. */
|
|
17
|
+
export declare function applyEcosystem(target: string, appDir: string, packages: EcoPackage[]): void;
|
|
18
|
+
/** Initialize a git repo with an initial commit (best-effort). */
|
|
19
|
+
export declare function gitInit(target: string): void;
|
|
20
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,SAAS,CAAA;AAS7D,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKnD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,cAAc,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CA6BtE;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAInE;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAI/D;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAiB3F;AAED,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAkB5C"}
|
package/dist/scaffold.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { execFileSync, spawnSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { installCommand } from './pm.js';
|
|
5
|
+
function writeJson(file, value) {
|
|
6
|
+
writeFileSync(file, `${JSON.stringify(value, null, 2)}\n`);
|
|
7
|
+
}
|
|
8
|
+
function readJson(file) {
|
|
9
|
+
return JSON.parse(readFileSync(file, 'utf8'));
|
|
10
|
+
}
|
|
11
|
+
/** Create the target dir, erroring if it exists and is non-empty. */
|
|
12
|
+
export function ensureEmptyDir(target) {
|
|
13
|
+
if (existsSync(target) && readdirSync(target).length > 0) {
|
|
14
|
+
throw new Error(`Target directory "${target}" already exists and is not empty.`);
|
|
15
|
+
}
|
|
16
|
+
mkdirSync(target, { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
/** Write the workspace root files (package.json, tsconfig.base.json, .gitignore, pnpm-workspace). */
|
|
19
|
+
export function writeRootFiles(target, opts) {
|
|
20
|
+
const devDependencies = {
|
|
21
|
+
'@mgvdev/nestkit-cli': '^0.2.0',
|
|
22
|
+
typescript: '>=5 <7',
|
|
23
|
+
};
|
|
24
|
+
if (opts.frontend) {
|
|
25
|
+
devDependencies['@mgvdev/nestkit-adapter-vite'] = '^0.2.0';
|
|
26
|
+
devDependencies.vite = '^6.0.0';
|
|
27
|
+
}
|
|
28
|
+
writeJson(join(target, 'package.json'), {
|
|
29
|
+
name: opts.name,
|
|
30
|
+
private: true,
|
|
31
|
+
workspaces: ['apps/*', 'packages/*'],
|
|
32
|
+
devDependencies,
|
|
33
|
+
});
|
|
34
|
+
if (opts.pm === 'pnpm') {
|
|
35
|
+
writeFileSync(join(target, 'pnpm-workspace.yaml'), 'packages:\n - "apps/*"\n - "packages/*"\n');
|
|
36
|
+
}
|
|
37
|
+
writeFileSync(join(target, 'tsconfig.base.json'), `${JSON.stringify({ compilerOptions: { paths: {} } }, null, 2)}\n`);
|
|
38
|
+
writeFileSync(join(target, '.gitignore'), 'node_modules/\ndist/\n.nestkit/\n*.tsbuildinfo\nsrc/metadata.ts\n');
|
|
39
|
+
}
|
|
40
|
+
/** Run `<pm> install` in the target. */
|
|
41
|
+
export function runInstall(pm, target) {
|
|
42
|
+
const cmd = installCommand(pm);
|
|
43
|
+
const res = spawnSync(cmd[0], cmd.slice(1), { cwd: target, stdio: 'inherit' });
|
|
44
|
+
if (res.status !== 0)
|
|
45
|
+
throw new Error(`${cmd.join(' ')} failed`);
|
|
46
|
+
}
|
|
47
|
+
/** Run the locally-installed nestkit bin with the given args. */
|
|
48
|
+
export function runNestkit(target, args) {
|
|
49
|
+
const bin = join(target, 'node_modules', '.bin', 'nestkit');
|
|
50
|
+
const res = spawnSync(bin, args, { cwd: target, stdio: 'inherit' });
|
|
51
|
+
if (res.status !== 0)
|
|
52
|
+
throw new Error(`nestkit ${args.join(' ')} failed`);
|
|
53
|
+
}
|
|
54
|
+
/** Add selected ecosystem packages to the app deps / root devDeps. */
|
|
55
|
+
export function applyEcosystem(target, appDir, packages) {
|
|
56
|
+
const appDeps = packages.filter((p) => p.target === 'app-dep');
|
|
57
|
+
const rootDev = packages.filter((p) => p.target === 'root-dev');
|
|
58
|
+
if (appDeps.length > 0) {
|
|
59
|
+
const f = join(appDir, 'package.json');
|
|
60
|
+
const j = readJson(f);
|
|
61
|
+
j.dependencies ??= {};
|
|
62
|
+
for (const p of appDeps)
|
|
63
|
+
j.dependencies[p.npm] = 'latest';
|
|
64
|
+
writeJson(f, j);
|
|
65
|
+
}
|
|
66
|
+
if (rootDev.length > 0) {
|
|
67
|
+
const f = join(target, 'package.json');
|
|
68
|
+
const j = readJson(f);
|
|
69
|
+
j.devDependencies ??= {};
|
|
70
|
+
for (const p of rootDev)
|
|
71
|
+
j.devDependencies[p.npm] = 'latest';
|
|
72
|
+
writeJson(f, j);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Initialize a git repo with an initial commit (best-effort). */
|
|
76
|
+
export function gitInit(target) {
|
|
77
|
+
const env = {
|
|
78
|
+
...process.env,
|
|
79
|
+
GIT_AUTHOR_NAME: 'nestkit',
|
|
80
|
+
GIT_AUTHOR_EMAIL: 'nestkit@local',
|
|
81
|
+
GIT_COMMITTER_NAME: 'nestkit',
|
|
82
|
+
GIT_COMMITTER_EMAIL: 'nestkit@local',
|
|
83
|
+
};
|
|
84
|
+
try {
|
|
85
|
+
execFileSync('git', ['init', '-q'], { cwd: target });
|
|
86
|
+
execFileSync('git', ['add', '-A'], { cwd: target });
|
|
87
|
+
execFileSync('git', ['commit', '-qm', 'chore: scaffold nestkit workspace'], {
|
|
88
|
+
cwd: target,
|
|
89
|
+
env,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
/* git is optional */
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mgvdev/create-nestkit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Scaffold a modern NestJS monorepo powered by nestkit (npm create nestkit).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"bin": { "create-nestkit": "dist/index.js" },
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"files": ["dist"],
|
|
10
|
+
"engines": { "node": ">=20" },
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"citty": "^0.1.6",
|
|
13
|
+
"consola": "^3.2.3",
|
|
14
|
+
"picocolors": "^1.1.1"
|
|
15
|
+
},
|
|
16
|
+
"publishConfig": { "access": "public" },
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/mgvdev/nestkit.git",
|
|
20
|
+
"directory": "packages/create-nestkit"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://github.com/mgvdev/nestkit#readme",
|
|
23
|
+
"bugs": { "url": "https://github.com/mgvdev/nestkit/issues" },
|
|
24
|
+
"keywords": ["nestjs", "nestkit", "monorepo", "create", "scaffold"]
|
|
25
|
+
}
|