@actions/workflow-parser 0.2.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.
Files changed (292) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +5 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/model/convert.d.ts +31 -0
  8. package/dist/model/convert.d.ts.map +1 -0
  9. package/dist/model/convert.js +105 -0
  10. package/dist/model/convert.js.map +1 -0
  11. package/dist/model/converter/concurrency.d.ts +5 -0
  12. package/dist/model/converter/concurrency.d.ts.map +1 -0
  13. package/dist/model/converter/concurrency.js +30 -0
  14. package/dist/model/converter/concurrency.js.map +1 -0
  15. package/dist/model/converter/container.d.ts +6 -0
  16. package/dist/model/converter/container.d.ts.map +1 -0
  17. package/dist/model/converter/container.js +97 -0
  18. package/dist/model/converter/container.js.map +1 -0
  19. package/dist/model/converter/cron-constants.d.ts +44 -0
  20. package/dist/model/converter/cron-constants.d.ts.map +1 -0
  21. package/dist/model/converter/cron-constants.js +30 -0
  22. package/dist/model/converter/cron-constants.js.map +1 -0
  23. package/dist/model/converter/cron.d.ts +3 -0
  24. package/dist/model/converter/cron.d.ts.map +1 -0
  25. package/dist/model/converter/cron.js +92 -0
  26. package/dist/model/converter/cron.js.map +1 -0
  27. package/dist/model/converter/events.d.ts +5 -0
  28. package/dist/model/converter/events.d.ts.map +1 -0
  29. package/dist/model/converter/events.js +123 -0
  30. package/dist/model/converter/events.js.map +1 -0
  31. package/dist/model/converter/handle-errors.d.ts +4 -0
  32. package/dist/model/converter/handle-errors.d.ts.map +1 -0
  33. package/dist/model/converter/handle-errors.js +18 -0
  34. package/dist/model/converter/handle-errors.js.map +1 -0
  35. package/dist/model/converter/id-builder.d.ts +23 -0
  36. package/dist/model/converter/id-builder.d.ts.map +1 -0
  37. package/dist/model/converter/id-builder.js +113 -0
  38. package/dist/model/converter/id-builder.js.map +1 -0
  39. package/dist/model/converter/job/environment.d.ts +5 -0
  40. package/dist/model/converter/job/environment.d.ts.map +1 -0
  41. package/dist/model/converter/job/environment.js +28 -0
  42. package/dist/model/converter/job/environment.js.map +1 -0
  43. package/dist/model/converter/job/inputs.d.ts +8 -0
  44. package/dist/model/converter/job/inputs.d.ts.map +1 -0
  45. package/dist/model/converter/job/inputs.js +38 -0
  46. package/dist/model/converter/job/inputs.js.map +1 -0
  47. package/dist/model/converter/job/runs-on.d.ts +9 -0
  48. package/dist/model/converter/job/runs-on.d.ts.map +1 -0
  49. package/dist/model/converter/job/runs-on.js +78 -0
  50. package/dist/model/converter/job/runs-on.js.map +1 -0
  51. package/dist/model/converter/job/secrets.d.ts +4 -0
  52. package/dist/model/converter/job/secrets.d.ts.map +1 -0
  53. package/dist/model/converter/job/secrets.js +32 -0
  54. package/dist/model/converter/job/secrets.js.map +1 -0
  55. package/dist/model/converter/job.d.ts +5 -0
  56. package/dist/model/converter/job.d.ts.map +1 -0
  57. package/dist/model/converter/job.js +144 -0
  58. package/dist/model/converter/job.js.map +1 -0
  59. package/dist/model/converter/jobs.d.ts +5 -0
  60. package/dist/model/converter/jobs.d.ts.map +1 -0
  61. package/dist/model/converter/jobs.js +74 -0
  62. package/dist/model/converter/jobs.js.map +1 -0
  63. package/dist/model/converter/referencedWorkflow.d.ts +5 -0
  64. package/dist/model/converter/referencedWorkflow.d.ts.map +1 -0
  65. package/dist/model/converter/referencedWorkflow.js +85 -0
  66. package/dist/model/converter/referencedWorkflow.js.map +1 -0
  67. package/dist/model/converter/steps.d.ts +5 -0
  68. package/dist/model/converter/steps.d.ts.map +1 -0
  69. package/dist/model/converter/steps.js +113 -0
  70. package/dist/model/converter/steps.js.map +1 -0
  71. package/dist/model/converter/string-list.d.ts +3 -0
  72. package/dist/model/converter/string-list.d.ts.map +1 -0
  73. package/dist/model/converter/string-list.js +8 -0
  74. package/dist/model/converter/string-list.js.map +1 -0
  75. package/dist/model/converter/workflow-call.d.ts +5 -0
  76. package/dist/model/converter/workflow-call.d.ts.map +1 -0
  77. package/dist/model/converter/workflow-call.js +45 -0
  78. package/dist/model/converter/workflow-call.js.map +1 -0
  79. package/dist/model/converter/workflow-dispatch.d.ts +9 -0
  80. package/dist/model/converter/workflow-dispatch.d.ts.map +1 -0
  81. package/dist/model/converter/workflow-dispatch.js +82 -0
  82. package/dist/model/converter/workflow-dispatch.js.map +1 -0
  83. package/dist/model/type-guards.d.ts +6 -0
  84. package/dist/model/type-guards.d.ts.map +1 -0
  85. package/dist/model/type-guards.js +13 -0
  86. package/dist/model/type-guards.js.map +1 -0
  87. package/dist/model/workflow-template.d.ts +157 -0
  88. package/dist/model/workflow-template.d.ts.map +1 -0
  89. package/dist/model/workflow-template.js +8 -0
  90. package/dist/model/workflow-template.js.map +1 -0
  91. package/dist/templates/allowed-context.d.ts +6 -0
  92. package/dist/templates/allowed-context.d.ts.map +1 -0
  93. package/dist/templates/allowed-context.js +30 -0
  94. package/dist/templates/allowed-context.js.map +1 -0
  95. package/dist/templates/json-object-reader.d.ts +20 -0
  96. package/dist/templates/json-object-reader.d.ts.map +1 -0
  97. package/dist/templates/json-object-reader.js +135 -0
  98. package/dist/templates/json-object-reader.js.map +1 -0
  99. package/dist/templates/object-reader.d.ts +15 -0
  100. package/dist/templates/object-reader.d.ts.map +1 -0
  101. package/dist/templates/object-reader.js +2 -0
  102. package/dist/templates/object-reader.js.map +1 -0
  103. package/dist/templates/parse-event.d.ts +16 -0
  104. package/dist/templates/parse-event.d.ts.map +1 -0
  105. package/dist/templates/parse-event.js +17 -0
  106. package/dist/templates/parse-event.js.map +1 -0
  107. package/dist/templates/schema/boolean-definition.d.ts +10 -0
  108. package/dist/templates/schema/boolean-definition.d.ts.map +1 -0
  109. package/dist/templates/schema/boolean-definition.js +41 -0
  110. package/dist/templates/schema/boolean-definition.js.map +1 -0
  111. package/dist/templates/schema/definition-info.d.ts +16 -0
  112. package/dist/templates/schema/definition-info.d.ts.map +1 -0
  113. package/dist/templates/schema/definition-info.js +40 -0
  114. package/dist/templates/schema/definition-info.js.map +1 -0
  115. package/dist/templates/schema/definition-type.d.ts +11 -0
  116. package/dist/templates/schema/definition-type.d.ts.map +1 -0
  117. package/dist/templates/schema/definition-type.js +12 -0
  118. package/dist/templates/schema/definition-type.js.map +1 -0
  119. package/dist/templates/schema/definition.d.ts +24 -0
  120. package/dist/templates/schema/definition.d.ts.map +1 -0
  121. package/dist/templates/schema/definition.js +62 -0
  122. package/dist/templates/schema/definition.js.map +1 -0
  123. package/dist/templates/schema/index.d.ts +2 -0
  124. package/dist/templates/schema/index.d.ts.map +1 -0
  125. package/dist/templates/schema/index.js +2 -0
  126. package/dist/templates/schema/index.js.map +1 -0
  127. package/dist/templates/schema/mapping-definition.d.ts +16 -0
  128. package/dist/templates/schema/mapping-definition.d.ts.map +1 -0
  129. package/dist/templates/schema/mapping-definition.js +81 -0
  130. package/dist/templates/schema/mapping-definition.js.map +1 -0
  131. package/dist/templates/schema/null-definition.d.ts +10 -0
  132. package/dist/templates/schema/null-definition.d.ts.map +1 -0
  133. package/dist/templates/schema/null-definition.js +41 -0
  134. package/dist/templates/schema/null-definition.js.map +1 -0
  135. package/dist/templates/schema/number-definition.d.ts +10 -0
  136. package/dist/templates/schema/number-definition.d.ts.map +1 -0
  137. package/dist/templates/schema/number-definition.js +41 -0
  138. package/dist/templates/schema/number-definition.js.map +1 -0
  139. package/dist/templates/schema/one-of-definition.d.ts +15 -0
  140. package/dist/templates/schema/one-of-definition.d.ts.map +1 -0
  141. package/dist/templates/schema/one-of-definition.js +154 -0
  142. package/dist/templates/schema/one-of-definition.js.map +1 -0
  143. package/dist/templates/schema/property-definition.d.ts +8 -0
  144. package/dist/templates/schema/property-definition.d.ts.map +1 -0
  145. package/dist/templates/schema/property-definition.js +31 -0
  146. package/dist/templates/schema/property-definition.js.map +1 -0
  147. package/dist/templates/schema/scalar-definition.d.ts +7 -0
  148. package/dist/templates/schema/scalar-definition.d.ts.map +1 -0
  149. package/dist/templates/schema/scalar-definition.js +7 -0
  150. package/dist/templates/schema/scalar-definition.js.map +1 -0
  151. package/dist/templates/schema/sequence-definition.d.ts +11 -0
  152. package/dist/templates/schema/sequence-definition.d.ts.map +1 -0
  153. package/dist/templates/schema/sequence-definition.js +47 -0
  154. package/dist/templates/schema/sequence-definition.js.map +1 -0
  155. package/dist/templates/schema/string-definition.d.ts +14 -0
  156. package/dist/templates/schema/string-definition.d.ts.map +1 -0
  157. package/dist/templates/schema/string-definition.js +79 -0
  158. package/dist/templates/schema/string-definition.js.map +1 -0
  159. package/dist/templates/schema/template-schema.d.ts +47 -0
  160. package/dist/templates/schema/template-schema.d.ts.map +1 -0
  161. package/dist/templates/schema/template-schema.js +377 -0
  162. package/dist/templates/schema/template-schema.js.map +1 -0
  163. package/dist/templates/template-constants.d.ts +49 -0
  164. package/dist/templates/template-constants.d.ts.map +1 -0
  165. package/dist/templates/template-constants.js +49 -0
  166. package/dist/templates/template-constants.js.map +1 -0
  167. package/dist/templates/template-context.d.ts +66 -0
  168. package/dist/templates/template-context.d.ts.map +1 -0
  169. package/dist/templates/template-context.js +118 -0
  170. package/dist/templates/template-context.js.map +1 -0
  171. package/dist/templates/template-reader.d.ts +9 -0
  172. package/dist/templates/template-reader.d.ts.map +1 -0
  173. package/dist/templates/template-reader.js +595 -0
  174. package/dist/templates/template-reader.js.map +1 -0
  175. package/dist/templates/template-validation-error.d.ts +14 -0
  176. package/dist/templates/template-validation-error.d.ts.map +1 -0
  177. package/dist/templates/template-validation-error.js +21 -0
  178. package/dist/templates/template-validation-error.js.map +1 -0
  179. package/dist/templates/tokens/basic-expression-token.d.ts +27 -0
  180. package/dist/templates/tokens/basic-expression-token.d.ts.map +1 -0
  181. package/dist/templates/tokens/basic-expression-token.js +38 -0
  182. package/dist/templates/tokens/basic-expression-token.js.map +1 -0
  183. package/dist/templates/tokens/boolean-token.d.ts +12 -0
  184. package/dist/templates/tokens/boolean-token.d.ts.map +1 -0
  185. package/dist/templates/tokens/boolean-token.js +23 -0
  186. package/dist/templates/tokens/boolean-token.js.map +1 -0
  187. package/dist/templates/tokens/expression-token.d.ts +11 -0
  188. package/dist/templates/tokens/expression-token.d.ts.map +1 -0
  189. package/dist/templates/tokens/expression-token.js +24 -0
  190. package/dist/templates/tokens/expression-token.js.map +1 -0
  191. package/dist/templates/tokens/index.d.ts +14 -0
  192. package/dist/templates/tokens/index.d.ts.map +1 -0
  193. package/dist/templates/tokens/index.js +14 -0
  194. package/dist/templates/tokens/index.js.map +1 -0
  195. package/dist/templates/tokens/insert-expression-token.d.ts +12 -0
  196. package/dist/templates/tokens/insert-expression-token.d.ts.map +1 -0
  197. package/dist/templates/tokens/insert-expression-token.js +26 -0
  198. package/dist/templates/tokens/insert-expression-token.js.map +1 -0
  199. package/dist/templates/tokens/key-value-pair.d.ts +8 -0
  200. package/dist/templates/tokens/key-value-pair.d.ts.map +1 -0
  201. package/dist/templates/tokens/key-value-pair.js +7 -0
  202. package/dist/templates/tokens/key-value-pair.js.map +1 -0
  203. package/dist/templates/tokens/literal-token.d.ts +14 -0
  204. package/dist/templates/tokens/literal-token.d.ts.map +1 -0
  205. package/dist/templates/tokens/literal-token.js +22 -0
  206. package/dist/templates/tokens/literal-token.js.map +1 -0
  207. package/dist/templates/tokens/mapping-token.d.ts +20 -0
  208. package/dist/templates/tokens/mapping-token.d.ts.map +1 -0
  209. package/dist/templates/tokens/mapping-token.js +58 -0
  210. package/dist/templates/tokens/mapping-token.js.map +1 -0
  211. package/dist/templates/tokens/null-token.d.ts +10 -0
  212. package/dist/templates/tokens/null-token.d.ts.map +1 -0
  213. package/dist/templates/tokens/null-token.js +19 -0
  214. package/dist/templates/tokens/null-token.js.map +1 -0
  215. package/dist/templates/tokens/number-token.d.ts +12 -0
  216. package/dist/templates/tokens/number-token.d.ts.map +1 -0
  217. package/dist/templates/tokens/number-token.js +23 -0
  218. package/dist/templates/tokens/number-token.js.map +1 -0
  219. package/dist/templates/tokens/scalar-token.d.ts +14 -0
  220. package/dist/templates/tokens/scalar-token.d.ts.map +1 -0
  221. package/dist/templates/tokens/scalar-token.js +22 -0
  222. package/dist/templates/tokens/scalar-token.js.map +1 -0
  223. package/dist/templates/tokens/sequence-token.d.ts +18 -0
  224. package/dist/templates/tokens/sequence-token.d.ts.map +1 -0
  225. package/dist/templates/tokens/sequence-token.js +47 -0
  226. package/dist/templates/tokens/sequence-token.js.map +1 -0
  227. package/dist/templates/tokens/serialization.d.ts +21 -0
  228. package/dist/templates/tokens/serialization.d.ts.map +1 -0
  229. package/dist/templates/tokens/serialization.js +2 -0
  230. package/dist/templates/tokens/serialization.js.map +1 -0
  231. package/dist/templates/tokens/string-token.d.ts +12 -0
  232. package/dist/templates/tokens/string-token.d.ts.map +1 -0
  233. package/dist/templates/tokens/string-token.js +21 -0
  234. package/dist/templates/tokens/string-token.js.map +1 -0
  235. package/dist/templates/tokens/template-token.d.ts +70 -0
  236. package/dist/templates/tokens/template-token.d.ts.map +1 -0
  237. package/dist/templates/tokens/template-token.js +138 -0
  238. package/dist/templates/tokens/template-token.js.map +1 -0
  239. package/dist/templates/tokens/token-range.d.ts +12 -0
  240. package/dist/templates/tokens/token-range.d.ts.map +1 -0
  241. package/dist/templates/tokens/token-range.js +2 -0
  242. package/dist/templates/tokens/token-range.js.map +1 -0
  243. package/dist/templates/tokens/traversal-state.d.ts +12 -0
  244. package/dist/templates/tokens/traversal-state.d.ts.map +1 -0
  245. package/dist/templates/tokens/traversal-state.js +54 -0
  246. package/dist/templates/tokens/traversal-state.js.map +1 -0
  247. package/dist/templates/tokens/type-guards.d.ts +18 -0
  248. package/dist/templates/tokens/type-guards.d.ts.map +1 -0
  249. package/dist/templates/tokens/type-guards.js +28 -0
  250. package/dist/templates/tokens/type-guards.js.map +1 -0
  251. package/dist/templates/tokens/types.d.ts +12 -0
  252. package/dist/templates/tokens/types.d.ts.map +1 -0
  253. package/dist/templates/tokens/types.js +37 -0
  254. package/dist/templates/tokens/types.js.map +1 -0
  255. package/dist/templates/trace-writer.d.ts +11 -0
  256. package/dist/templates/trace-writer.d.ts.map +1 -0
  257. package/dist/templates/trace-writer.js +12 -0
  258. package/dist/templates/trace-writer.js.map +1 -0
  259. package/dist/test-utils/null-trace.d.ts +3 -0
  260. package/dist/test-utils/null-trace.d.ts.map +1 -0
  261. package/dist/test-utils/null-trace.js +3 -0
  262. package/dist/test-utils/null-trace.js.map +1 -0
  263. package/dist/workflow-v1.0.json +2511 -0
  264. package/dist/workflows/file-provider.d.ts +6 -0
  265. package/dist/workflows/file-provider.d.ts.map +1 -0
  266. package/dist/workflows/file-provider.js +2 -0
  267. package/dist/workflows/file-provider.js.map +1 -0
  268. package/dist/workflows/file-reference.d.ts +13 -0
  269. package/dist/workflows/file-reference.d.ts.map +1 -0
  270. package/dist/workflows/file-reference.js +25 -0
  271. package/dist/workflows/file-reference.js.map +1 -0
  272. package/dist/workflows/file.d.ts +5 -0
  273. package/dist/workflows/file.d.ts.map +1 -0
  274. package/dist/workflows/file.js +2 -0
  275. package/dist/workflows/file.js.map +1 -0
  276. package/dist/workflows/workflow-constants.d.ts +2 -0
  277. package/dist/workflows/workflow-constants.d.ts.map +1 -0
  278. package/dist/workflows/workflow-constants.js +2 -0
  279. package/dist/workflows/workflow-constants.js.map +1 -0
  280. package/dist/workflows/workflow-parser.d.ts +11 -0
  281. package/dist/workflows/workflow-parser.d.ts.map +1 -0
  282. package/dist/workflows/workflow-parser.js +28 -0
  283. package/dist/workflows/workflow-parser.js.map +1 -0
  284. package/dist/workflows/workflow-schema.d.ts +3 -0
  285. package/dist/workflows/workflow-schema.d.ts.map +1 -0
  286. package/dist/workflows/workflow-schema.js +12 -0
  287. package/dist/workflows/workflow-schema.js.map +1 -0
  288. package/dist/workflows/yaml-object-reader.d.ts +26 -0
  289. package/dist/workflows/yaml-object-reader.d.ts.map +1 -0
  290. package/dist/workflows/yaml-object-reader.js +178 -0
  291. package/dist/workflows/yaml-object-reader.js.map +1 -0
  292. package/package.json +70 -0
@@ -0,0 +1,6 @@
1
+ import { File } from "./file";
2
+ import { FileReference } from "./file-reference";
3
+ export interface FileProvider {
4
+ getFileContent(ref: FileReference): Promise<File>;
5
+ }
6
+ //# sourceMappingURL=file-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-provider.d.ts","sourceRoot":"","sources":["../../src/workflows/file-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=file-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-provider.js","sourceRoot":"","sources":["../../src/workflows/file-provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export type FileReference = LocalFileReference | RemoteFileReference;
2
+ export type LocalFileReference = {
3
+ path: string;
4
+ };
5
+ export type RemoteFileReference = {
6
+ repository: string;
7
+ owner: string;
8
+ path: string;
9
+ version: string;
10
+ };
11
+ export declare function parseFileReference(ref: string): FileReference;
12
+ export declare function fileIdentifier(ref: FileReference): string;
13
+ //# sourceMappingURL=file-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-reference.d.ts","sourceRoot":"","sources":["../../src/workflows/file-reference.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAoB7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAMzD"}
@@ -0,0 +1,25 @@
1
+ export function parseFileReference(ref) {
2
+ if (ref.startsWith("./")) {
3
+ return {
4
+ path: ref.substring(2)
5
+ };
6
+ }
7
+ const [remotePath, version] = ref.split("@");
8
+ const [owner, repository, ...pathSegments] = remotePath.split("/").filter(s => s.length > 0);
9
+ if (!owner || !repository || !version) {
10
+ throw new Error(`Invalid file reference: ${ref}`);
11
+ }
12
+ return {
13
+ repository,
14
+ owner,
15
+ path: pathSegments.join("/"),
16
+ version
17
+ };
18
+ }
19
+ export function fileIdentifier(ref) {
20
+ if (!("repository" in ref)) {
21
+ return "./" + ref.path;
22
+ }
23
+ return `${ref.owner}/${ref.repository}/${ref.path}@${ref.version}`;
24
+ }
25
+ //# sourceMappingURL=file-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-reference.js","sourceRoot":"","sources":["../../src/workflows/file-reference.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;SACvB,CAAC;KACH;IAED,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7F,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;KACnD;IAED,OAAO;QACL,UAAU;QACV,KAAK;QACL,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5B,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAkB;IAC/C,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAE;QAC1B,OAAO,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;KACxB;IAED,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AACrE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface File {
2
+ name: string;
3
+ content: string;
4
+ }
5
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/workflows/file.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/workflows/file.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const WORKFLOW_ROOT = "workflow-root-strict";
2
+ //# sourceMappingURL=workflow-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-constants.d.ts","sourceRoot":"","sources":["../../src/workflows/workflow-constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const WORKFLOW_ROOT = "workflow-root-strict";
2
+ //# sourceMappingURL=workflow-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-constants.js","sourceRoot":"","sources":["../../src/workflows/workflow-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { TemplateContext } from "../templates/template-context";
2
+ import { TemplateToken } from "../templates/tokens/template-token";
3
+ import { TraceWriter } from "../templates/trace-writer";
4
+ import { File } from "./file";
5
+ export interface ParseWorkflowResult {
6
+ context: TemplateContext;
7
+ value: TemplateToken | undefined;
8
+ }
9
+ export declare function parseWorkflow(entryFile: File, trace: TraceWriter): ParseWorkflowResult;
10
+ export declare function parseWorkflow(entryFile: File, context: TemplateContext): ParseWorkflowResult;
11
+ //# sourceMappingURL=workflow-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-parser.d.ts","sourceRoot":"","sources":["../../src/workflows/workflow-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAA2B,MAAM,+BAA+B,CAAC;AAExF,OAAO,EAAC,aAAa,EAAC,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAI5B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;AACxF,wBAAgB,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { TemplateContext, TemplateValidationErrors } from "../templates/template-context";
2
+ import * as templateReader from "../templates/template-reader";
3
+ import { WORKFLOW_ROOT } from "./workflow-constants";
4
+ import { getWorkflowSchema } from "./workflow-schema";
5
+ import { YamlObjectReader } from "./yaml-object-reader";
6
+ export function parseWorkflow(entryFile, contextOrTrace) {
7
+ const context = contextOrTrace instanceof TemplateContext
8
+ ? contextOrTrace
9
+ : new TemplateContext(new TemplateValidationErrors(), getWorkflowSchema(), contextOrTrace);
10
+ const fileId = context.getFileId(entryFile.name);
11
+ const reader = new YamlObjectReader(fileId, entryFile.content);
12
+ if (reader.errors.length > 0) {
13
+ // The file is not valid YAML, template errors could be misleading
14
+ for (const err of reader.errors) {
15
+ context.error(fileId, err.message, err.range);
16
+ }
17
+ return {
18
+ context,
19
+ value: undefined
20
+ };
21
+ }
22
+ const result = templateReader.readTemplate(context, WORKFLOW_ROOT, reader, fileId);
23
+ return {
24
+ context,
25
+ value: result
26
+ };
27
+ }
28
+ //# sourceMappingURL=workflow-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-parser.js","sourceRoot":"","sources":["../../src/workflows/workflow-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACxF,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAQtD,MAAM,UAAU,aAAa,CAAC,SAAe,EAAE,cAA6C;IAC1F,MAAM,OAAO,GACX,cAAc,YAAY,eAAe;QACvC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,wBAAwB,EAAE,EAAE,iBAAiB,EAAE,EAAE,cAAc,CAAC,CAAC;IAE/F,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,kEAAkE;QAClE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;SAC/C;QACD,OAAO;YACL,OAAO;YACP,KAAK,EAAE,SAAS;SACjB,CAAC;KACH;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnF,OAA4B;QAC1B,OAAO;QACP,KAAK,EAAE,MAAM;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TemplateSchema } from "../templates/schema";
2
+ export declare function getWorkflowSchema(): TemplateSchema;
3
+ //# sourceMappingURL=workflow-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-schema.d.ts","sourceRoot":"","sources":["../../src/workflows/workflow-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAKnD,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD"}
@@ -0,0 +1,12 @@
1
+ import { JSONObjectReader } from "../templates/json-object-reader";
2
+ import { TemplateSchema } from "../templates/schema";
3
+ import WorkflowSchema from "../workflow-v1.0.json" assert { type: "json" };
4
+ let schema;
5
+ export function getWorkflowSchema() {
6
+ if (schema === undefined) {
7
+ const json = JSON.stringify(WorkflowSchema);
8
+ schema = TemplateSchema.load(new JSONObjectReader(undefined, json));
9
+ }
10
+ return schema;
11
+ }
12
+ //# sourceMappingURL=workflow-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-schema.js","sourceRoot":"","sources":["../../src/workflows/workflow-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,cAAc,MAAM,uBAAuB,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAC;AAEzE,IAAI,MAAsB,CAAC;AAE3B,MAAM,UAAU,iBAAiB;IAC/B,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;KACrE;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { ObjectReader } from "../templates/object-reader";
2
+ import { LiteralToken, MappingToken, SequenceToken } from "../templates/tokens/index";
3
+ import { TokenRange } from "../templates/tokens/token-range";
4
+ export type YamlError = {
5
+ message: string;
6
+ range: TokenRange | undefined;
7
+ };
8
+ export declare class YamlObjectReader implements ObjectReader {
9
+ private readonly _generator;
10
+ private _current;
11
+ private fileId?;
12
+ private lineCounter;
13
+ errors: YamlError[];
14
+ constructor(fileId: number | undefined, content: string);
15
+ private getNodes;
16
+ private getRange;
17
+ private static getLiteralToken;
18
+ allowLiteral(): LiteralToken | undefined;
19
+ allowSequenceStart(): SequenceToken | undefined;
20
+ allowSequenceEnd(): boolean;
21
+ allowMappingStart(): MappingToken | undefined;
22
+ allowMappingEnd(): boolean;
23
+ validateEnd(): void;
24
+ validateStart(): void;
25
+ }
26
+ //# sourceMappingURL=yaml-object-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-object-reader.d.ts","sourceRoot":"","sources":["../../src/workflows/yaml-object-reader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAEL,YAAY,EACZ,YAAY,EAGZ,aAAa,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAW,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAqB;IAEjC,MAAM,EAAE,SAAS,EAAE,CAAM;gBAEpB,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM;IAavD,OAAO,CAAE,QAAQ;IA6CjB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,MAAM,CAAC,eAAe;IAyBvB,YAAY,IAAI,YAAY,GAAG,SAAS;IAYxC,kBAAkB,IAAI,aAAa,GAAG,SAAS;IAY/C,gBAAgB,IAAI,OAAO;IAY3B,iBAAiB,IAAI,YAAY,GAAG,SAAS;IAY7C,eAAe,IAAI,OAAO;IAY1B,WAAW,IAAI,IAAI;IAYnB,aAAa,IAAI,IAAI;CAe7B"}
@@ -0,0 +1,178 @@
1
+ import { isCollection, isDocument, isMap, isPair, isScalar, isSeq, LineCounter, parseDocument } from "yaml";
2
+ import { EventType, ParseEvent } from "../templates/parse-event";
3
+ import { BooleanToken, MappingToken, NullToken, NumberToken, SequenceToken, StringToken } from "../templates/tokens/index";
4
+ export class YamlObjectReader {
5
+ constructor(fileId, content) {
6
+ this.lineCounter = new LineCounter();
7
+ this.errors = [];
8
+ const doc = parseDocument(content, {
9
+ lineCounter: this.lineCounter,
10
+ keepSourceTokens: true,
11
+ uniqueKeys: false // Uniqueness is validated by the template reader
12
+ });
13
+ for (const err of doc.errors) {
14
+ this.errors.push({ message: err.message, range: rangeFromLinePos(err.linePos) });
15
+ }
16
+ this._generator = this.getNodes(doc);
17
+ this.fileId = fileId;
18
+ }
19
+ *getNodes(node) {
20
+ let range = this.getRange(node);
21
+ if (isDocument(node)) {
22
+ yield new ParseEvent(EventType.DocumentStart);
23
+ for (const item of this.getNodes(node.contents)) {
24
+ yield item;
25
+ }
26
+ yield new ParseEvent(EventType.DocumentEnd);
27
+ }
28
+ if (isCollection(node)) {
29
+ if (isSeq(node)) {
30
+ yield new ParseEvent(EventType.SequenceStart, new SequenceToken(this.fileId, range, undefined));
31
+ }
32
+ else if (isMap(node)) {
33
+ yield new ParseEvent(EventType.MappingStart, new MappingToken(this.fileId, range, undefined));
34
+ }
35
+ for (const item of node.items) {
36
+ for (const child of this.getNodes(item)) {
37
+ yield child;
38
+ }
39
+ }
40
+ if (isSeq(node)) {
41
+ yield new ParseEvent(EventType.SequenceEnd);
42
+ }
43
+ else if (isMap(node)) {
44
+ yield new ParseEvent(EventType.MappingEnd);
45
+ }
46
+ }
47
+ if (isScalar(node)) {
48
+ yield new ParseEvent(EventType.Literal, YamlObjectReader.getLiteralToken(this.fileId, range, node));
49
+ }
50
+ if (isPair(node)) {
51
+ const scalarKey = node.key;
52
+ range = this.getRange(scalarKey);
53
+ const key = scalarKey.value;
54
+ yield new ParseEvent(EventType.Literal, new StringToken(this.fileId, range, key, undefined));
55
+ for (const child of this.getNodes(node.value)) {
56
+ yield child;
57
+ }
58
+ }
59
+ }
60
+ getRange(node) {
61
+ const range = node?.range ?? [];
62
+ const startPos = range[0];
63
+ const endPos = range[1];
64
+ if (startPos !== undefined && endPos !== undefined) {
65
+ const slp = this.lineCounter.linePos(startPos);
66
+ const elp = this.lineCounter.linePos(endPos);
67
+ return {
68
+ start: { line: slp.line, column: slp.col },
69
+ end: { line: elp.line, column: elp.col }
70
+ };
71
+ }
72
+ return undefined;
73
+ }
74
+ static getLiteralToken(fileId, range, token) {
75
+ const value = token.value;
76
+ if (value === null || value === undefined) {
77
+ return new NullToken(fileId, range, undefined);
78
+ }
79
+ switch (typeof value) {
80
+ case "number":
81
+ return new NumberToken(fileId, range, value, undefined);
82
+ case "boolean":
83
+ return new BooleanToken(fileId, range, value, undefined);
84
+ case "string": {
85
+ let source;
86
+ if (token.srcToken && "source" in token.srcToken) {
87
+ source = token.srcToken.source;
88
+ }
89
+ return new StringToken(fileId, range, value, undefined, source);
90
+ }
91
+ default:
92
+ throw new Error(`Unexpected value type '${typeof value}' when reading object`);
93
+ }
94
+ }
95
+ allowLiteral() {
96
+ if (!this._current.done) {
97
+ const parseEvent = this._current.value;
98
+ if (parseEvent.type === EventType.Literal) {
99
+ this._current = this._generator.next();
100
+ return parseEvent.token;
101
+ }
102
+ }
103
+ return undefined;
104
+ }
105
+ allowSequenceStart() {
106
+ if (!this._current.done) {
107
+ const parseEvent = this._current.value;
108
+ if (parseEvent.type === EventType.SequenceStart) {
109
+ this._current = this._generator.next();
110
+ return parseEvent.token;
111
+ }
112
+ }
113
+ return undefined;
114
+ }
115
+ allowSequenceEnd() {
116
+ if (!this._current.done) {
117
+ const parseEvent = this._current.value;
118
+ if (parseEvent.type === EventType.SequenceEnd) {
119
+ this._current = this._generator.next();
120
+ return true;
121
+ }
122
+ }
123
+ return false;
124
+ }
125
+ allowMappingStart() {
126
+ if (!this._current.done) {
127
+ const parseEvent = this._current.value;
128
+ if (parseEvent.type === EventType.MappingStart) {
129
+ this._current = this._generator.next();
130
+ return parseEvent.token;
131
+ }
132
+ }
133
+ return undefined;
134
+ }
135
+ allowMappingEnd() {
136
+ if (!this._current.done) {
137
+ const parseEvent = this._current.value;
138
+ if (parseEvent.type === EventType.MappingEnd) {
139
+ this._current = this._generator.next();
140
+ return true;
141
+ }
142
+ }
143
+ return false;
144
+ }
145
+ validateEnd() {
146
+ if (!this._current.done) {
147
+ const parseEvent = this._current.value;
148
+ if (parseEvent.type === EventType.DocumentEnd) {
149
+ this._current = this._generator.next();
150
+ return;
151
+ }
152
+ }
153
+ throw new Error("Expected end of reader");
154
+ }
155
+ validateStart() {
156
+ if (!this._current) {
157
+ this._current = this._generator.next();
158
+ }
159
+ if (!this._current.done) {
160
+ const parseEvent = this._current.value;
161
+ if (parseEvent.type === EventType.DocumentStart) {
162
+ this._current = this._generator.next();
163
+ return;
164
+ }
165
+ }
166
+ throw new Error("Expected start of reader");
167
+ }
168
+ }
169
+ function rangeFromLinePos(linePos) {
170
+ if (linePos === undefined) {
171
+ return;
172
+ }
173
+ // TokenRange and linePos are both 1-based
174
+ const start = { line: linePos[0].line, column: linePos[0].col };
175
+ const end = linePos.length == 2 ? { line: linePos[1].line, column: linePos[1].col } : start;
176
+ return { start, end };
177
+ }
178
+ //# sourceMappingURL=yaml-object-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-object-reader.js","sourceRoot":"","sources":["../../src/workflows/yaml-object-reader.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@actions/workflow-parser",
3
+ "version": "0.2.0",
4
+ "license": "MIT",
5
+ "type": "module",
6
+ "source": "./src/index.ts",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./*": {
15
+ "import": "./dist/*.js"
16
+ }
17
+ },
18
+ "typesVersions": {
19
+ "*": {
20
+ ".": [
21
+ "dist/index.d.ts"
22
+ ],
23
+ "*": [
24
+ "dist/*.d.ts"
25
+ ]
26
+ }
27
+ },
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/actions/languageservices"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc --build tsconfig.build.json",
34
+ "clean": "rimraf dist",
35
+ "format": "prettier --write '**/*.ts'",
36
+ "format-check": "prettier --check '**/*.ts'",
37
+ "lint": "eslint 'src/**/*.ts'",
38
+ "lint-fix": "eslint --fix 'src/**/*.ts'",
39
+ "prepublishOnly": "npm run build && npm run test",
40
+ "test": "NODE_OPTIONS=\"--experimental-vm-modules\" jest",
41
+ "test-xlang": "NODE_OPTIONS=\"--experimental-vm-modules\" jest --testPathPattern xlang",
42
+ "test-watch": "NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch",
43
+ "watch": "tsc --build tsconfig.build.json --watch"
44
+ },
45
+ "dependencies": {
46
+ "@actions/expressions": "^0.2.0",
47
+ "cronstrue": "^2.21.0",
48
+ "yaml": "^2.0.0-8"
49
+ },
50
+ "engines": {
51
+ "node": ">= 16.15"
52
+ },
53
+ "files": [
54
+ "dist/**/*"
55
+ ],
56
+ "devDependencies": {
57
+ "@types/jest": "^29.0.3",
58
+ "@typescript-eslint/eslint-plugin": "^5.56.0",
59
+ "@typescript-eslint/parser": "^5.56.0",
60
+ "eslint": "^7.32.0",
61
+ "eslint-config-prettier": "^8.8.0",
62
+ "eslint-plugin-prettier": "^4.2.1",
63
+ "jest": "^29.0.3",
64
+ "prettier": "^2.8.3",
65
+ "rimraf": "^3.0.2",
66
+ "ts-jest": "^29.0.3",
67
+ "typescript": "^4.8.4"
68
+ },
69
+ "gitHead": "b79d0e8e4706e94ce93ca367f47bc4207c8dedfa"
70
+ }