task-pipeliner 0.3.4 → 0.3.6

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/README.ko.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 조건 기반 실행과 아름다운 CLI 출력을 제공하는 강력한 워크플로우 오케스트레이션 도구
4
4
 
5
- **버전:** 0.3.4
5
+ **버전:** 0.3.6
6
6
 
7
7
  ![fox2](https://github.com/user-attachments/assets/fdf8d786-6a91-4d2d-9dc1-72be6f3ccd98)
8
8
 
@@ -224,7 +224,7 @@ npx tp run workflow.yaml
224
224
  name: My Workflow
225
225
 
226
226
  steps:
227
- - run: echo "Hello, World!"
227
+ - run: 'echo "Hello, World!"'
228
228
 
229
229
  - choose:
230
230
  message: "무엇을 하시겠습니까?"
@@ -238,12 +238,12 @@ steps:
238
238
  - when:
239
239
  var:
240
240
  action: build
241
- run: npm run build
241
+ run: 'npm run build'
242
242
 
243
243
  - when:
244
244
  var:
245
245
  action: test
246
- run: npm test
246
+ run: 'npm test'
247
247
  ```
248
248
 
249
249
  **JSON 형식 (`workflow.json`):**
@@ -509,12 +509,12 @@ steps: # 필수: 실행할 단계 배열
509
509
  ```yaml
510
510
  # 간단한 명령
511
511
  steps:
512
- - run: npm install
512
+ - run: 'npm install'
513
513
 
514
514
  # 조건이 있는 명령
515
515
  - when:
516
516
  file: ./package.json
517
- run: npm install
517
+ run: 'npm install'
518
518
 
519
519
  # 변수 입력
520
520
  - choose:
@@ -529,55 +529,55 @@ steps:
529
529
  as: version
530
530
 
531
531
  # 변수 치환이 있는 명령
532
- - run: echo "Building {{version}}"
532
+ - run: 'echo "Building {{version}}"'
533
533
 
534
534
  # 타임아웃이 있는 명령 (30초)
535
- - run: npm install
535
+ - run: 'npm install'
536
536
  timeout: 30
537
537
 
538
538
  # 재시도가 있는 명령 (최대 3번 재시도)
539
- - run: npm install
539
+ - run: 'npm install'
540
540
  retry: 3
541
541
 
542
542
  # 무한 재시도 명령 (성공할 때까지 재시도)
543
- - run: npm install
543
+ - run: 'npm install'
544
544
  retry: Infinity
545
545
 
546
546
  # PM2처럼 프로세스 관리: 서버가 죽으면 자동 재시작
547
- - run: node server.js
547
+ - run: 'node server.js'
548
548
  retry: Infinity
549
549
 
550
550
  # 타임아웃과 재시도 모두 사용
551
- - run: npm install
551
+ - run: 'npm install'
552
552
  timeout: 60
553
553
  retry: 2
554
554
 
555
555
  # 실패 시 fallback 명령 실행
556
- - run: pnpm lint
556
+ - run: 'pnpm lint'
557
557
  onError:
558
- run: pnpm lint:fix
558
+ run: 'pnpm lint:fix'
559
559
 
560
560
  # 여러 단계로 이어지는 fallback 체인
561
- - run: step1
561
+ - run: 'step1'
562
562
  onError:
563
- run: step2
563
+ run: 'step2'
564
564
  onError:
565
- run: step3
565
+ run: 'step3'
566
566
 
567
567
  # 실패를 기록만 하고 워크플로우는 계속 진행
568
- - run: pnpm typecheck
568
+ - run: 'pnpm typecheck'
569
569
  continue: true
570
570
  onError:
571
- run: echo "Type check failed, but continuing..."
571
+ run: 'echo "Type check failed, but continuing..."'
572
572
 
573
573
  # 커스텀 쉘 사용 (스텝별)
574
- - run: echo $SHELL
574
+ - run: 'echo $SHELL'
575
575
  shell:
576
576
  - zsh
577
577
  - -c
578
578
 
579
579
  # bash 로그인 쉘 사용
580
- - run: source ~/.bashrc && echo "프로필 로드됨"
580
+ - run: 'source ~/.bashrc && echo "프로필 로드됨"'
581
581
  shell:
582
582
  - bash
583
583
  - -lc
@@ -679,7 +679,7 @@ steps:
679
679
  - when:
680
680
  var: # 변수를 사용한다는 정의
681
681
  env: prod # 'env' 변수가 'prod'와 같은지 확인
682
- run: echo "프로덕션에 배포 중"
682
+ run: 'echo "프로덕션에 배포 중"'
683
683
  ```
684
684
 
685
685
  ---
@@ -733,13 +733,13 @@ steps:
733
733
  **사용:**
734
734
  ```yaml
735
735
  # 명령에서 사용
736
- - run: echo "Building version {{version}}"
736
+ - run: 'echo "Building version {{version}}"'
737
737
 
738
738
  # 조건에서 확인
739
739
  - when:
740
740
  var:
741
741
  version: "1.0.0"
742
- run: echo "안정 버전 배포 중"
742
+ run: 'echo "안정 버전 배포 중"'
743
743
  ```
744
744
 
745
745
  ---
@@ -768,19 +768,19 @@ steps:
768
768
  # 기본 병렬 실행
769
769
  # parallel 내부의 각 step은 `-`로 시작하며, `steps`와 동일한 형식
770
770
  - parallel:
771
- - run: npm run test:unit
772
- - run: npm run test:integration
773
- - run: npm run lint
771
+ - run: 'npm run test:unit'
772
+ - run: 'npm run test:integration'
773
+ - run: 'npm run lint'
774
774
 
775
775
  # 조건이 있는 병렬
776
776
  # 각 step은 자신만의 `when` 조건을 가질 수 있습니다
777
777
  - parallel:
778
778
  - when:
779
779
  file: ./src
780
- run: echo "프론트엔드 빌드 중..."
780
+ run: 'echo "프론트엔드 빌드 중..."'
781
781
  - when:
782
782
  file: ./api
783
- run: echo "백엔드 빌드 중..."
783
+ run: 'echo "백엔드 빌드 중..."'
784
784
 
785
785
  # 조건부 병렬 블록
786
786
  # 전체 parallel 블록에 `when` 조건을 적용할 수 있습니다
@@ -788,15 +788,15 @@ steps:
788
788
  var:
789
789
  env: staging
790
790
  parallel:
791
- - run: npm run test
792
- - run: npm run lint
791
+ - run: 'npm run test'
792
+ - run: 'npm run lint'
793
793
 
794
794
  # 중첩 parallel (허용); parallel 내부에는 run / parallel / fail만 사용
795
795
  - parallel:
796
- - run: npm run test
796
+ - run: 'npm run test'
797
797
  - parallel:
798
- - run: npm run lint
799
- - run: npm run typecheck
798
+ - run: 'npm run lint'
799
+ - run: 'npm run typecheck'
800
800
  ```
801
801
 
802
802
  **동작:**
@@ -870,16 +870,16 @@ when:
870
870
  ```yaml
871
871
  - when:
872
872
  file: ./dist
873
- run: echo "빌드가 존재합니다"
873
+ run: 'echo "빌드가 존재합니다"'
874
874
 
875
875
  - when:
876
876
  file: ./package.json
877
- run: npm install
877
+ run: 'npm install'
878
878
 
879
879
  - when:
880
880
  not:
881
881
  file: ./node_modules
882
- run: npm install
882
+ run: 'npm install'
883
883
  ```
884
884
 
885
885
  **동작:**
@@ -910,20 +910,20 @@ when:
910
910
  - when:
911
911
  var:
912
912
  env: prod
913
- run: echo "프로덕션에 배포 중"
913
+ run: 'echo "프로덕션에 배포 중"'
914
914
 
915
915
  # version이 특정 값과 같은지 확인
916
916
  - when:
917
917
  var:
918
918
  version: "1.0.0"
919
- run: echo "안정 버전 배포 중"
919
+ run: 'echo "안정 버전 배포 중"'
920
920
 
921
921
  # 여러 변수 확인 (모두 일치해야 함)
922
922
  - when:
923
923
  var:
924
924
  env: staging
925
925
  version: "2.0.0"
926
- run: echo "스테이징에 v2.0.0 배포 중"
926
+ run: 'echo "스테이징에 v2.0.0 배포 중"'
927
927
  ```
928
928
 
929
929
  **동작:**
@@ -955,12 +955,12 @@ when:
955
955
  # 변수가 존재하는지 확인
956
956
  - when:
957
957
  var: version
958
- run: echo "Version: {{version}}"
958
+ run: 'echo "Version: {{version}}"'
959
959
 
960
960
  # 'has' 별칭 사용
961
961
  - when:
962
962
  has: projectName
963
- run: echo "Project: {{projectName}}"
963
+ run: 'echo "Project: {{projectName}}"'
964
964
  ```
965
965
 
966
966
  **동작:**
@@ -994,7 +994,7 @@ when:
994
994
  - file: ./dist
995
995
  - var:
996
996
  env: production
997
- run: echo "프로덕션 빌드 준비 완료"
997
+ run: 'echo "프로덕션 빌드 준비 완료"'
998
998
 
999
999
  - when:
1000
1000
  all:
@@ -1003,7 +1003,7 @@ when:
1003
1003
  - var:
1004
1004
  version: "2.0.0"
1005
1005
  - file: ./dist
1006
- run: echo "스테이징에 v2.0.0 배포 중"
1006
+ run: 'echo "스테이징에 v2.0.0 배포 중"'
1007
1007
  ```
1008
1008
 
1009
1009
  **동작:**
@@ -1034,13 +1034,13 @@ when:
1034
1034
  env: staging
1035
1035
  - var:
1036
1036
  env: production
1037
- run: echo "서버에 배포 중"
1037
+ run: 'echo "서버에 배포 중"'
1038
1038
 
1039
1039
  - when:
1040
1040
  any:
1041
1041
  - file: ./dist
1042
1042
  - file: ./build
1043
- run: echo "빌드 출력을 찾았습니다"
1043
+ run: 'echo "빌드 출력을 찾았습니다"'
1044
1044
  ```
1045
1045
 
1046
1046
  **동작:**
@@ -1075,7 +1075,7 @@ when:
1075
1075
  not:
1076
1076
  var:
1077
1077
  env: prod
1078
- run: echo "프로덕션 환경이 아닙니다"
1078
+ run: 'echo "프로덕션 환경이 아닙니다"'
1079
1079
 
1080
1080
  # 복잡한 부정
1081
1081
  - when:
@@ -1084,7 +1084,7 @@ when:
1084
1084
  - file: ./dist
1085
1085
  - var:
1086
1086
  env: prod
1087
- run: echo "프로덕션 준비가 되지 않았습니다"
1087
+ run: 'echo "프로덕션 준비가 되지 않았습니다"'
1088
1088
  ```
1089
1089
 
1090
1090
  **동작:**
@@ -1112,7 +1112,7 @@ when:
1112
1112
  - not:
1113
1113
  var:
1114
1114
  version: "0.0.0"
1115
- run: echo "배포 준비 완료"
1115
+ run: 'echo "배포 준비 완료"'
1116
1116
 
1117
1117
  # 여러 수준의 중첩
1118
1118
  - when:
@@ -1126,7 +1126,7 @@ when:
1126
1126
  env: staging
1127
1127
  - not:
1128
1128
  file: ./test-results
1129
- run: echo "조건부 배포"
1129
+ run: 'echo "조건부 배포"'
1130
1130
  ```
1131
1131
 
1132
1132
  ---
@@ -1137,9 +1137,9 @@ when:
1137
1137
 
1138
1138
  **문법:**
1139
1139
  ```yaml
1140
- run: echo "{{variableName}}"
1140
+ run: 'echo "{{variableName}}"'
1141
1141
  # 또는 선택적으로 공백 사용
1142
- run: echo "{{ variableName }}"
1142
+ run: 'echo "{{ variableName }}"'
1143
1143
  ```
1144
1144
 
1145
1145
  **⚠️ 중요: YAML 문법 규칙**
@@ -1148,9 +1148,9 @@ run: echo "{{ variableName }}"
1148
1148
 
1149
1149
  ✅ **안전한 패턴:**
1150
1150
  ```yaml
1151
- # 단어로 시작 (따옴표 불필요)
1152
- - run: echo "Building {{version}}..."
1153
- - run: npm run build --version={{version}}
1151
+ # 작은따옴표로 감싸기 (권장)
1152
+ - run: 'echo "Building {{version}}..."'
1153
+ - run: 'npm run build --version={{version}}'
1154
1154
 
1155
1155
  # 전체 명령어를 작은따옴표로 감싸기
1156
1156
  - run: 'echo "Selected: {{mode}}"'
@@ -1171,7 +1171,7 @@ run: echo "{{ variableName }}"
1171
1171
  - prompt:
1172
1172
  message: "프로젝트 이름을 입력하세요:"
1173
1173
  as: projectName
1174
- - run: echo "Building {{projectName}}..."
1174
+ - run: 'echo "Building {{projectName}}..."'
1175
1175
 
1176
1176
  # 선택 변수 사용
1177
1177
  - choose:
@@ -1180,10 +1180,10 @@ run: echo "{{ variableName }}"
1180
1180
  - id: dev
1181
1181
  label: "개발"
1182
1182
  as: env
1183
- - run: echo "Deploying to {{env}}"
1183
+ - run: 'echo "Deploying to {{env}}"'
1184
1184
 
1185
1185
  # 여러 변수
1186
- - run: echo "Building {{projectName}} version {{version}} for {{env}}"
1186
+ - run: 'echo "Building {{projectName}} version {{version}} for {{env}}"'
1187
1187
  ```
1188
1188
 
1189
1189
  **동작:**
@@ -1203,7 +1203,7 @@ baseDir: ./
1203
1203
 
1204
1204
  steps:
1205
1205
  # 1. 간단한 명령
1206
- - run: echo "워크플로우 시작 중..."
1206
+ - run: 'echo "워크플로우 시작 중..."'
1207
1207
 
1208
1208
  # 2. 변수 저장이 있는 사용자 선택
1209
1209
  - choose:
@@ -1229,12 +1229,12 @@ steps:
1229
1229
  - when:
1230
1230
  var:
1231
1231
  env: dev
1232
- run: echo "개발 환경에 배포 중..."
1232
+ run: 'echo "개발 환경에 배포 중..."'
1233
1233
 
1234
1234
  - when:
1235
1235
  var:
1236
1236
  env: staging
1237
- run: echo "스테이징에 배포 중..."
1237
+ run: 'echo "스테이징에 배포 중..."'
1238
1238
 
1239
1239
  # 5. 복잡한 조건 (all)
1240
1240
  - when:
@@ -1243,22 +1243,22 @@ steps:
1243
1243
  env: prod
1244
1244
  - var: deployReason
1245
1245
  - file: ./dist
1246
- run: echo "프로덕션 배포 승인됨"
1246
+ run: 'echo "프로덕션 배포 승인됨"'
1247
1247
 
1248
1248
  # 6. 병렬 실행
1249
1249
  - parallel:
1250
- - run: npm run test:unit
1251
- - run: npm run test:integration
1252
- - run: npm run lint
1250
+ - run: 'npm run test:unit'
1251
+ - run: 'npm run test:integration'
1252
+ - run: 'npm run lint'
1253
1253
 
1254
1254
  # 6.5. 스텝별 쉘 오버라이드
1255
- - run: echo "zsh로 실행"
1255
+ - run: 'echo "zsh로 실행"'
1256
1256
  shell: [zsh, -c] # 이 스텝만 워크플로우 쉘 오버라이드
1257
1257
 
1258
1258
  # 7. 파일 존재 확인
1259
1259
  - when:
1260
1260
  file: ./test-results
1261
- run: echo "테스트 완료"
1261
+ run: 'echo "테스트 완료"'
1262
1262
 
1263
1263
  # 8. 결합된 조건 (any)
1264
1264
  - when:
@@ -1267,7 +1267,7 @@ steps:
1267
1267
  env: staging
1268
1268
  - var:
1269
1269
  env: prod
1270
- run: echo "서버에 배포 중..."
1270
+ run: 'echo "서버에 배포 중..."'
1271
1271
 
1272
1272
  # 9. 부정
1273
1273
  - when:
@@ -1277,7 +1277,7 @@ steps:
1277
1277
  message: "빌드 출력을 찾을 수 없습니다"
1278
1278
 
1279
1279
  # 10. 변수 치환
1280
- - run: echo "Deploying {{projectName}} version {{version}} to {{env}}"
1280
+ - run: 'echo "Deploying {{projectName}} version {{version}} to {{env}}"'
1281
1281
  ```
1282
1282
 
1283
1283
  ---