crankscript 0.19.0 → 0.19.1

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # crankscript
2
2
 
3
+ ## 0.19.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#81](https://github.com/crankscript/crankscript/pull/81) [`27022a4`](https://github.com/crankscript/crankscript/commit/27022a41052ed6c472d8fe37dc9d5138a61e1a70) Thanks [@alberteddu](https://github.com/alberteddu)! - lock @inkjs/ui
8
+
9
+ - [#83](https://github.com/crankscript/crankscript/pull/83) [`553d58b`](https://github.com/crankscript/crankscript/commit/553d58bb65cf2c6addda60a567773c4bbe627279) Thanks [@alberteddu](https://github.com/alberteddu)! - accept entry and exit point when simulating
10
+
3
11
  ## 0.19.0
4
12
 
5
13
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crankscript",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "bin": {
5
5
  "crankscript": "./src/index.js"
6
6
  },
@@ -24,6 +24,11 @@
24
24
  "typescript-to-lua": "^1.27.0",
25
25
  "zx": "^8.5.4"
26
26
  },
27
+ "overrides": {
28
+ "@inkjs/ui": {
29
+ "ink": "^6.3.0"
30
+ }
31
+ },
27
32
  "type": "module",
28
33
  "main": "./src/index.js",
29
34
  "typings": "./src/index.d.ts",
@@ -9,6 +9,8 @@ export declare class SimulatorCommand extends EnvironmentAwareCommand {
9
9
  recompileOnly: boolean;
10
10
  background: boolean;
11
11
  additionalGlobs: string[];
12
+ entryPoint: string | undefined;
13
+ exitPointFilename: string;
12
14
  projectPath: string;
13
15
  renderWithEnvironment(environment: Environment): React.JSX.Element;
14
16
  }
@@ -25,6 +25,14 @@ export class SimulatorCommand extends EnvironmentAwareCommand {
25
25
  description: 'Additional globs to watch for changes',
26
26
  validator: t.isArray(t.isString()),
27
27
  });
28
+ this.entryPoint = Option.String('-e,--entry-point', {
29
+ description: 'Specify the entry point. The output file will still be named main.lua',
30
+ validator: t.isString(),
31
+ });
32
+ this.exitPointFilename = Option.String('-o,--exit-point-filename', 'main.lua', {
33
+ description: 'Specify the exit point filename.',
34
+ validator: t.isString(),
35
+ });
28
36
  this.projectPath = projectPathOption;
29
37
  }
30
38
  renderWithEnvironment(environment) {
@@ -34,7 +42,7 @@ export class SimulatorCommand extends EnvironmentAwareCommand {
34
42
  if (this.additionalGlobs.length > 0 && !this.watch) {
35
43
  throw new Error('Can only provide --additional-globs when watching for changes');
36
44
  }
37
- const content = (React.createElement(Simulator, { environment: environment, path: this.projectPath, watch: this.watch, recompileOnly: this.recompileOnly, background: this.background, entryFile: this.file, additionalGlobs: this.additionalGlobs, watchEntryFileOnly: !!this.file }));
45
+ const content = (React.createElement(Simulator, { environment: environment, path: this.projectPath, watch: this.watch, recompileOnly: this.recompileOnly, background: this.background, isolatedFile: this.file, additionalGlobs: this.additionalGlobs, watchEntryFileOnly: !!this.file, entryPoint: this.entryPoint, exitPointFilename: this.exitPointFilename }));
38
46
  if (!this.file) {
39
47
  return content;
40
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorCommand.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/commands/SimulatorCommand/SimulatorCommand.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sEAAsE,CAAC;AAC9G,OAAO,EACH,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,MAAM,OAAO,gBAAiB,SAAQ,uBAAuB;IAA7D;;QAOI,SAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,UAAK,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE;YACxC,WAAW,EAAE,mBAAmB;SACnC,CAAC,CAAC;QAEH,kBAAa,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE;YACzD,WAAW,EACP,sFAAsF;SAC7F,CAAC,CAAC;QAEH,eAAU,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,EAAE;YAClD,WAAW,EAAE,sCAAsC;SACtD,CAAC,CAAC;QAEH,oBAAe,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE;YACxD,WAAW,EAAE,uCAAuC;YACpD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACrC,CAAC,CAAC;QAEH,gBAAW,GAAG,iBAAiB,CAAC;IAsCpC,CAAC;IApCY,qBAAqB,CAAC,WAAwB;QACnD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACX,oDAAoD,CACvD,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACX,+DAA+D,CAClE,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,CACZ,oBAAC,SAAS,IACN,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,IAAI,EACpB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GACjC,CACL,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,CACH,oBAAC,sBAAsB,IAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IACvC,OAAO,CACa,CAC5B,CAAC;IACN,CAAC;;AAlEe,sBAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,AAAlB,CAAmB;AAExB,sBAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,WAAW,EAAE,2CAA2C;CAC3D,CAAC,AAFmB,CAElB"}
1
+ {"version":3,"file":"SimulatorCommand.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/commands/SimulatorCommand/SimulatorCommand.tsx"],"names":[],"mappings":"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"}
@@ -6,9 +6,11 @@ interface Props {
6
6
  watch?: boolean;
7
7
  recompileOnly?: boolean;
8
8
  background?: boolean;
9
- entryFile?: string;
9
+ isolatedFile?: string;
10
10
  additionalGlobs?: string[];
11
11
  watchEntryFileOnly?: boolean;
12
+ entryPoint?: string;
13
+ exitPointFilename?: string;
12
14
  }
13
- export declare const Simulator: ({ environment, path, watch, recompileOnly, background, entryFile, additionalGlobs, watchEntryFileOnly, }: Props) => React.JSX.Element;
15
+ export declare const Simulator: ({ environment, path, watch, recompileOnly, background, isolatedFile, additionalGlobs, watchEntryFileOnly, entryPoint, exitPointFilename, }: Props) => React.JSX.Element;
14
16
  export {};
@@ -4,29 +4,31 @@ import React from 'react';
4
4
  import { CheckList } from '../../../components/CheckList/index.js';
5
5
  import { createTemporaryFolderPathFromEntryFile } from '../fn/createTemporaryFolderPathFromEntryFile.js';
6
6
  import { useSimulatorTasks } from '../hooks/useSimulatorTasks.js';
7
- export const Simulator = ({ environment, path, watch = false, recompileOnly = false, background = false, entryFile, additionalGlobs = [], watchEntryFileOnly = false, }) => {
8
- const temporaryFolder = entryFile
9
- ? createTemporaryFolderPathFromEntryFile(entryFile)
7
+ export const Simulator = ({ environment, path, watch = false, recompileOnly = false, background = false, isolatedFile, additionalGlobs = [], watchEntryFileOnly = false, entryPoint, exitPointFilename, }) => {
8
+ const temporaryFolder = isolatedFile
9
+ ? createTemporaryFolderPathFromEntryFile(isolatedFile)
10
10
  : undefined;
11
- const gameOutputPath = entryFile ? '' : undefined;
12
- const luaOutputPath = entryFile
11
+ const gameOutputPath = isolatedFile ? '' : undefined;
12
+ const luaOutputPath = isolatedFile
13
13
  ? temporaryFolder
14
14
  ? join(temporaryFolder)
15
15
  : undefined
16
16
  : undefined;
17
- const projectPath = entryFile && temporaryFolder ? temporaryFolder : path;
17
+ const projectPath = isolatedFile && temporaryFolder ? temporaryFolder : path;
18
18
  const { tasks, handleFinish, isWatching, hasChangedMessage, hasFailure, hasChanged, } = useSimulatorTasks({
19
19
  environment,
20
20
  path: projectPath,
21
21
  watchForChanges: watch,
22
22
  recompileOnly,
23
23
  background,
24
- entryFile,
24
+ entryFile: isolatedFile,
25
25
  gameOutputPath,
26
26
  luaOutputPath,
27
- requireWithinProjectPath: !entryFile,
27
+ requireWithinProjectPath: !isolatedFile,
28
28
  additionalGlobs,
29
29
  watchEntryFileOnly,
30
+ entryPoint,
31
+ exitPointFilename,
30
32
  });
31
33
  return (React.createElement(React.Fragment, null,
32
34
  !hasChanged && React.createElement(CheckList, { items: tasks, onFinish: handleFinish }),
@@ -1 +1 @@
1
- {"version":3,"file":"Simulator.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/commands/SimulatorCommand/components/Simulator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAalE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACtB,WAAW,EACX,IAAI,EACJ,KAAK,GAAG,KAAK,EACb,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,eAAe,GAAG,EAAE,EACpB,kBAAkB,GAAG,KAAK,GACtB,EAAE,EAAE;IACR,MAAM,eAAe,GAAG,SAAS;QAC7B,CAAC,CAAC,sCAAsC,CAAC,SAAS,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,MAAM,aAAa,GAAG,SAAS;QAC3B,CAAC,CAAC,eAAe;YACb,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,SAAS;QACf,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,WAAW,GAAG,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,MAAM,EACF,KAAK,EACL,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,GACb,GAAG,iBAAiB,CAAC;QAClB,WAAW;QACX,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,KAAK;QACtB,aAAa;QACb,UAAU;QACV,SAAS;QACT,cAAc;QACd,aAAa;QACb,wBAAwB,EAAE,CAAC,SAAS;QACpC,eAAe;QACf,kBAAkB;KACrB,CAAC,CAAC;IAEH,OAAO,CACH;QACK,CAAC,UAAU,IAAI,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAI;QAClE,UAAU,IAAI,CAAC,iBAAiB,IAAI,CACjC;YACK,UAAU,IAAI,CACX,oBAAC,aAAa,IAAC,OAAO,EAAC,SAAS,yBAEhB,CACnB;YACD,oBAAC,aAAa,IAAC,OAAO,EAAC,MAAM,8BAEb,CACjB,CACN;QACA,iBAAiB,IAAI,CAClB,oBAAC,aAAa,IAAC,OAAO,EAAC,MAAM,sBAAgC,CAChE,CACF,CACN,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"Simulator.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/commands/SimulatorCommand/components/Simulator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAelE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACtB,WAAW,EACX,IAAI,EACJ,KAAK,GAAG,KAAK,EACb,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,EAClB,YAAY,EACZ,eAAe,GAAG,EAAE,EACpB,kBAAkB,GAAG,KAAK,EAC1B,UAAU,EACV,iBAAiB,GACb,EAAE,EAAE;IACR,MAAM,eAAe,GAAG,YAAY;QAChC,CAAC,CAAC,sCAAsC,CAAC,YAAY,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,MAAM,aAAa,GAAG,YAAY;QAC9B,CAAC,CAAC,eAAe;YACb,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,SAAS;QACf,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,WAAW,GACb,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7D,MAAM,EACF,KAAK,EACL,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,GACb,GAAG,iBAAiB,CAAC;QAClB,WAAW;QACX,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,KAAK;QACtB,aAAa;QACb,UAAU;QACV,SAAS,EAAE,YAAY;QACvB,cAAc;QACd,aAAa;QACb,wBAAwB,EAAE,CAAC,YAAY;QACvC,eAAe;QACf,kBAAkB;QAClB,UAAU;QACV,iBAAiB;KACpB,CAAC,CAAC;IAEH,OAAO,CACH;QACK,CAAC,UAAU,IAAI,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAI;QAClE,UAAU,IAAI,CAAC,iBAAiB,IAAI,CACjC;YACK,UAAU,IAAI,CACX,oBAAC,aAAa,IAAC,OAAO,EAAC,SAAS,yBAEhB,CACnB;YACD,oBAAC,aAAa,IAAC,OAAO,EAAC,MAAM,8BAEb,CACjB,CACN;QACA,iBAAiB,IAAI,CAClB,oBAAC,aAAa,IAAC,OAAO,EAAC,MAAM,sBAAgC,CAChE,CACF,CACN,CAAC;AACN,CAAC,CAAC"}
@@ -14,8 +14,10 @@ interface Props {
14
14
  sourceName?: string;
15
15
  watchEntryFileOnly?: boolean;
16
16
  preventAutoQuit?: boolean;
17
+ entryPoint?: string;
18
+ exitPointFilename?: string;
17
19
  }
18
- export declare const useSimulatorTasks: ({ path, environment, watchForChanges, recompileOnly, background, entryFile, luaOutputPath, gameOutputPath, requireWithinProjectPath, additionalGlobs, sourceName, targetName, watchEntryFileOnly, preventAutoQuit, }: Props) => {
20
+ export declare const useSimulatorTasks: ({ path, environment, watchForChanges, recompileOnly, background, entryFile, luaOutputPath, gameOutputPath, requireWithinProjectPath, additionalGlobs, sourceName, targetName, watchEntryFileOnly, preventAutoQuit, entryPoint, exitPointFilename, }: Props) => {
19
21
  tasks: import("../../../types.js").CheckListItem<unknown>[];
20
22
  handleFinish: (hasFailure: boolean) => void;
21
23
  hasChanged: boolean;
@@ -9,7 +9,8 @@ import { validateExitPoint } from '../../TranspileCommand/fn/validateExitPoint.j
9
9
  import { useTranspileTasks } from '../../TranspileCommand/hooks/useTranspileTasks.js';
10
10
  import { getSimulatorPathFromEnvironment } from '../fn/getSimulatorPathFromEnvironment.js';
11
11
  import { useFileWatcher } from './useFileWatcher.js';
12
- export const useSimulatorTasks = ({ path, environment, watchForChanges, recompileOnly, background, entryFile, luaOutputPath, gameOutputPath, requireWithinProjectPath = true, additionalGlobs = [], sourceName, targetName, watchEntryFileOnly = false, preventAutoQuit = false, }) => {
12
+ export const useSimulatorTasks = ({ path, environment, watchForChanges, recompileOnly, background, entryFile, luaOutputPath, gameOutputPath, requireWithinProjectPath = true, additionalGlobs = [], sourceName, targetName, watchEntryFileOnly = false, preventAutoQuit = false, entryPoint, exitPointFilename = 'main.lua', }) => {
13
+ var _a;
13
14
  const [isWatching, setIsWatching] = useState(false);
14
15
  const [hasChanged, setHasChanged] = useState(false);
15
16
  const [hasChangedMessage, setHasChangedMessage] = useState(false);
@@ -23,14 +24,14 @@ export const useSimulatorTasks = ({ path, environment, watchForChanges, recompil
23
24
  const transpileTasks = useTranspileTasks({
24
25
  entryPoint: validateEntryPoint({
25
26
  projectPath: path,
26
- entryFile: entryFile !== null && entryFile !== void 0 ? entryFile : join(path, 'src', 'index.ts'),
27
+ entryFile: (_a = entryFile !== null && entryFile !== void 0 ? entryFile : entryPoint) !== null && _a !== void 0 ? _a : join(path, 'src', 'index.ts'),
27
28
  requireWithinProjectPath,
28
29
  }),
29
30
  exitPoint: validateExitPoint({
30
31
  projectPath: path,
31
32
  exitFile: join(...(luaOutputPath
32
33
  ? [luaOutputPath, sourceName !== null && sourceName !== void 0 ? sourceName : 'Source']
33
- : [path, sourceName !== null && sourceName !== void 0 ? sourceName : 'Source']), 'main.lua'),
34
+ : [path, sourceName !== null && sourceName !== void 0 ? sourceName : 'Source']), exitPointFilename),
34
35
  requireWithinProjectPath,
35
36
  }),
36
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useSimulatorTasks.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/commands/SimulatorCommand/hooks/useSimulatorTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSimulatorTasks.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/commands/SimulatorCommand/hooks/useSimulatorTasks.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const validateExitPoint = ({ projectPath, exitFile, requireWithinProjectP
21
21
  throw new Error(`Path "${exitDir}" exists but is not a directory`);
22
22
  }
23
23
  if (requireWithinProjectPath && !exitDir.startsWith(resolvedPath)) {
24
- throw new Error(`Exit path must be inside project path`);
24
+ throw new Error(`Exit path "${resolvedExit}" must be inside project path "${resolvedPath}"`);
25
25
  }
26
26
  return {
27
27
  __validated: true,
@@ -1 +1 @@
1
- {"version":3,"file":"validateExitPoint.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/commands/TranspileCommand/fn/validateExitPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,WAAW,EACX,QAAQ,EACR,wBAAwB,GAAG,IAAI,GAKlC,EAAsB,EAAE;IACrB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,sBAAsB,GACxB,iBAAiB,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,aAAa,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,sBAAsB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,kBAAkB;IACtB,CAAC;SAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,iCAAiC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,wBAAwB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACH,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,YAAY;KACI,CAAC;AACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"validateExitPoint.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/commands/TranspileCommand/fn/validateExitPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,WAAW,EACX,QAAQ,EACR,wBAAwB,GAAG,IAAI,GAKlC,EAAsB,EAAE;IACrB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,sBAAsB,GACxB,iBAAiB,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,aAAa,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,sBAAsB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,kBAAkB;IACtB,CAAC;SAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,iCAAiC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,wBAAwB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACX,cAAc,YAAY,kCAAkC,YAAY,GAAG,CAC9E,CAAC;IACN,CAAC;IAED,OAAO;QACH,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,YAAY;KACI,CAAC;AACnC,CAAC,CAAC"}