@things-factory/integration-git 9.0.0-9.0.0-beta.59.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/CHANGELOG.md +8 -0
- package/assets/images/hatiolab-logo.png +0 -0
- package/client/bootstrap.ts +1 -0
- package/client/index.ts +0 -0
- package/client/route.ts +0 -0
- package/client/tsconfig.json +11 -0
- package/dist-client/bootstrap.d.ts +1 -0
- package/dist-client/bootstrap.js +2 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/index.d.ts +0 -0
- package/dist-client/index.js +2 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/route.d.ts +0 -0
- package/dist-client/route.js +2 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-server/controller/fs-watcher.d.ts +1 -0
- package/dist-server/controller/fs-watcher.js +20 -0
- package/dist-server/controller/fs-watcher.js.map +1 -0
- package/dist-server/controller/git-watcher.d.ts +1 -0
- package/dist-server/controller/git-watcher.js +25 -0
- package/dist-server/controller/git-watcher.js.map +1 -0
- package/dist-server/controller/git-webhook.d.ts +1 -0
- package/dist-server/controller/git-webhook.js +21 -0
- package/dist-server/controller/git-webhook.js.map +1 -0
- package/dist-server/engine/connector/git.d.ts +14 -0
- package/dist-server/engine/connector/git.js +73 -0
- package/dist-server/engine/connector/git.js.map +1 -0
- package/dist-server/engine/connector/index.d.ts +1 -0
- package/dist-server/engine/connector/index.js +4 -0
- package/dist-server/engine/connector/index.js.map +1 -0
- package/dist-server/engine/index.d.ts +2 -0
- package/dist-server/engine/index.js +5 -0
- package/dist-server/engine/index.js.map +1 -0
- package/dist-server/engine/task/git-clone.d.ts +1 -0
- package/dist-server/engine/task/git-clone.js +36 -0
- package/dist-server/engine/task/git-clone.js.map +1 -0
- package/dist-server/engine/task/git-commit.d.ts +1 -0
- package/dist-server/engine/task/git-commit.js +31 -0
- package/dist-server/engine/task/git-commit.js.map +1 -0
- package/dist-server/engine/task/git-detect-changes.d.ts +1 -0
- package/dist-server/engine/task/git-detect-changes.js +30 -0
- package/dist-server/engine/task/git-detect-changes.js.map +1 -0
- package/dist-server/engine/task/git-pull.d.ts +1 -0
- package/dist-server/engine/task/git-pull.js +45 -0
- package/dist-server/engine/task/git-pull.js.map +1 -0
- package/dist-server/engine/task/index.d.ts +2 -0
- package/dist-server/engine/task/index.js +5 -0
- package/dist-server/engine/task/index.js.map +1 -0
- package/dist-server/index.d.ts +1 -0
- package/dist-server/index.js +4 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +34 -0
- package/server/controller/fs-watcher.ts +19 -0
- package/server/controller/git-watcher.ts +26 -0
- package/server/controller/git-webhook.ts +22 -0
- package/server/engine/connector/git.ts +79 -0
- package/server/engine/connector/index.ts +1 -0
- package/server/engine/index.ts +2 -0
- package/server/engine/task/git-clone.ts +43 -0
- package/server/engine/task/git-commit.ts +36 -0
- package/server/engine/task/git-detect-changes.ts +32 -0
- package/server/engine/task/git-pull.ts +57 -0
- package/server/engine/task/index.ts +2 -0
- package/server/index.ts +1 -0
- package/server/tsconfig.json +10 -0
- package/things-factory.config.js +5 -0
- package/translations/en.json +6 -0
- package/translations/ja.json +6 -0
- package/translations/ko.json +6 -0
- package/translations/ms.json +6 -0
- package/translations/zh.json +6 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
6
|
+
and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
<!-- ## [Unreleased] -->
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function bootstrap() {}
|
package/client/index.ts
ADDED
|
File without changes
|
package/client/route.ts
ADDED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function bootstrap(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,KAAI,CAAC","sourcesContent":["export default function bootstrap() {}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../client/route.ts"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
@@ -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.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.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.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../client/bootstrap.ts","../client/index.ts","../client/route.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/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/globals.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/dom-events.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/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/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[57,100],[57,100,153],[57,100,155,158],[57,97,100],[57,99,100],[100],[57,100,105,135],[57,100,101,106,112,113,120,132,143],[57,100,101,102,112,120],[52,53,54,57,100],[57,100,103,144],[57,100,104,105,113,121],[57,100,105,132,140],[57,100,106,108,112,120],[57,99,100,107],[57,100,108,109],[57,100,112],[57,100,110,112],[57,99,100,112],[57,100,112,113,114,132,143],[57,100,112,113,114,127,132,135],[57,95,100,148],[57,95,100,108,112,115,120,132,143],[57,100,112,113,115,116,120,132,140,143],[57,100,115,117,132,140,143],[55,56,57,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[57,100,112,118],[57,100,119,143],[57,100,108,112,120,132],[57,100,121],[57,100,122],[57,99,100,123],[57,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[57,100,125],[57,100,126],[57,100,112,127,128],[57,100,127,129,144,146],[57,100,112,132,133,135],[57,100,134,135],[57,100,132,133],[57,100,135],[57,100,136],[57,97,100,132],[57,100,112,138,139],[57,100,138,139],[57,100,105,120,132,140],[57,100,141],[57,100,120,142],[57,100,115,126,143],[57,100,105,144],[57,100,132,145],[57,100,119,146],[57,100,147],[57,100,105,112,114,123,132,143,146,148],[57,100,132,149],[57,100,151,157],[57,100,155],[57,100,152,156],[57,100,154],[57,67,71,100,143],[57,67,100,132,143],[57,62,100],[57,64,67,100,140,143],[57,100,120,140],[57,100,150],[57,62,100,150],[57,64,67,100,120,143],[57,59,60,63,66,100,112,132,143],[57,67,74,100],[57,59,65,100],[57,67,88,89,100],[57,63,67,100,135,143,150],[57,88,100,150],[57,61,62,100,150],[57,67,100],[57,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,100],[57,67,82,100],[57,67,74,75,100],[57,65,67,75,76,100],[57,66,100],[57,59,62,67,100],[57,67,71,75,76,100],[57,71,100],[57,65,67,70,100,143],[57,59,64,67,74,100],[57,100,132],[57,62,67,88,100,148,150],[48,57,100]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","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":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"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":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","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":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","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":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"1f8f1bd57f21c36cc25547a0cb99a097f5e5443815789833d230741315a3a948","signature":"aac4ddff3d5c1247433870879e9838b1e23b81a9b62c75f59c3e1b64802f2b16"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fa51737611c21ba3a5ac02c4e1535741d58bec67c9bdf94b1837a31c97a2263","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","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":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"f9677e434b7a3b14f0a9367f9dfa1227dfe3ee661792d0085523c3191ae6a1a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"9057f224b79846e3a95baf6dad2c8103278de2b0c5eebda23fc8188171ad2398","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0476e6b51a47a8eaf5ee6ecab0d686f066f3081de9a572f1dde3b2a8a7fb055","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"f96a023e442f02cf551b4cfe435805ccb0a7e13c81619d4da61ec835d03fe512","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"5b2e73adcb25865d31c21accdc8f82de1eaded23c6f73230e474df156942380e","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"64ede330464b9fd5d35327c32dd2770e7474127ed09769655ebce70992af5f44","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"bcd0418abb8a5c9fe7db36a96ca75fc78455b0efab270ee89b8e49916eac5174","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"fbf68fc8057932b1c30107ebc37420f8d8dc4bef1253c4c2f9e141886c0df5ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"7d8b16d7f33d5081beac7a657a6d13f11a72cf094cc5e37cda1b9d8c89371951","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"217941ef5c6fd81b77cd0073c94019a98e20777eaac6c4326156bf6b021ed547","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[[49,51]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":4,"useDefineForClassFields":false},"referencedMap":[[151,1],[154,2],[153,1],[159,3],[97,4],[98,4],[99,5],[57,6],[100,7],[101,8],[102,9],[52,1],[55,10],[53,1],[54,1],[103,11],[104,12],[105,13],[106,14],[107,15],[108,16],[109,16],[111,17],[110,18],[112,19],[113,20],[114,21],[96,22],[56,1],[115,23],[116,24],[117,25],[150,26],[118,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,36],[129,37],[130,1],[131,1],[132,38],[134,39],[133,40],[135,41],[136,42],[137,43],[138,44],[139,45],[140,46],[141,47],[142,48],[143,49],[144,50],[145,51],[146,52],[147,53],[148,54],[149,55],[58,1],[152,1],[158,56],[156,57],[157,58],[155,59],[48,1],[46,1],[47,1],[8,1],[9,1],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[20,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[1,1],[74,60],[84,61],[73,60],[94,62],[65,63],[64,64],[93,65],[87,66],[92,67],[67,68],[81,69],[66,70],[90,71],[62,72],[61,65],[91,73],[63,74],[68,75],[69,1],[72,75],[59,1],[95,76],[85,77],[76,78],[77,79],[79,80],[75,81],[78,82],[88,65],[70,83],[71,84],[80,85],[60,86],[83,77],[82,75],[86,1],[89,87],[49,88],[50,1],[51,1]],"version":"5.8.3"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
+
const REPO_PATH = path_1.default.join(__dirname, '../my-repo');
|
|
8
|
+
// ✅ Git 디렉토리 내 파일 변경 감지
|
|
9
|
+
fs_1.default.watch(REPO_PATH, { recursive: true }, async (eventType, filename) => {
|
|
10
|
+
if (!filename)
|
|
11
|
+
return;
|
|
12
|
+
console.log(`🔄 파일 변경 감지: ${filename}`);
|
|
13
|
+
// ✅ Things-Factory API 호출하여 변경된 파일 처리
|
|
14
|
+
await (0, node_fetch_1.default)('http://localhost:3000/api/git-process-changes', {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
headers: { 'Content-Type': 'application/json' },
|
|
17
|
+
body: JSON.stringify({ files: [filename] })
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=fs-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../../server/controller/fs-watcher.ts"],"names":[],"mappings":";;;AAAA,oDAAmB;AACnB,wDAAuB;AACvB,oEAA8B;AAE9B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AAEpD,wBAAwB;AACxB,YAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IACrE,IAAI,CAAC,QAAQ;QAAE,OAAM;IAErB,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;IAEvC,sCAAsC;IACtC,MAAM,IAAA,oBAAK,EAAC,+CAA+C,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport fetch from 'node-fetch'\n\nconst REPO_PATH = path.join(__dirname, '../my-repo')\n\n// ✅ Git 디렉토리 내 파일 변경 감지\nfs.watch(REPO_PATH, { recursive: true }, async (eventType, filename) => {\n if (!filename) return\n\n console.log(`🔄 파일 변경 감지: ${filename}`)\n\n // ✅ Things-Factory API 호출하여 변경된 파일 처리\n await fetch('http://localhost:3000/api/git-process-changes', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ files: [filename] })\n })\n})\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const simple_git_1 = tslib_1.__importDefault(require("simple-git"));
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
+
const REPO_PATH = path_1.default.join(__dirname, '../my-repo');
|
|
8
|
+
const git = (0, simple_git_1.default)(REPO_PATH);
|
|
9
|
+
// ✅ 일정 주기로 `git status` 실행하여 변경 사항 감지
|
|
10
|
+
async function checkForChanges() {
|
|
11
|
+
const status = await git.status();
|
|
12
|
+
const changedFiles = [...status.modified, ...status.created];
|
|
13
|
+
if (changedFiles.length > 0) {
|
|
14
|
+
console.log('🔄 Git 변경 사항 감지:', changedFiles);
|
|
15
|
+
// ✅ Things-Factory 파이프라인 실행
|
|
16
|
+
await (0, node_fetch_1.default)('http://localhost:3000/api/git-process-changes', {
|
|
17
|
+
method: 'POST',
|
|
18
|
+
headers: { 'Content-Type': 'application/json' },
|
|
19
|
+
body: JSON.stringify({ files: changedFiles })
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// ✅ 10초마다 변경 사항 확인
|
|
24
|
+
setInterval(checkForChanges, 10000);
|
|
25
|
+
//# sourceMappingURL=git-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-watcher.js","sourceRoot":"","sources":["../../server/controller/git-watcher.ts"],"names":[],"mappings":";;;AAAA,oEAAkC;AAClC,wDAAuB;AACvB,oEAA8B;AAE9B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AACpD,MAAM,GAAG,GAAG,IAAA,oBAAS,EAAC,SAAS,CAAC,CAAA;AAEhC,sCAAsC;AACtC,KAAK,UAAU,eAAe;IAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;IACjC,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAE5D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAA;QAE7C,4BAA4B;QAC5B,MAAM,IAAA,oBAAK,EAAC,+CAA+C,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;SAC9C,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA","sourcesContent":["import simpleGit from 'simple-git'\nimport path from 'path'\nimport fetch from 'node-fetch'\n\nconst REPO_PATH = path.join(__dirname, '../my-repo')\nconst git = simpleGit(REPO_PATH)\n\n// ✅ 일정 주기로 `git status` 실행하여 변경 사항 감지\nasync function checkForChanges() {\n const status = await git.status()\n const changedFiles = [...status.modified, ...status.created]\n\n if (changedFiles.length > 0) {\n console.log('🔄 Git 변경 사항 감지:', changedFiles)\n\n // ✅ Things-Factory 파이프라인 실행\n await fetch('http://localhost:3000/api/git-process-changes', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ files: changedFiles })\n })\n }\n}\n\n// ✅ 10초마다 변경 사항 확인\nsetInterval(checkForChanges, 10000)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
5
|
+
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
6
|
+
async function gitWebhookHandler(step, { data }) {
|
|
7
|
+
const { commits } = step.params;
|
|
8
|
+
if (!commits || commits.length === 0) {
|
|
9
|
+
throw new Error('No commits found in Webhook payload');
|
|
10
|
+
}
|
|
11
|
+
const modifiedFiles = commits.flatMap(commit => commit.modified);
|
|
12
|
+
// ✅ 변경된 파일 분석 및 Qdrant 업데이트 실행
|
|
13
|
+
await (0, node_fetch_1.default)('http://localhost:3000/api/git-process-changes', {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
headers: { 'Content-Type': 'application/json' },
|
|
16
|
+
body: JSON.stringify({ files: modifiedFiles })
|
|
17
|
+
});
|
|
18
|
+
return { data: true };
|
|
19
|
+
}
|
|
20
|
+
integration_base_1.TaskRegistry.registerTaskHandler('git-webhook-handler', gitWebhookHandler);
|
|
21
|
+
//# sourceMappingURL=git-webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-webhook.js","sourceRoot":"","sources":["../../server/controller/git-webhook.ts"],"names":[],"mappings":";;;AAAA,uEAAwE;AACxE,oEAA8B;AAE9B,KAAK,UAAU,iBAAiB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAW;IACtD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;IAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEhE,+BAA+B;IAC/B,MAAM,IAAA,oBAAK,EAAC,+CAA+C,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;KAC/C,CAAC,CAAA;IAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,+BAAY,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA","sourcesContent":["import { Context, TaskRegistry } from '@things-factory/integration-base'\nimport fetch from 'node-fetch'\n\nasync function gitWebhookHandler(step, { data }: Context) {\n const { commits } = step.params\n if (!commits || commits.length === 0) {\n throw new Error('No commits found in Webhook payload')\n }\n\n const modifiedFiles = commits.flatMap(commit => commit.modified)\n\n // ✅ 변경된 파일 분석 및 Qdrant 업데이트 실행\n await fetch('http://localhost:3000/api/git-process-changes', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ files: modifiedFiles })\n })\n\n return { data: true }\n}\n\nTaskRegistry.registerTaskHandler('git-webhook-handler', gitWebhookHandler)\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Connection, Connector } from '@things-factory/integration-base';
|
|
2
|
+
export declare class GitConnector implements Connector {
|
|
3
|
+
ready(connectionConfigs: any): Promise<void>;
|
|
4
|
+
checkConnectionInstance(domain: any, connectionName: any): boolean;
|
|
5
|
+
connect(connection: any): Promise<void>;
|
|
6
|
+
disconnect(connection: Connection): Promise<void>;
|
|
7
|
+
get parameterSpec(): {
|
|
8
|
+
type: string;
|
|
9
|
+
name: string;
|
|
10
|
+
label: string;
|
|
11
|
+
}[];
|
|
12
|
+
get taskPrefixes(): string[];
|
|
13
|
+
get help(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitConnector = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
6
|
+
const simple_git_1 = tslib_1.__importDefault(require("simple-git"));
|
|
7
|
+
class GitConnector {
|
|
8
|
+
async ready(connectionConfigs) {
|
|
9
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
|
10
|
+
integration_base_1.ConnectionManager.logger.info('Git connections are ready');
|
|
11
|
+
}
|
|
12
|
+
checkConnectionInstance(domain, connectionName) {
|
|
13
|
+
try {
|
|
14
|
+
const connection = integration_base_1.ConnectionManager.getConnectionInstanceByName(domain, connectionName);
|
|
15
|
+
return !!connection;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async connect(connection) {
|
|
22
|
+
var { endpoint, // Git 저장소 URL (ex: https://git.com/user/repo.git, https://gitlab.com/user/repo.git, ssh://git@bitbucket.org/user/repo.git)
|
|
23
|
+
params: { branch = 'main', token, sshKeyPath } } = connection;
|
|
24
|
+
try {
|
|
25
|
+
// ✅ Git 클라이언트 생성
|
|
26
|
+
const client = (0, simple_git_1.default)();
|
|
27
|
+
// ✅ Git 인증 처리 (토큰 방식 vs SSH 방식)
|
|
28
|
+
let remoteUrl = endpoint;
|
|
29
|
+
if (token) {
|
|
30
|
+
// HTTP 인증 방식 (예: GitHub, GitLab의 PAT)
|
|
31
|
+
remoteUrl = endpoint.replace('https://', `https://${token}@`);
|
|
32
|
+
}
|
|
33
|
+
else if (sshKeyPath) {
|
|
34
|
+
// SSH 방식 인증 (예: Bitbucket, 사내 Git 서버)
|
|
35
|
+
client.env({ GIT_SSH_COMMAND: `ssh -i ${sshKeyPath} -o StrictHostKeyChecking=no` });
|
|
36
|
+
}
|
|
37
|
+
// ✅ ConnectionManager에 저장할 때 `remoteUrl` 추가
|
|
38
|
+
integration_base_1.ConnectionManager.addConnectionInstance(connection, {
|
|
39
|
+
client,
|
|
40
|
+
branch,
|
|
41
|
+
endpoint,
|
|
42
|
+
remoteUrl, // ✅ remoteUrl 추가
|
|
43
|
+
token,
|
|
44
|
+
sshKeyPath
|
|
45
|
+
});
|
|
46
|
+
integration_base_1.ConnectionManager.logger.info(`Git connection(${connection.name}:${endpoint}) is connected`);
|
|
47
|
+
}
|
|
48
|
+
catch (ex) {
|
|
49
|
+
integration_base_1.ConnectionManager.logger.error(`Git connection(${connection.name}:${endpoint}) failed to connect`, ex);
|
|
50
|
+
throw ex;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async disconnect(connection) {
|
|
54
|
+
integration_base_1.ConnectionManager.removeConnectionInstance(connection);
|
|
55
|
+
integration_base_1.ConnectionManager.logger.info(`Git connection(${connection.name}) is disconnected`);
|
|
56
|
+
}
|
|
57
|
+
get parameterSpec() {
|
|
58
|
+
return [
|
|
59
|
+
{ type: 'string', name: 'branch', label: 'git.branch' },
|
|
60
|
+
{ type: 'string', name: 'token', label: 'git.token' },
|
|
61
|
+
{ type: 'string', name: 'sshKeyPath', label: 'git.ssh-key-path' }
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
get taskPrefixes() {
|
|
65
|
+
return ['git'];
|
|
66
|
+
}
|
|
67
|
+
get help() {
|
|
68
|
+
return 'integration/connector/git-connector';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.GitConnector = GitConnector;
|
|
72
|
+
integration_base_1.ConnectionManager.registerConnector('git-connector', new GitConnector());
|
|
73
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../server/engine/connector/git.ts"],"names":[],"mappings":";;;;AAAA,uEAA2F;AAC3F,oEAAkC;AAElC,MAAa,YAAY;IACvB,KAAK,CAAC,KAAK,CAAC,iBAAiB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,oCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IAC5D,CAAC;IAED,uBAAuB,CAAC,MAAM,EAAE,cAAc;QAC5C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YACxF,OAAO,CAAC,CAAC,UAAU,CAAA;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAU;QACtB,IAAI,EACF,QAAQ,EAAE,2HAA2H;QACrI,MAAM,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAC/C,GAAG,UAAU,CAAA;QAEd,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAA;YAE1B,gCAAgC;YAChC,IAAI,SAAS,GAAG,QAAQ,CAAA;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,sCAAsC;gBACtC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,KAAK,GAAG,CAAC,CAAA;YAC/D,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,sCAAsC;gBACtC,MAAM,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,UAAU,UAAU,8BAA8B,EAAE,CAAC,CAAA;YACrF,CAAC;YAED,4CAA4C;YAC5C,oCAAiB,CAAC,qBAAqB,CAAC,UAAU,EAAE;gBAClD,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,SAAS,EAAE,iBAAiB;gBAC5B,KAAK;gBACL,UAAU;aACX,CAAC,CAAA;YAEF,oCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,IAAI,IAAI,QAAQ,gBAAgB,CAAC,CAAA;QAC9F,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,oCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,UAAU,CAAC,IAAI,IAAI,QAAQ,qBAAqB,EAAE,EAAE,CAAC,CAAA;YACtG,MAAM,EAAE,CAAA;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAsB;QACrC,oCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;QACtD,oCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,aAAa;QACf,OAAO;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;YACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;YACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE;SAClE,CAAA;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,qCAAqC,CAAA;IAC9C,CAAC;CACF;AAzED,oCAyEC;AAED,oCAAiB,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,YAAY,EAAE,CAAC,CAAA","sourcesContent":["import { Connection, ConnectionManager, Connector } from '@things-factory/integration-base'\nimport simpleGit from 'simple-git'\n\nexport class GitConnector implements Connector {\n async ready(connectionConfigs) {\n await Promise.all(connectionConfigs.map(this.connect.bind(this)))\n\n ConnectionManager.logger.info('Git connections are ready')\n }\n\n checkConnectionInstance(domain, connectionName): boolean {\n try {\n const connection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n return !!connection\n } catch (e) {\n return false\n }\n }\n\n async connect(connection) {\n var {\n endpoint, // Git 저장소 URL (ex: https://git.com/user/repo.git, https://gitlab.com/user/repo.git, ssh://git@bitbucket.org/user/repo.git)\n params: { branch = 'main', token, sshKeyPath }\n } = connection\n\n try {\n // ✅ Git 클라이언트 생성\n const client = simpleGit()\n\n // ✅ Git 인증 처리 (토큰 방식 vs SSH 방식)\n let remoteUrl = endpoint\n if (token) {\n // HTTP 인증 방식 (예: GitHub, GitLab의 PAT)\n remoteUrl = endpoint.replace('https://', `https://${token}@`)\n } else if (sshKeyPath) {\n // SSH 방식 인증 (예: Bitbucket, 사내 Git 서버)\n client.env({ GIT_SSH_COMMAND: `ssh -i ${sshKeyPath} -o StrictHostKeyChecking=no` })\n }\n\n // ✅ ConnectionManager에 저장할 때 `remoteUrl` 추가\n ConnectionManager.addConnectionInstance(connection, {\n client,\n branch,\n endpoint,\n remoteUrl, // ✅ remoteUrl 추가\n token,\n sshKeyPath\n })\n\n ConnectionManager.logger.info(`Git connection(${connection.name}:${endpoint}) is connected`)\n } catch (ex) {\n ConnectionManager.logger.error(`Git connection(${connection.name}:${endpoint}) failed to connect`, ex)\n throw ex\n }\n }\n\n async disconnect(connection: Connection) {\n ConnectionManager.removeConnectionInstance(connection)\n ConnectionManager.logger.info(`Git connection(${connection.name}) is disconnected`)\n }\n\n get parameterSpec() {\n return [\n { type: 'string', name: 'branch', label: 'git.branch' },\n { type: 'string', name: 'token', label: 'git.token' },\n { type: 'string', name: 'sshKeyPath', label: 'git.ssh-key-path' }\n ]\n }\n\n get taskPrefixes() {\n return ['git']\n }\n\n get help() {\n return 'integration/connector/git-connector'\n }\n}\n\nConnectionManager.registerConnector('git-connector', new GitConnector())\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './git.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/connector/index.ts"],"names":[],"mappings":";;AAAA,oBAAiB","sourcesContent":["import './git.js'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/engine/index.ts"],"names":[],"mappings":";;AAAA,gCAA6B;AAC7B,2BAAwB","sourcesContent":["import './connector/index.js'\nimport './task/index.js'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
7
|
+
const debug = require('debug')('things-factory:git-clone');
|
|
8
|
+
async function gitClone(step, { domain, data }) {
|
|
9
|
+
const { connection, params: { targetDir } } = step;
|
|
10
|
+
// ✅ Git 연결 정보 가져오기
|
|
11
|
+
const gitInstance = integration_base_1.ConnectionManager.getConnectionInstanceByName(domain, connection);
|
|
12
|
+
if (!gitInstance) {
|
|
13
|
+
debug(`No connection: ${connection}`);
|
|
14
|
+
throw new Error(`No connection: ${connection}`);
|
|
15
|
+
}
|
|
16
|
+
const { client, branch, remoteUrl } = gitInstance;
|
|
17
|
+
if (!remoteUrl) {
|
|
18
|
+
throw new Error(`Remote URL is required for Git repository: ${connection}`);
|
|
19
|
+
}
|
|
20
|
+
const repoName = remoteUrl.split('/').pop().replace('.git', '') + `@${branch}`;
|
|
21
|
+
const repoPath = path_1.default.join(targetDir, repoName);
|
|
22
|
+
// ✅ 리포지토리가 이미 존재하면 Pull, 없으면 Clone 실행
|
|
23
|
+
if (fs_extra_1.default.existsSync(repoPath)) {
|
|
24
|
+
debug(`Repository already exists at ${repoPath}. Pulling latest changes...`);
|
|
25
|
+
await client.cwd(repoPath).pull();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
debug(`Cloning repository ${remoteUrl} into ${repoPath}...`);
|
|
29
|
+
await client.clone(remoteUrl, repoPath, ['-b', branch]);
|
|
30
|
+
}
|
|
31
|
+
return { data: repoPath };
|
|
32
|
+
}
|
|
33
|
+
gitClone.parameterSpec = [{ type: 'string', name: 'targetDir', label: 'git.target-dir' }];
|
|
34
|
+
gitClone.help = 'integration/task/git-clone';
|
|
35
|
+
integration_base_1.TaskRegistry.registerTaskHandler('git-clone', gitClone);
|
|
36
|
+
//# sourceMappingURL=git-clone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-clone.js","sourceRoot":"","sources":["../../../server/engine/task/git-clone.ts"],"names":[],"mappings":";;;AAAA,uEAA2F;AAC3F,wDAAuB;AACvB,gEAAyB;AAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAA;AAE1D,KAAK,UAAU,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IACrD,MAAM,EACJ,UAAU,EACV,MAAM,EAAE,EAAE,SAAS,EAAE,EACtB,GAAG,IAAI,CAAA;IAER,mBAAmB;IACnB,MAAM,WAAW,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACrF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAA;QACrC,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,EAAE,CAAA;IAC9E,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE/C,sCAAsC;IACtC,IAAI,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,gCAAgC,QAAQ,6BAA6B,CAAC,CAAA;QAC5E,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,sBAAsB,SAAS,SAAS,QAAQ,KAAK,CAAC,CAAA;QAC5D,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC3B,CAAC;AAED,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;AACzF,QAAQ,CAAC,IAAI,GAAG,4BAA4B,CAAA;AAE5C,+BAAY,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA","sourcesContent":["import { ConnectionManager, Context, TaskRegistry } from '@things-factory/integration-base'\nimport path from 'path'\nimport fs from 'fs-extra'\n\nconst debug = require('debug')('things-factory:git-clone')\n\nasync function gitClone(step, { domain, data }: Context) {\n const {\n connection,\n params: { targetDir }\n } = step\n\n // ✅ Git 연결 정보 가져오기\n const gitInstance = ConnectionManager.getConnectionInstanceByName(domain, connection)\n if (!gitInstance) {\n debug(`No connection: ${connection}`)\n throw new Error(`No connection: ${connection}`)\n }\n\n const { client, branch, remoteUrl } = gitInstance\n if (!remoteUrl) {\n throw new Error(`Remote URL is required for Git repository: ${connection}`)\n }\n\n const repoName = remoteUrl.split('/').pop().replace('.git', '') + `@${branch}`\n const repoPath = path.join(targetDir, repoName)\n\n // ✅ 리포지토리가 이미 존재하면 Pull, 없으면 Clone 실행\n if (fs.existsSync(repoPath)) {\n debug(`Repository already exists at ${repoPath}. Pulling latest changes...`)\n await client.cwd(repoPath).pull()\n } else {\n debug(`Cloning repository ${remoteUrl} into ${repoPath}...`)\n await client.clone(remoteUrl, repoPath, ['-b', branch])\n }\n\n return { data: repoPath }\n}\n\ngitClone.parameterSpec = [{ type: 'string', name: 'targetDir', label: 'git.target-dir' }]\ngitClone.help = 'integration/task/git-clone'\n\nTaskRegistry.registerTaskHandler('git-clone', gitClone)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
5
|
+
const simple_git_1 = tslib_1.__importDefault(require("simple-git"));
|
|
6
|
+
async function gitCommit(step, { domain, data }) {
|
|
7
|
+
const { repoPath, filePath, message, push } = step.params;
|
|
8
|
+
if (!repoPath || !filePath) {
|
|
9
|
+
throw new Error(`repoPath와 filePath는 필수 파라미터입니다.`);
|
|
10
|
+
}
|
|
11
|
+
const git = (0, simple_git_1.default)(repoPath);
|
|
12
|
+
try {
|
|
13
|
+
// ✅ 변경된 파일을 Git 스테이징 영역에 추가
|
|
14
|
+
await git.add(filePath);
|
|
15
|
+
// ✅ 커밋 메시지가 없으면 기본 메시지 생성
|
|
16
|
+
const commitMessage = message || `AI 리팩토링 적용 - ${new Date().toISOString()}`;
|
|
17
|
+
// ✅ Git 커밋 실행
|
|
18
|
+
await git.commit(commitMessage);
|
|
19
|
+
// ✅ 필요하면 자동 푸시 수행
|
|
20
|
+
if (push) {
|
|
21
|
+
await git.push();
|
|
22
|
+
}
|
|
23
|
+
return { data: { success: true, commitMessage } };
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new Error(`Git 커밋 오류: ${error.message}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// ✅ 태스크 등록
|
|
30
|
+
integration_base_1.TaskRegistry.registerTaskHandler('git-commit', gitCommit);
|
|
31
|
+
//# sourceMappingURL=git-commit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../server/engine/task/git-commit.ts"],"names":[],"mappings":";;;AAAA,uEAAwE;AACxE,oEAAkC;AAGlC,KAAK,UAAU,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IACtD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;IAEzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAA;IAE/B,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEvB,0BAA0B;QAC1B,MAAM,aAAa,GAAG,OAAO,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;QAE3E,cAAc;QACd,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAE/B,kBAAkB;QAClB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAClB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED,WAAW;AACX,+BAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA","sourcesContent":["import { Context, TaskRegistry } from '@things-factory/integration-base'\nimport simpleGit from 'simple-git'\nimport path from 'path'\n\nasync function gitCommit(step, { domain, data }: Context) {\n const { repoPath, filePath, message, push } = step.params\n\n if (!repoPath || !filePath) {\n throw new Error(`repoPath와 filePath는 필수 파라미터입니다.`)\n }\n\n const git = simpleGit(repoPath)\n\n try {\n // ✅ 변경된 파일을 Git 스테이징 영역에 추가\n await git.add(filePath)\n\n // ✅ 커밋 메시지가 없으면 기본 메시지 생성\n const commitMessage = message || `AI 리팩토링 적용 - ${new Date().toISOString()}`\n\n // ✅ Git 커밋 실행\n await git.commit(commitMessage)\n\n // ✅ 필요하면 자동 푸시 수행\n if (push) {\n await git.push()\n }\n\n return { data: { success: true, commitMessage } }\n } catch (error) {\n throw new Error(`Git 커밋 오류: ${error.message}`)\n }\n}\n\n// ✅ 태스크 등록\nTaskRegistry.registerTaskHandler('git-commit', gitCommit)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
5
|
+
const simple_git_1 = tslib_1.__importDefault(require("simple-git"));
|
|
6
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
|
+
async function gitDetectChanges(step, { data }) {
|
|
8
|
+
const { repoPath } = step.params;
|
|
9
|
+
if (!repoPath) {
|
|
10
|
+
throw new Error(`repoPath는 필수 파라미터입니다.`);
|
|
11
|
+
}
|
|
12
|
+
const git = (0, simple_git_1.default)(path_1.default.resolve(repoPath));
|
|
13
|
+
try {
|
|
14
|
+
// ✅ Git 상태 확인
|
|
15
|
+
const status = await git.status();
|
|
16
|
+
// ✅ 변경된 파일 목록 분류
|
|
17
|
+
const changedFiles = {
|
|
18
|
+
modified: status.modified || [],
|
|
19
|
+
created: status.created || [],
|
|
20
|
+
deleted: status.deleted || []
|
|
21
|
+
};
|
|
22
|
+
return { data: changedFiles };
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw new Error(`Git 변경 감지 오류: ${error.message}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// ✅ 태스크 등록
|
|
29
|
+
integration_base_1.TaskRegistry.registerTaskHandler('git-detect-changes', gitDetectChanges);
|
|
30
|
+
//# sourceMappingURL=git-detect-changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-detect-changes.js","sourceRoot":"","sources":["../../../server/engine/task/git-detect-changes.ts"],"names":[],"mappings":";;;AAAA,uEAAwE;AACxE,oEAAkC;AAClC,wDAAuB;AAEvB,KAAK,UAAU,gBAAgB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAW;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;IAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,oBAAS,EAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7C,IAAI,CAAC;QACH,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;QAEjC,iBAAiB;QACjB,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;SAC9B,CAAA;QAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAED,WAAW;AACX,+BAAY,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAA","sourcesContent":["import { Context, TaskRegistry } from '@things-factory/integration-base'\nimport simpleGit from 'simple-git'\nimport path from 'path'\n\nasync function gitDetectChanges(step, { data }: Context) {\n const { repoPath } = step.params\n\n if (!repoPath) {\n throw new Error(`repoPath는 필수 파라미터입니다.`)\n }\n\n const git = simpleGit(path.resolve(repoPath))\n\n try {\n // ✅ Git 상태 확인\n const status = await git.status()\n\n // ✅ 변경된 파일 목록 분류\n const changedFiles = {\n modified: status.modified || [],\n created: status.created || [],\n deleted: status.deleted || []\n }\n\n return { data: changedFiles }\n } catch (error) {\n throw new Error(`Git 변경 감지 오류: ${error.message}`)\n }\n}\n\n// ✅ 태스크 등록\nTaskRegistry.registerTaskHandler('git-detect-changes', gitDetectChanges)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
5
|
+
const simple_git_1 = tslib_1.__importDefault(require("simple-git"));
|
|
6
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
8
|
+
const debug = require('debug')('things-factory:git-pull');
|
|
9
|
+
async function gitPull(step, { domain, data }) {
|
|
10
|
+
const { connection, params: { targetDir } } = step;
|
|
11
|
+
// ✅ Git 연결 정보 가져오기
|
|
12
|
+
const gitInstance = integration_base_1.ConnectionManager.getConnectionInstanceByName(domain, connection);
|
|
13
|
+
if (!gitInstance) {
|
|
14
|
+
debug(`No connection found: ${connection}`);
|
|
15
|
+
throw new Error(`No connection: ${connection}`);
|
|
16
|
+
}
|
|
17
|
+
const { client = (0, simple_git_1.default)(), remoteUrl } = gitInstance;
|
|
18
|
+
if (!remoteUrl) {
|
|
19
|
+
throw new Error(`Remote URL is required for Git repository: ${connection}`);
|
|
20
|
+
}
|
|
21
|
+
// ✅ 리포지토리 경로 계산
|
|
22
|
+
const repoName = remoteUrl.split('/').pop().replace('.git', '');
|
|
23
|
+
const repoPath = path_1.default.join(targetDir, repoName);
|
|
24
|
+
if (!fs_extra_1.default.existsSync(repoPath)) {
|
|
25
|
+
throw new Error(`Repository does not exist at ${repoPath}. Please run "git-clone" first.`);
|
|
26
|
+
}
|
|
27
|
+
// ✅ Git 저장소인지 확인
|
|
28
|
+
const isRepo = await client.cwd(repoPath).checkIsRepo();
|
|
29
|
+
if (!isRepo) {
|
|
30
|
+
throw new Error(`Invalid Git repository at ${repoPath}`);
|
|
31
|
+
}
|
|
32
|
+
// ✅ 최신 변경사항 가져오기 (fetch + pull)
|
|
33
|
+
debug(`Fetching latest changes for ${connection}...`);
|
|
34
|
+
await client.cwd(repoPath).fetch();
|
|
35
|
+
debug(`Pulling latest changes for ${connection}...`);
|
|
36
|
+
await client.cwd(repoPath).pull();
|
|
37
|
+
return { data: repoPath };
|
|
38
|
+
}
|
|
39
|
+
// ✅ 파라미터 정의
|
|
40
|
+
gitPull.parameterSpec = [{ type: 'string', name: 'targetDir', label: 'git.target-dir' }];
|
|
41
|
+
// ✅ 도움말 정의
|
|
42
|
+
gitPull.help = 'integration/task/git-pull';
|
|
43
|
+
// ✅ 태스크 등록
|
|
44
|
+
integration_base_1.TaskRegistry.registerTaskHandler('git-pull', gitPull);
|
|
45
|
+
//# sourceMappingURL=git-pull.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-pull.js","sourceRoot":"","sources":["../../../server/engine/task/git-pull.ts"],"names":[],"mappings":";;;AAAA,uEAA2F;AAC3F,oEAAkC;AAClC,wDAAuB;AACvB,gEAAyB;AAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CAAA;AAEzD,KAAK,UAAU,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAW;IACpD,MAAM,EACJ,UAAU,EACV,MAAM,EAAE,EAAE,SAAS,EAAE,EACtB,GAAG,IAAI,CAAA;IAER,mBAAmB;IACnB,MAAM,WAAW,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACrF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAA;QAC3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,EAAE,MAAM,GAAG,IAAA,oBAAS,GAAE,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE/C,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,iCAAiC,CAAC,CAAA;IAC5F,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,+BAA+B,UAAU,KAAK,CAAC,CAAA;IACrD,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;IAElC,KAAK,CAAC,8BAA8B,UAAU,KAAK,CAAC,CAAA;IACpD,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IAEjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC3B,CAAC;AAED,YAAY;AACZ,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAExF,WAAW;AACX,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAA;AAE1C,WAAW;AACX,+BAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA","sourcesContent":["import { ConnectionManager, Context, TaskRegistry } from '@things-factory/integration-base'\nimport simpleGit from 'simple-git'\nimport path from 'path'\nimport fs from 'fs-extra'\n\nconst debug = require('debug')('things-factory:git-pull')\n\nasync function gitPull(step, { domain, data }: Context) {\n const {\n connection,\n params: { targetDir }\n } = step\n\n // ✅ Git 연결 정보 가져오기\n const gitInstance = ConnectionManager.getConnectionInstanceByName(domain, connection)\n if (!gitInstance) {\n debug(`No connection found: ${connection}`)\n throw new Error(`No connection: ${connection}`)\n }\n\n const { client = simpleGit(), remoteUrl } = gitInstance\n if (!remoteUrl) {\n throw new Error(`Remote URL is required for Git repository: ${connection}`)\n }\n\n // ✅ 리포지토리 경로 계산\n const repoName = remoteUrl.split('/').pop().replace('.git', '')\n const repoPath = path.join(targetDir, repoName)\n\n if (!fs.existsSync(repoPath)) {\n throw new Error(`Repository does not exist at ${repoPath}. Please run \"git-clone\" first.`)\n }\n\n // ✅ Git 저장소인지 확인\n const isRepo = await client.cwd(repoPath).checkIsRepo()\n if (!isRepo) {\n throw new Error(`Invalid Git repository at ${repoPath}`)\n }\n\n // ✅ 최신 변경사항 가져오기 (fetch + pull)\n debug(`Fetching latest changes for ${connection}...`)\n await client.cwd(repoPath).fetch()\n\n debug(`Pulling latest changes for ${connection}...`)\n await client.cwd(repoPath).pull()\n\n return { data: repoPath }\n}\n\n// ✅ 파라미터 정의\ngitPull.parameterSpec = [{ type: 'string', name: 'targetDir', label: 'git.target-dir' }]\n\n// ✅ 도움말 정의\ngitPull.help = 'integration/task/git-pull'\n\n// ✅ 태스크 등록\nTaskRegistry.registerTaskHandler('git-pull', gitPull)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,0BAAuB;AACvB,yBAAsB","sourcesContent":["import './git-clone.js'\nimport './git-pull.js'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './engine/index.js';
|