crankscript 0.0.6 → 0.1.5-beta
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.md +1 -11
- package/assets/package.json +4 -0
- package/assets/plugin.js +260 -0
- package/assets/plugin.ts +372 -0
- package/assets/tsconfig.json +10 -0
- package/package.json +30 -17
- package/src/commands/CompileCommand/CompileCommand.d.ts +8 -0
- package/src/commands/CompileCommand/CompileCommand.js +21 -0
- package/src/commands/CompileCommand/CompileCommand.js.map +1 -0
- package/src/commands/CompileCommand/components/Compile.d.ts +7 -0
- package/src/commands/CompileCommand/components/Compile.js +14 -0
- package/src/commands/CompileCommand/components/Compile.js.map +1 -0
- package/src/commands/CompileCommand/fn/getPdcPathFromEnvironment.d.ts +2 -0
- package/src/commands/CompileCommand/fn/getPdcPathFromEnvironment.js +6 -0
- package/src/commands/CompileCommand/fn/getPdcPathFromEnvironment.js.map +1 -0
- package/src/commands/CompileCommand/fn/getSimulatorPathFromEnvironment.d.ts +2 -0
- package/src/commands/CompileCommand/fn/getSimulatorPathFromEnvironment.js +6 -0
- package/src/commands/CompileCommand/fn/getSimulatorPathFromEnvironment.js.map +1 -0
- package/src/commands/CompileCommand/hooks/useCompileTasks.d.ts +2 -0
- package/src/commands/CompileCommand/hooks/useCompileTasks.js +60 -0
- package/src/commands/CompileCommand/hooks/useCompileTasks.js.map +1 -0
- package/src/commands/CompileCommand/index.d.ts +1 -0
- package/src/commands/CompileCommand/index.js +3 -0
- package/src/commands/CompileCommand/index.js.map +1 -0
- package/src/commands/DoctorCommand.d.ts +7 -0
- package/src/commands/DoctorCommand.js +26 -0
- package/src/commands/DoctorCommand.js.map +1 -0
- package/src/commands/EnvironmentAwareCommand/EnvironmentAwareCommand.d.ts +9 -0
- package/src/commands/EnvironmentAwareCommand/EnvironmentAwareCommand.js +25 -0
- package/src/commands/EnvironmentAwareCommand/EnvironmentAwareCommand.js.map +1 -0
- package/src/commands/EnvironmentAwareCommand/components/HealthReport.d.ts +7 -0
- package/src/commands/EnvironmentAwareCommand/components/HealthReport.js +41 -0
- package/src/commands/EnvironmentAwareCommand/components/HealthReport.js.map +1 -0
- package/src/commands/EnvironmentAwareCommand/index.d.ts +1 -0
- package/src/commands/EnvironmentAwareCommand/index.js +3 -0
- package/src/commands/EnvironmentAwareCommand/index.js.map +1 -0
- package/src/commands/GenerateTypes/GenerateTypesCommand.d.ts +10 -0
- package/src/commands/GenerateTypes/GenerateTypesCommand.js +45 -0
- package/src/commands/GenerateTypes/GenerateTypesCommand.js.map +1 -0
- package/src/commands/GenerateTypes/components/GenerateTypes.d.ts +9 -0
- package/src/commands/GenerateTypes/components/GenerateTypes.js +36 -0
- package/src/commands/GenerateTypes/components/GenerateTypes.js.map +1 -0
- package/src/commands/GenerateTypes/constants.d.ts +1 -0
- package/src/commands/GenerateTypes/constants.js +3 -0
- package/src/commands/GenerateTypes/constants.js.map +1 -0
- package/src/commands/GenerateTypes/fn/getApiDefinitions.d.ts +2 -0
- package/src/commands/GenerateTypes/fn/getApiDefinitions.js +39 -0
- package/src/commands/GenerateTypes/fn/getApiDefinitions.js.map +1 -0
- package/src/commands/GenerateTypes/fn/getDescriptionsFromHtml.d.ts +5 -0
- package/src/commands/GenerateTypes/fn/getDescriptionsFromHtml.js +78 -0
- package/src/commands/GenerateTypes/fn/getDescriptionsFromHtml.js.map +1 -0
- package/src/commands/GenerateTypes/fn/getFunctionTypeOverride.d.ts +1 -0
- package/src/commands/GenerateTypes/fn/getFunctionTypeOverride.js +7 -0
- package/src/commands/GenerateTypes/fn/getFunctionTypeOverride.js.map +1 -0
- package/src/commands/GenerateTypes/fn/getHtmlForVersion.d.ts +1 -0
- package/src/commands/GenerateTypes/fn/getHtmlForVersion.js +21 -0
- package/src/commands/GenerateTypes/fn/getHtmlForVersion.js.map +1 -0
- package/src/commands/GenerateTypes/fn/parseFunctionSignature.d.ts +10 -0
- package/src/commands/GenerateTypes/fn/parseFunctionSignature.js +22 -0
- package/src/commands/GenerateTypes/fn/parseFunctionSignature.js.map +1 -0
- package/src/commands/GenerateTypes/hooks/useFetchHtml.d.ts +12 -0
- package/src/commands/GenerateTypes/hooks/useFetchHtml.js +31 -0
- package/src/commands/GenerateTypes/hooks/useFetchHtml.js.map +1 -0
- package/src/commands/GenerateTypes/hooks/useGenerateTypeFile.d.ts +12 -0
- package/src/commands/GenerateTypes/hooks/useGenerateTypeFile.js +126 -0
- package/src/commands/GenerateTypes/hooks/useGenerateTypeFile.js.map +1 -0
- package/src/commands/GenerateTypes/hooks/useGetVersion.d.ts +53 -0
- package/src/commands/GenerateTypes/hooks/useGetVersion.js +52 -0
- package/src/commands/GenerateTypes/hooks/useGetVersion.js.map +1 -0
- package/src/commands/GenerateTypes/hooks/useParseDocumentation.d.ts +13 -0
- package/src/commands/GenerateTypes/hooks/useParseDocumentation.js +34 -0
- package/src/commands/GenerateTypes/hooks/useParseDocumentation.js.map +1 -0
- package/src/commands/GenerateTypes/index.d.ts +1 -0
- package/src/commands/GenerateTypes/index.js +3 -0
- package/src/commands/GenerateTypes/index.js.map +1 -0
- package/src/commands/GenerateTypes/utils/createTypeProvider.d.ts +43 -0
- package/src/commands/GenerateTypes/utils/createTypeProvider.js +156 -0
- package/src/commands/GenerateTypes/utils/createTypeProvider.js.map +1 -0
- package/src/commands/GenerateTypes/utils/functionTypeOverrides.d.ts +2 -0
- package/src/commands/GenerateTypes/utils/functionTypeOverrides.js +18 -0
- package/src/commands/GenerateTypes/utils/functionTypeOverrides.js.map +1 -0
- package/src/commands/NewCommand/NewCommand.d.ts +10 -0
- package/src/commands/NewCommand/NewCommand.js +35 -0
- package/src/commands/NewCommand/NewCommand.js.map +1 -0
- package/src/commands/NewCommand/components/New.d.ts +8 -0
- package/src/commands/NewCommand/components/New.js +26 -0
- package/src/commands/NewCommand/components/New.js.map +1 -0
- package/src/commands/RenderableCommand.d.ts +7 -0
- package/src/commands/RenderableCommand.js +12 -0
- package/src/commands/RenderableCommand.js.map +1 -0
- package/src/commands/SimulatorCommand/SimulatorCommand.d.ts +12 -0
- package/src/commands/SimulatorCommand/SimulatorCommand.js +39 -0
- package/src/commands/SimulatorCommand/SimulatorCommand.js.map +1 -0
- package/src/commands/SimulatorCommand/components/Simulator.d.ts +11 -0
- package/src/commands/SimulatorCommand/components/Simulator.js +80 -0
- package/src/commands/SimulatorCommand/components/Simulator.js.map +1 -0
- package/src/commands/SimulatorCommand/index.d.ts +1 -0
- package/src/commands/SimulatorCommand/index.js +3 -0
- package/src/commands/SimulatorCommand/index.js.map +1 -0
- package/src/commands/TranspileCommand/TranspileCommand.d.ts +9 -0
- package/src/commands/TranspileCommand/TranspileCommand.js +31 -0
- package/src/commands/TranspileCommand/TranspileCommand.js.map +1 -0
- package/src/commands/TranspileCommand/components/Transpile.d.ts +6 -0
- package/src/commands/TranspileCommand/components/Transpile.js +12 -0
- package/src/commands/TranspileCommand/components/Transpile.js.map +1 -0
- package/src/commands/TranspileCommand/fn/transpile.d.ts +1 -0
- package/src/commands/TranspileCommand/fn/transpile.js +19 -0
- package/src/commands/TranspileCommand/fn/transpile.js.map +1 -0
- package/src/commands/TranspileCommand/hooks/useTranspileTasks.d.ts +2 -0
- package/src/commands/TranspileCommand/hooks/useTranspileTasks.js +18 -0
- package/src/commands/TranspileCommand/hooks/useTranspileTasks.js.map +1 -0
- package/src/commands/TranspileCommand/index.d.ts +1 -0
- package/src/commands/TranspileCommand/index.js +3 -0
- package/src/commands/TranspileCommand/index.js.map +1 -0
- package/src/components/CheckList/CheckList.d.ts +8 -0
- package/src/components/CheckList/CheckList.js +34 -0
- package/src/components/CheckList/CheckList.js.map +1 -0
- package/src/components/CheckList/Item.d.ts +7 -0
- package/src/components/CheckList/Item.js +87 -0
- package/src/components/CheckList/Item.js.map +1 -0
- package/src/components/CheckList/index.d.ts +1 -0
- package/src/components/CheckList/index.js +3 -0
- package/src/components/CheckList/index.js.map +1 -0
- package/src/components/Spinner.d.ts +3 -0
- package/src/components/Spinner.js +26 -0
- package/src/components/Spinner.js.map +1 -0
- package/src/constants.d.ts +3 -0
- package/src/constants.js +11 -0
- package/src/constants.js.map +1 -0
- package/src/environment/createEnvironment.d.ts +12 -0
- package/src/environment/createEnvironment.js +37 -0
- package/src/environment/createEnvironment.js.map +1 -0
- package/src/environment/dto/Environment.d.ts +7 -0
- package/src/environment/dto/Environment.js +7 -0
- package/src/environment/dto/Environment.js.map +1 -0
- package/src/environment/error/EnvironmentError.d.ts +2 -0
- package/src/environment/error/EnvironmentError.js +4 -0
- package/src/environment/error/EnvironmentError.js.map +1 -0
- package/src/environment/path/dto/PlaydateSdkPath.d.ts +5 -0
- package/src/environment/path/dto/PlaydateSdkPath.js +10 -0
- package/src/environment/path/dto/PlaydateSdkPath.js.map +1 -0
- package/src/environment/path/error/PlaydateSdkPathVariableNotSetError.d.ts +4 -0
- package/src/environment/path/error/PlaydateSdkPathVariableNotSetError.js +8 -0
- package/src/environment/path/error/PlaydateSdkPathVariableNotSetError.js.map +1 -0
- package/src/environment/path/getPlaydateSdkPath.d.ts +14 -0
- package/src/environment/path/getPlaydateSdkPath.js +16 -0
- package/src/environment/path/getPlaydateSdkPath.js.map +1 -0
- package/src/index.d.ts +1 -1
- package/src/index.js +30 -11
- package/src/index.js.map +1 -1
- package/src/types.d.ts +96 -0
- package/src/types.js +16 -0
- package/src/types.js.map +1 -0
- package/src/utils/dirname.d.ts +1 -0
- package/src/utils/dirname.js +5 -0
- package/src/utils/dirname.js.map +1 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/cli/src/commands/TranspileCommand/components/Transpile.tsx"],"sourcesContent":["import React from 'react';\nimport { useTranspileTasks } from '@/cli/commands/TranspileCommand/hooks/useTranspileTasks.js';\nimport { CheckList } from '@/cli/components/CheckList/index.js';\n\ninterface Props {\n path: string;\n}\n\nexport const Transpile = ({ path }: Props) => {\n const items = useTranspileTasks(path);\n\n return <CheckList items={items} onFinish={process.exit} />;\n};\n"],"names":["React","useTranspileTasks","CheckList","Transpile","path","items","onFinish","process","exit"],"rangeMappings":";;;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ,6DAA6D;AAC/F,SAASC,SAAS,QAAQ,sCAAsC;AAMhE,OAAO,MAAMC,YAAY,CAAC,EAAEC,IAAI,EAAS;IACrC,MAAMC,QAAQJ,kBAAkBG;IAEhC,qBAAO,oBAACF;QAAUG,OAAOA;QAAOC,UAAUC,QAAQC,IAAI;;AAC1D,EAAE"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const transpile: (path: string) => void;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { join } from 'node:path';
|
2
|
+
import * as tstl from 'typescript-to-lua';
|
3
|
+
import { LuaTarget } from 'typescript-to-lua';
|
4
|
+
import { RootFolder } from '../../../constants.js';
|
5
|
+
export const transpile = (path)=>{
|
6
|
+
tstl.transpileProject(join(path, 'tsconfig.json'), {
|
7
|
+
luaTarget: LuaTarget.Lua54,
|
8
|
+
outDir: join(path, 'Source'),
|
9
|
+
luaBundle: 'main.lua',
|
10
|
+
luaBundleEntry: join(path, 'src', 'index.ts'),
|
11
|
+
luaPlugins: [
|
12
|
+
{
|
13
|
+
name: join(RootFolder, 'assets', 'plugin.js')
|
14
|
+
}
|
15
|
+
]
|
16
|
+
});
|
17
|
+
};
|
18
|
+
|
19
|
+
//# sourceMappingURL=transpile.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/cli/src/commands/TranspileCommand/fn/transpile.ts"],"sourcesContent":["import { join } from 'node:path';\nimport * as tstl from 'typescript-to-lua';\nimport { LuaTarget } from 'typescript-to-lua';\nimport { RootFolder } from '@/cli/constants.js';\n\nexport const transpile = (path: string) => {\n tstl.transpileProject(join(path, 'tsconfig.json'), {\n luaTarget: LuaTarget.Lua54,\n outDir: join(path, 'Source'),\n luaBundle: 'main.lua',\n luaBundleEntry: join(path, 'src', 'index.ts'),\n luaPlugins: [\n {\n name: join(RootFolder, 'assets', 'plugin.js'),\n },\n ],\n });\n};\n"],"names":["join","tstl","LuaTarget","RootFolder","transpile","path","transpileProject","luaTarget","Lua54","outDir","luaBundle","luaBundleEntry","luaPlugins","name"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,IAAI,QAAQ,YAAY;AACjC,YAAYC,UAAU,oBAAoB;AAC1C,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,OAAO,MAAMC,YAAY,CAACC;IACtBJ,KAAKK,gBAAgB,CAACN,KAAKK,MAAM,kBAAkB;QAC/CE,WAAWL,UAAUM,KAAK;QAC1BC,QAAQT,KAAKK,MAAM;QACnBK,WAAW;QACXC,gBAAgBX,KAAKK,MAAM,OAAO;QAClCO,YAAY;YACR;gBACIC,MAAMb,KAAKG,YAAY,UAAU;YACrC;SACH;IACL;AACJ,EAAE"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { useMemo } from 'react';
|
2
|
+
import { transpile } from '../../../commands/TranspileCommand/fn/transpile.js';
|
3
|
+
export const useTranspileTasks = (path)=>{
|
4
|
+
return useMemo(()=>[
|
5
|
+
{
|
6
|
+
waitingDescription: 'Waiting to transpile code...',
|
7
|
+
errorDescription: 'Could not transpile code',
|
8
|
+
runningDescription: 'Transpiling code...',
|
9
|
+
finishedDescription: ()=>'Code transpiled',
|
10
|
+
runner: async ()=>{
|
11
|
+
transpile(path);
|
12
|
+
},
|
13
|
+
ready: true
|
14
|
+
}
|
15
|
+
], []);
|
16
|
+
};
|
17
|
+
|
18
|
+
//# sourceMappingURL=useTranspileTasks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/cli/src/commands/TranspileCommand/hooks/useTranspileTasks.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { transpile } from '@/cli/commands/TranspileCommand/fn/transpile.js';\nimport { CheckListItem } from '@/cli/types.js';\n\nexport const useTranspileTasks = (path: string) => {\n return useMemo(\n () => [\n {\n waitingDescription: 'Waiting to transpile code...',\n errorDescription: 'Could not transpile code',\n runningDescription: 'Transpiling code...',\n finishedDescription: () => 'Code transpiled',\n runner: async () => {\n transpile(path);\n },\n ready: true,\n },\n ],\n []\n ) as CheckListItem<unknown>[];\n};\n"],"names":["useMemo","transpile","useTranspileTasks","path","waitingDescription","errorDescription","runningDescription","finishedDescription","runner","ready"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SAASC,SAAS,QAAQ,kDAAkD;AAG5E,OAAO,MAAMC,oBAAoB,CAACC;IAC9B,OAAOH,QACH,IAAM;YACF;gBACII,oBAAoB;gBACpBC,kBAAkB;gBAClBC,oBAAoB;gBACpBC,qBAAqB,IAAM;gBAC3BC,QAAQ;oBACJP,UAAUE;gBACd;gBACAM,OAAO;YACX;SACH,EACD,EAAE;AAEV,EAAE"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './TranspileCommand.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/commands/TranspileCommand/index.ts"],"sourcesContent":["export * from './TranspileCommand.js';\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,wBAAwB"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
2
|
+
import React, { useEffect, useState } from 'react';
|
3
|
+
import { Item } from './Item.js';
|
4
|
+
export const CheckList = ({ items, onFinish })=>{
|
5
|
+
const [currentIndex, setCurrentIndex] = useState(null);
|
6
|
+
useEffect(()=>{
|
7
|
+
if (currentIndex === null && items.length > 0) {
|
8
|
+
setCurrentIndex(0);
|
9
|
+
}
|
10
|
+
}, [
|
11
|
+
currentIndex,
|
12
|
+
items
|
13
|
+
]);
|
14
|
+
const handleFinish = (index)=>{
|
15
|
+
if (index + 1 < items.length) {
|
16
|
+
setCurrentIndex(index + 1);
|
17
|
+
} else {
|
18
|
+
onFinish == null ? void 0 : onFinish();
|
19
|
+
}
|
20
|
+
};
|
21
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, items.map((item, index)=>/*#__PURE__*/ React.createElement(Item, {
|
22
|
+
key: item.waitingDescription,
|
23
|
+
item: _extends({}, item, {
|
24
|
+
onFinish: (result)=>{
|
25
|
+
var _item_onFinish;
|
26
|
+
item == null ? void 0 : (_item_onFinish = item.onFinish) == null ? void 0 : _item_onFinish.call(item, result);
|
27
|
+
handleFinish(index);
|
28
|
+
}
|
29
|
+
}),
|
30
|
+
start: index === currentIndex
|
31
|
+
})));
|
32
|
+
};
|
33
|
+
|
34
|
+
//# sourceMappingURL=CheckList.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/components/CheckList/CheckList.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { CheckListItem } from '@/cli/types.js';\nimport { Item } from './Item.js';\n\ninterface Props {\n items: CheckListItem<unknown>[];\n onFinish?: () => void;\n}\n\nexport const CheckList = ({ items, onFinish }: Props) => {\n const [currentIndex, setCurrentIndex] = useState<number | null>(null);\n\n useEffect(() => {\n if (currentIndex === null && items.length > 0) {\n setCurrentIndex(0);\n }\n }, [currentIndex, items]);\n\n const handleFinish = (index: number) => {\n if (index + 1 < items.length) {\n setCurrentIndex(index + 1);\n } else {\n onFinish?.();\n }\n };\n\n return (\n <>\n {items.map((item, index) => (\n <Item\n key={item.waitingDescription}\n item={{\n ...item,\n onFinish: (result: unknown) => {\n item?.onFinish?.(result);\n handleFinish(index);\n },\n }}\n start={index === currentIndex}\n />\n ))}\n </>\n );\n};\n"],"names":["React","useEffect","useState","Item","CheckList","items","onFinish","currentIndex","setCurrentIndex","length","handleFinish","index","map","item","key","waitingDescription","result","start"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,OAAOA,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAEnD,SAASC,IAAI,QAAQ,YAAY;AAOjC,OAAO,MAAMC,YAAY,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAS;IAChD,MAAM,CAACC,cAAcC,gBAAgB,GAAGN,SAAwB;IAEhED,UAAU;QACN,IAAIM,iBAAiB,QAAQF,MAAMI,MAAM,GAAG,GAAG;YAC3CD,gBAAgB;QACpB;IACJ,GAAG;QAACD;QAAcF;KAAM;IAExB,MAAMK,eAAe,CAACC;QAClB,IAAIA,QAAQ,IAAIN,MAAMI,MAAM,EAAE;YAC1BD,gBAAgBG,QAAQ;QAC5B,OAAO;YACHL,4BAAAA;QACJ;IACJ;IAEA,qBACI,0CACKD,MAAMO,GAAG,CAAC,CAACC,MAAMF,sBACd,oBAACR;YACGW,KAAKD,KAAKE,kBAAkB;YAC5BF,MAAM,aACCA;gBACHP,UAAU,CAACU;wBACPH;oBAAAA,yBAAAA,iBAAAA,KAAMP,QAAQ,qBAAdO,oBAAAA,MAAiBG;oBACjBN,aAAaC;gBACjB;;YAEJM,OAAON,UAAUJ;;AAKrC,EAAE"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { CheckListItem } from '../../types.js';
|
3
|
+
export interface ItemProps<TResult> {
|
4
|
+
item: CheckListItem<TResult>;
|
5
|
+
start: boolean;
|
6
|
+
}
|
7
|
+
export declare const Item: <TResult>({ item: { runningDescription, waitingDescription, errorDescription, finishedDescription, runner, onFinish, ready, }, start, }: ItemProps<TResult>) => React.JSX.Element;
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { StatusMessage } from '@inkjs/ui';
|
2
|
+
import { Text } from 'ink';
|
3
|
+
import React, { useEffect, useRef, useState } from 'react';
|
4
|
+
import { Spinner } from '../../components/Spinner.js';
|
5
|
+
export const Item = ({ item: { runningDescription, waitingDescription, errorDescription, finishedDescription, runner, onFinish, ready }, start })=>{
|
6
|
+
const executed = useRef(false);
|
7
|
+
const interval = useRef(null);
|
8
|
+
const [dotCount, setDotCount] = useState(0);
|
9
|
+
const [result, setResult] = useState(null);
|
10
|
+
const [failedReason, setfailedReason] = useState(null);
|
11
|
+
const hasResult = !failedReason && result !== null;
|
12
|
+
const isRunning = !failedReason && !hasResult && start && ready !== false;
|
13
|
+
const isWaiting = !failedReason && !hasResult && (!start || !ready);
|
14
|
+
const couldStartButNotReady = !failedReason && !hasResult && start && ready === false;
|
15
|
+
useEffect(()=>{
|
16
|
+
if (failedReason) {
|
17
|
+
process.exit();
|
18
|
+
}
|
19
|
+
}, [
|
20
|
+
failedReason
|
21
|
+
]);
|
22
|
+
useEffect(()=>{
|
23
|
+
if (couldStartButNotReady) {
|
24
|
+
interval.current = setInterval(()=>{
|
25
|
+
setDotCount((count)=>(count + 1) % 4);
|
26
|
+
}, 250);
|
27
|
+
} else {
|
28
|
+
if (interval.current) {
|
29
|
+
clearInterval(interval.current);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
return ()=>{
|
33
|
+
if (interval.current) {
|
34
|
+
clearInterval(interval.current);
|
35
|
+
}
|
36
|
+
};
|
37
|
+
}, [
|
38
|
+
couldStartButNotReady
|
39
|
+
]);
|
40
|
+
useEffect(()=>{
|
41
|
+
if (!start || executed.current || ready === false) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
runner().then((result)=>{
|
45
|
+
executed.current = true;
|
46
|
+
if (result === false) {
|
47
|
+
setfailedReason(errorDescription);
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
setResult(result);
|
51
|
+
onFinish == null ? void 0 : onFinish(result);
|
52
|
+
}).catch((reason)=>{
|
53
|
+
console.log(reason);
|
54
|
+
setfailedReason(reason.message);
|
55
|
+
});
|
56
|
+
}, [
|
57
|
+
errorDescription,
|
58
|
+
onFinish,
|
59
|
+
runner,
|
60
|
+
start
|
61
|
+
]);
|
62
|
+
let message = waitingDescription;
|
63
|
+
let variant = 'info';
|
64
|
+
if (failedReason) {
|
65
|
+
message = ` ${failedReason}`;
|
66
|
+
variant = 'error';
|
67
|
+
} else if (isRunning) {
|
68
|
+
message = runningDescription;
|
69
|
+
variant = 'warning';
|
70
|
+
} else if (hasResult) {
|
71
|
+
message = finishedDescription(result);
|
72
|
+
variant = 'success';
|
73
|
+
}
|
74
|
+
if (isRunning) {
|
75
|
+
return /*#__PURE__*/ React.createElement(Spinner, {
|
76
|
+
label: message
|
77
|
+
});
|
78
|
+
}
|
79
|
+
return /*#__PURE__*/ React.createElement(StatusMessage, {
|
80
|
+
variant: variant
|
81
|
+
}, /*#__PURE__*/ React.createElement(Text, {
|
82
|
+
bold: !isWaiting,
|
83
|
+
color: isRunning ? 'yellow' : isWaiting ? 'gray' : failedReason ? 'red' : 'green'
|
84
|
+
}, message, ' ', couldStartButNotReady && `— not ready yet${'.'.repeat(dotCount)}`));
|
85
|
+
};
|
86
|
+
|
87
|
+
//# sourceMappingURL=Item.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/components/CheckList/Item.tsx"],"sourcesContent":["import { StatusMessage, StatusMessageProps } from '@inkjs/ui';\nimport { Text } from 'ink';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Spinner } from '@/cli/components/Spinner.js';\nimport { CheckListItem } from '@/cli/types.js';\n\nexport interface ItemProps<TResult> {\n item: CheckListItem<TResult>;\n start: boolean;\n}\n\nexport const Item = <TResult,>({\n item: {\n runningDescription,\n waitingDescription,\n errorDescription,\n finishedDescription,\n runner,\n onFinish,\n ready,\n },\n start,\n}: ItemProps<TResult>) => {\n const executed = useRef(false);\n const interval = useRef<NodeJS.Timeout | null>(null);\n const [dotCount, setDotCount] = useState(0);\n const [result, setResult] = useState<TResult | null>(null);\n const [failedReason, setfailedReason] = useState<string | null>(null);\n const hasResult = !failedReason && result !== null;\n const isRunning = !failedReason && !hasResult && start && ready !== false;\n const isWaiting = !failedReason && !hasResult && (!start || !ready);\n const couldStartButNotReady =\n !failedReason && !hasResult && start && ready === false;\n\n useEffect(() => {\n if (failedReason) {\n process.exit();\n }\n }, [failedReason]);\n\n useEffect(() => {\n if (couldStartButNotReady) {\n interval.current = setInterval(() => {\n setDotCount((count) => (count + 1) % 4);\n }, 250);\n } else {\n if (interval.current) {\n clearInterval(interval.current);\n }\n }\n\n return () => {\n if (interval.current) {\n clearInterval(interval.current);\n }\n };\n }, [couldStartButNotReady]);\n\n useEffect(() => {\n if (!start || executed.current || ready === false) {\n return;\n }\n\n runner()\n .then((result) => {\n executed.current = true;\n\n if (result === false) {\n setfailedReason(errorDescription);\n\n return;\n }\n\n setResult(result);\n onFinish?.(result);\n })\n .catch((reason) => {\n console.log(reason);\n setfailedReason(reason.message);\n });\n }, [errorDescription, onFinish, runner, start]);\n\n let message = waitingDescription;\n let variant: StatusMessageProps['variant'] = 'info';\n\n if (failedReason) {\n message = ` ${failedReason}`;\n variant = 'error';\n } else if (isRunning) {\n message = runningDescription;\n variant = 'warning';\n } else if (hasResult) {\n message = finishedDescription(result);\n variant = 'success';\n }\n\n if (isRunning) {\n return <Spinner label={message} />;\n }\n\n return (\n <StatusMessage variant={variant}>\n <Text\n bold={!isWaiting}\n color={\n isRunning\n ? 'yellow'\n : isWaiting\n ? 'gray'\n : failedReason\n ? 'red'\n : 'green'\n }\n >\n {message}{' '}\n {couldStartButNotReady &&\n `— not ready yet${'.'.repeat(dotCount)}`}\n </Text>\n </StatusMessage>\n );\n};\n"],"names":["StatusMessage","Text","React","useEffect","useRef","useState","Spinner","Item","item","runningDescription","waitingDescription","errorDescription","finishedDescription","runner","onFinish","ready","start","executed","interval","dotCount","setDotCount","result","setResult","failedReason","setfailedReason","hasResult","isRunning","isWaiting","couldStartButNotReady","process","exit","current","setInterval","count","clearInterval","then","catch","reason","console","log","message","variant","label","bold","color","repeat"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,aAAa,QAA4B,YAAY;AAC9D,SAASC,IAAI,QAAQ,MAAM;AAC3B,OAAOC,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAC3D,SAASC,OAAO,QAAQ,8BAA8B;AAQtD,OAAO,MAAMC,OAAO,CAAW,EAC3BC,MAAM,EACFC,kBAAkB,EAClBC,kBAAkB,EAClBC,gBAAgB,EAChBC,mBAAmB,EACnBC,MAAM,EACNC,QAAQ,EACRC,KAAK,EACR,EACDC,KAAK,EACY;IACjB,MAAMC,WAAWb,OAAO;IACxB,MAAMc,WAAWd,OAA8B;IAC/C,MAAM,CAACe,UAAUC,YAAY,GAAGf,SAAS;IACzC,MAAM,CAACgB,QAAQC,UAAU,GAAGjB,SAAyB;IACrD,MAAM,CAACkB,cAAcC,gBAAgB,GAAGnB,SAAwB;IAChE,MAAMoB,YAAY,CAACF,gBAAgBF,WAAW;IAC9C,MAAMK,YAAY,CAACH,gBAAgB,CAACE,aAAaT,SAASD,UAAU;IACpE,MAAMY,YAAY,CAACJ,gBAAgB,CAACE,aAAc,CAAA,CAACT,SAAS,CAACD,KAAI;IACjE,MAAMa,wBACF,CAACL,gBAAgB,CAACE,aAAaT,SAASD,UAAU;IAEtDZ,UAAU;QACN,IAAIoB,cAAc;YACdM,QAAQC,IAAI;QAChB;IACJ,GAAG;QAACP;KAAa;IAEjBpB,UAAU;QACN,IAAIyB,uBAAuB;YACvBV,SAASa,OAAO,GAAGC,YAAY;gBAC3BZ,YAAY,CAACa,QAAU,AAACA,CAAAA,QAAQ,CAAA,IAAK;YACzC,GAAG;QACP,OAAO;YACH,IAAIf,SAASa,OAAO,EAAE;gBAClBG,cAAchB,SAASa,OAAO;YAClC;QACJ;QAEA,OAAO;YACH,IAAIb,SAASa,OAAO,EAAE;gBAClBG,cAAchB,SAASa,OAAO;YAClC;QACJ;IACJ,GAAG;QAACH;KAAsB;IAE1BzB,UAAU;QACN,IAAI,CAACa,SAASC,SAASc,OAAO,IAAIhB,UAAU,OAAO;YAC/C;QACJ;QAEAF,SACKsB,IAAI,CAAC,CAACd;YACHJ,SAASc,OAAO,GAAG;YAEnB,IAAIV,WAAW,OAAO;gBAClBG,gBAAgBb;gBAEhB;YACJ;YAEAW,UAAUD;YACVP,4BAAAA,SAAWO;QACf,GACCe,KAAK,CAAC,CAACC;YACJC,QAAQC,GAAG,CAACF;YACZb,gBAAgBa,OAAOG,OAAO;QAClC;IACR,GAAG;QAAC7B;QAAkBG;QAAUD;QAAQG;KAAM;IAE9C,IAAIwB,UAAU9B;IACd,IAAI+B,UAAyC;IAE7C,IAAIlB,cAAc;QACdiB,UAAU,CAAC,CAAC,EAAEjB,aAAa,CAAC;QAC5BkB,UAAU;IACd,OAAO,IAAIf,WAAW;QAClBc,UAAU/B;QACVgC,UAAU;IACd,OAAO,IAAIhB,WAAW;QAClBe,UAAU5B,oBAAoBS;QAC9BoB,UAAU;IACd;IAEA,IAAIf,WAAW;QACX,qBAAO,oBAACpB;YAAQoC,OAAOF;;IAC3B;IAEA,qBACI,oBAACxC;QAAcyC,SAASA;qBACpB,oBAACxC;QACG0C,MAAM,CAAChB;QACPiB,OACIlB,YACM,WACAC,YACA,SACAJ,eACA,QACA;OAGTiB,SAAS,KACTZ,yBACG,CAAC,eAAe,EAAE,IAAIiB,MAAM,CAAC1B,UAAU,CAAC;AAI5D,EAAE"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './CheckList.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/components/CheckList/index.ts"],"sourcesContent":["export * from './CheckList.js';\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,iBAAiB"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
2
|
+
import { Spinner as InkUiSpinner, extendTheme, defaultTheme, ThemeProvider } from '@inkjs/ui';
|
3
|
+
import React from 'react';
|
4
|
+
const SpinnerTheme = extendTheme(defaultTheme, {
|
5
|
+
components: {
|
6
|
+
Spinner: {
|
7
|
+
styles: {
|
8
|
+
frame: ()=>({
|
9
|
+
color: 'yellowBright'
|
10
|
+
}),
|
11
|
+
label: ()=>({
|
12
|
+
color: 'yellowBright'
|
13
|
+
})
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
});
|
18
|
+
export const Spinner = (props)=>{
|
19
|
+
return /*#__PURE__*/ React.createElement(ThemeProvider, {
|
20
|
+
theme: SpinnerTheme
|
21
|
+
}, /*#__PURE__*/ React.createElement(InkUiSpinner, _extends({}, props, {
|
22
|
+
label: ` ${props.label}`
|
23
|
+
})));
|
24
|
+
};
|
25
|
+
|
26
|
+
//# sourceMappingURL=Spinner.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../libs/cli/src/components/Spinner.tsx"],"sourcesContent":["import {\n Spinner as InkUiSpinner,\n SpinnerProps,\n extendTheme,\n defaultTheme,\n ThemeProvider,\n} from '@inkjs/ui';\nimport { TextProps } from 'ink';\nimport React from 'react';\n\nconst SpinnerTheme = extendTheme(defaultTheme, {\n components: {\n Spinner: {\n styles: {\n frame: (): TextProps => ({\n color: 'yellowBright',\n }),\n label: (): TextProps => ({\n color: 'yellowBright',\n }),\n },\n },\n },\n});\n\nexport const Spinner = (props: SpinnerProps) => {\n return (\n <ThemeProvider theme={SpinnerTheme}>\n <InkUiSpinner {...props} label={` ${props.label}`} />\n </ThemeProvider>\n );\n};\n"],"names":["Spinner","InkUiSpinner","extendTheme","defaultTheme","ThemeProvider","React","SpinnerTheme","components","styles","frame","color","label","props","theme"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SACIA,WAAWC,YAAY,EAEvBC,WAAW,EACXC,YAAY,EACZC,aAAa,QACV,YAAY;AAEnB,OAAOC,WAAW,QAAQ;AAE1B,MAAMC,eAAeJ,YAAYC,cAAc;IAC3CI,YAAY;QACRP,SAAS;YACLQ,QAAQ;gBACJC,OAAO,IAAkB,CAAA;wBACrBC,OAAO;oBACX,CAAA;gBACAC,OAAO,IAAkB,CAAA;wBACrBD,OAAO;oBACX,CAAA;YACJ;QACJ;IACJ;AACJ;AAEA,OAAO,MAAMV,UAAU,CAACY;IACpB,qBACI,oBAACR;QAAcS,OAAOP;qBAClB,oBAACL,2BAAiBW;QAAOD,OAAO,CAAC,CAAC,EAAEC,MAAMD,KAAK,CAAC,CAAC;;AAG7D,EAAE"}
|
package/src/constants.js
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
import { join } from 'node:path';
|
2
|
+
import { __dirname } from './utils/dirname.js';
|
3
|
+
export const TypescriptReservedNamed = [
|
4
|
+
'delete',
|
5
|
+
'new',
|
6
|
+
'function'
|
7
|
+
];
|
8
|
+
export const RootFolder = join(__dirname, '..', '..');
|
9
|
+
export const DataFolder = join(RootFolder, 'src', 'data');
|
10
|
+
|
11
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../libs/cli/src/constants.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { __dirname } from './utils/dirname.js';\n\nexport const TypescriptReservedNamed = ['delete', 'new', 'function'];\nexport const RootFolder = join(__dirname, '..', '..');\nexport const DataFolder = join(RootFolder, 'src', 'data');\n"],"names":["join","__dirname","TypescriptReservedNamed","RootFolder","DataFolder"],"rangeMappings":";;;;;;;;","mappings":"AAAA,SAASA,IAAI,QAAQ,YAAY;AACjC,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,OAAO,MAAMC,0BAA0B;IAAC;IAAU;IAAO;CAAW,CAAC;AACrE,OAAO,MAAMC,aAAaH,KAAKC,WAAW,MAAM,MAAM;AACtD,OAAO,MAAMG,aAAaJ,KAAKG,YAAY,OAAO,QAAQ"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { EnvironmentHealthResult } from '../types.js';
|
2
|
+
/**
|
3
|
+
* Will create a configuration object from the environment.
|
4
|
+
*/
|
5
|
+
export declare const createEnvironment: (input?: {
|
6
|
+
/**
|
7
|
+
* The environment to create the configuration from.
|
8
|
+
*
|
9
|
+
* Defaults to `process.env`.
|
10
|
+
*/
|
11
|
+
environment: Record<string, unknown>;
|
12
|
+
}) => EnvironmentHealthResult;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { HealthCheckStatusType } from '../types.js';
|
2
|
+
import { Environment } from './dto/Environment.js';
|
3
|
+
import { getPlaydateSdkPath } from './path/getPlaydateSdkPath.js';
|
4
|
+
/**
|
5
|
+
* Will create a configuration object from the environment.
|
6
|
+
*/ export const createEnvironment = (input)=>{
|
7
|
+
const { environment = process.env } = input != null ? input : {};
|
8
|
+
let sdkPath;
|
9
|
+
try {
|
10
|
+
sdkPath = getPlaydateSdkPath({
|
11
|
+
environment
|
12
|
+
});
|
13
|
+
} catch (error) {
|
14
|
+
return {
|
15
|
+
isHealthy: false,
|
16
|
+
health: {
|
17
|
+
sdkPathKnown: {
|
18
|
+
healthStatus: HealthCheckStatusType.Unhealthy
|
19
|
+
}
|
20
|
+
}
|
21
|
+
};
|
22
|
+
}
|
23
|
+
return {
|
24
|
+
isHealthy: true,
|
25
|
+
environment: new Environment({
|
26
|
+
sdkPath
|
27
|
+
}),
|
28
|
+
health: {
|
29
|
+
sdkPathKnown: {
|
30
|
+
healthStatus: HealthCheckStatusType.Healthy,
|
31
|
+
argument: sdkPath
|
32
|
+
}
|
33
|
+
}
|
34
|
+
};
|
35
|
+
};
|
36
|
+
|
37
|
+
//# sourceMappingURL=createEnvironment.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../libs/cli/src/environment/createEnvironment.ts"],"sourcesContent":["import { EnvironmentHealthResult, HealthCheckStatusType } from '../types.js';\nimport { Environment } from './dto/Environment.js';\nimport { PlaydateSdkPath } from './path/dto/PlaydateSdkPath.js';\nimport { getPlaydateSdkPath } from './path/getPlaydateSdkPath.js';\n\n/**\n * Will create a configuration object from the environment.\n */\nexport const createEnvironment = (input?: {\n /**\n * The environment to create the configuration from.\n *\n * Defaults to `process.env`.\n */\n environment: Record<string, unknown>;\n}): EnvironmentHealthResult => {\n const { environment = process.env } = input ?? {};\n let sdkPath: PlaydateSdkPath;\n\n try {\n sdkPath = getPlaydateSdkPath({ environment });\n } catch (error) {\n return {\n isHealthy: false,\n health: {\n sdkPathKnown: { healthStatus: HealthCheckStatusType.Unhealthy },\n },\n };\n }\n\n return {\n isHealthy: true,\n environment: new Environment({\n sdkPath,\n }),\n health: {\n sdkPathKnown: {\n healthStatus: HealthCheckStatusType.Healthy,\n argument: sdkPath,\n },\n },\n };\n};\n"],"names":["HealthCheckStatusType","Environment","getPlaydateSdkPath","createEnvironment","input","environment","process","env","sdkPath","error","isHealthy","health","sdkPathKnown","healthStatus","Unhealthy","Healthy","argument"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAAkCA,qBAAqB,QAAQ,cAAc;AAC7E,SAASC,WAAW,QAAQ,uBAAuB;AAEnD,SAASC,kBAAkB,QAAQ,+BAA+B;AAElE;;CAEC,GACD,OAAO,MAAMC,oBAAoB,CAACC;IAQ9B,MAAM,EAAEC,cAAcC,QAAQC,GAAG,EAAE,GAAGH,gBAAAA,QAAS,CAAC;IAChD,IAAII;IAEJ,IAAI;QACAA,UAAUN,mBAAmB;YAAEG;QAAY;IAC/C,EAAE,OAAOI,OAAO;QACZ,OAAO;YACHC,WAAW;YACXC,QAAQ;gBACJC,cAAc;oBAAEC,cAAcb,sBAAsBc,SAAS;gBAAC;YAClE;QACJ;IACJ;IAEA,OAAO;QACHJ,WAAW;QACXL,aAAa,IAAIJ,YAAY;YACzBO;QACJ;QACAG,QAAQ;YACJC,cAAc;gBACVC,cAAcb,sBAAsBe,OAAO;gBAC3CC,UAAUR;YACd;QACJ;IACJ;AACJ,EAAE"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/environment/dto/Environment.ts"],"sourcesContent":["import { PlaydateSdkPath } from '../path/dto/PlaydateSdkPath.js';\n\nexport class Environment {\n sdkPath: PlaydateSdkPath;\n\n public constructor({ sdkPath }: { sdkPath: PlaydateSdkPath }) {\n this.sdkPath = sdkPath;\n }\n}\n"],"names":["Environment","sdkPath"],"rangeMappings":";;;;","mappings":"AAEA,OAAO,MAAMA;IAGT,YAAmB,EAAEC,OAAO,EAAgC,CAAE;QAC1D,IAAI,CAACA,OAAO,GAAGA;IACnB;AACJ"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/environment/error/EnvironmentError.ts"],"sourcesContent":["export class EnvironmentError extends Error {}\n"],"names":["EnvironmentError","Error"],"rangeMappings":";","mappings":"AAAA,OAAO,MAAMA,yBAAyBC;AAAO"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/cli/src/environment/path/dto/PlaydateSdkPath.ts"],"sourcesContent":["export class PlaydateSdkPath {\n private constructor(public readonly path: string) {}\n\n public static fromString(path: string): PlaydateSdkPath {\n return new PlaydateSdkPath(path);\n }\n}\n"],"names":["PlaydateSdkPath","fromString","path"],"rangeMappings":";;;;;;;","mappings":"AAAA,OAAO,MAAMA;IAGT,OAAcC,WAAWC,IAAY,EAAmB;QACpD,OAAO,IAAIF,gBAAgBE;IAC/B;IAJA,YAAoB,AAAgBA,IAAY,CAAE;aAAdA,OAAAA;IAAe;AAKvD"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { EnvironmentError } from '../../error/EnvironmentError.js';
|
2
|
+
export class PlaydateSdkPathVariableNotSetError extends EnvironmentError {
|
3
|
+
constructor(){
|
4
|
+
super('Playdate SDK path variable not set.');
|
5
|
+
}
|
6
|
+
}
|
7
|
+
|
8
|
+
//# sourceMappingURL=PlaydateSdkPathVariableNotSetError.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/cli/src/environment/path/error/PlaydateSdkPathVariableNotSetError.ts"],"sourcesContent":["import { EnvironmentError } from '../../error/EnvironmentError.js';\n\nexport class PlaydateSdkPathVariableNotSetError extends EnvironmentError {\n constructor() {\n super('Playdate SDK path variable not set.');\n }\n}\n"],"names":["EnvironmentError","PlaydateSdkPathVariableNotSetError","constructor"],"rangeMappings":";;;;;","mappings":"AAAA,SAASA,gBAAgB,QAAQ,kCAAkC;AAEnE,OAAO,MAAMC,2CAA2CD;IACpDE,aAAc;QACV,KAAK,CAAC;IACV;AACJ"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { PlaydateSdkPath } from './dto/PlaydateSdkPath.js';
|
2
|
+
/**
|
3
|
+
* Get the path to the Playdate SDK from the environment.
|
4
|
+
*
|
5
|
+
* @throws {PlaydateSdkPathVariableNotSetError} Thrown if the PLAYDATE_SDK_PATH environment variable is not set.
|
6
|
+
*/
|
7
|
+
export declare const getPlaydateSdkPath: (input: {
|
8
|
+
/**
|
9
|
+
* The environment to get the Playdate SDK path from.
|
10
|
+
*
|
11
|
+
* Defaults to `process.env`.
|
12
|
+
*/
|
13
|
+
environment: Record<string, unknown>;
|
14
|
+
}) => PlaydateSdkPath;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import * as process from 'node:process';
|
2
|
+
import { PlaydateSdkPath } from './dto/PlaydateSdkPath.js';
|
3
|
+
import { PlaydateSdkPathVariableNotSetError } from './error/PlaydateSdkPathVariableNotSetError.js';
|
4
|
+
/**
|
5
|
+
* Get the path to the Playdate SDK from the environment.
|
6
|
+
*
|
7
|
+
* @throws {PlaydateSdkPathVariableNotSetError} Thrown if the PLAYDATE_SDK_PATH environment variable is not set.
|
8
|
+
*/ export const getPlaydateSdkPath = (input)=>{
|
9
|
+
const { environment = process.env } = input;
|
10
|
+
if (!('PLAYDATE_SDK_PATH' in environment)) {
|
11
|
+
throw new PlaydateSdkPathVariableNotSetError();
|
12
|
+
}
|
13
|
+
return PlaydateSdkPath.fromString(environment['PLAYDATE_SDK_PATH']);
|
14
|
+
};
|
15
|
+
|
16
|
+
//# sourceMappingURL=getPlaydateSdkPath.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/cli/src/environment/path/getPlaydateSdkPath.ts"],"sourcesContent":["import * as process from 'node:process';\nimport { PlaydateSdkPath } from './dto/PlaydateSdkPath.js';\nimport { PlaydateSdkPathVariableNotSetError } from './error/PlaydateSdkPathVariableNotSetError.js';\n\n/**\n * Get the path to the Playdate SDK from the environment.\n *\n * @throws {PlaydateSdkPathVariableNotSetError} Thrown if the PLAYDATE_SDK_PATH environment variable is not set.\n */\nexport const getPlaydateSdkPath = (input: {\n /**\n * The environment to get the Playdate SDK path from.\n *\n * Defaults to `process.env`.\n */\n environment: Record<string, unknown>;\n}) => {\n const { environment = process.env } = input;\n\n if (!('PLAYDATE_SDK_PATH' in environment)) {\n throw new PlaydateSdkPathVariableNotSetError();\n }\n\n return PlaydateSdkPath.fromString(\n environment['PLAYDATE_SDK_PATH'] as string\n );\n};\n"],"names":["process","PlaydateSdkPath","PlaydateSdkPathVariableNotSetError","getPlaydateSdkPath","input","environment","env","fromString"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAAA,YAAYA,aAAa,eAAe;AACxC,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,kCAAkC,QAAQ,gDAAgD;AAEnG;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,CAACC;IAQ/B,MAAM,EAAEC,cAAcL,QAAQM,GAAG,EAAE,GAAGF;IAEtC,IAAI,CAAE,CAAA,uBAAuBC,WAAU,GAAI;QACvC,MAAM,IAAIH;IACd;IAEA,OAAOD,gBAAgBM,UAAU,CAC7BF,WAAW,CAAC,oBAAoB;AAExC,EAAE"}
|
package/src/index.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#!/usr/bin/env node
|
1
|
+
#!/usr/bin/env node --no-warnings=ExperimentalWarning
|
2
2
|
export {};
|
package/src/index.js
CHANGED
@@ -1,14 +1,33 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
|
8
|
-
|
1
|
+
#!/usr/bin/env node --no-warnings=ExperimentalWarning
|
2
|
+
import { readFileSync } from 'fs';
|
3
|
+
import { join } from 'node:path';
|
4
|
+
import { Builtins, Cli } from 'clipanion';
|
5
|
+
import { CompileCommand } from './commands/CompileCommand/index.js';
|
6
|
+
import { DoctorCommand } from './commands/DoctorCommand.js';
|
7
|
+
import { GenerateTypesCommand } from './commands/GenerateTypes/index.js';
|
8
|
+
import { NewCommand } from './commands/NewCommand/NewCommand.js';
|
9
|
+
import { SimulatorCommand } from './commands/SimulatorCommand/index.js';
|
10
|
+
import { TranspileCommand } from './commands/TranspileCommand/index.js';
|
11
|
+
import { RootFolder } from './constants.js';
|
12
|
+
const packageJsonContents = readFileSync(join(RootFolder, 'package.json'), 'utf-8');
|
9
13
|
const packageJson = JSON.parse(packageJsonContents);
|
10
|
-
|
11
|
-
|
12
|
-
|
14
|
+
const args = process.argv.slice(2);
|
15
|
+
const cli = new Cli({
|
16
|
+
binaryLabel: 'crankscript',
|
17
|
+
binaryName: 'crankscript',
|
18
|
+
binaryVersion: packageJson.version
|
19
|
+
});
|
20
|
+
process.on('SIGINT', function() {
|
21
|
+
process.exit();
|
22
|
+
});
|
23
|
+
cli.register(Builtins.HelpCommand);
|
24
|
+
cli.register(Builtins.VersionCommand);
|
25
|
+
cli.register(DoctorCommand);
|
26
|
+
cli.register(NewCommand);
|
27
|
+
cli.register(TranspileCommand);
|
28
|
+
cli.register(CompileCommand);
|
29
|
+
cli.register(GenerateTypesCommand);
|
30
|
+
cli.register(SimulatorCommand);
|
31
|
+
cli.runExit(args);
|
13
32
|
|
14
33
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../libs/cli/src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport
|
1
|
+
{"version":3,"sources":["../../../../libs/cli/src/index.ts"],"sourcesContent":["#!/usr/bin/env node --no-warnings=ExperimentalWarning\n\nimport { readFileSync } from 'fs';\nimport { join } from 'node:path';\nimport { Builtins, Cli } from 'clipanion';\nimport { CompileCommand } from '@/cli/commands/CompileCommand/index.js';\nimport { DoctorCommand } from '@/cli/commands/DoctorCommand.js';\nimport { GenerateTypesCommand } from '@/cli/commands/GenerateTypes/index.js';\nimport { NewCommand } from '@/cli/commands/NewCommand/NewCommand.js';\nimport { SimulatorCommand } from '@/cli/commands/SimulatorCommand/index.js';\nimport { TranspileCommand } from '@/cli/commands/TranspileCommand/index.js';\nimport { RootFolder } from '@/cli/constants.js';\n\nconst packageJsonContents = readFileSync(\n join(RootFolder, 'package.json'),\n 'utf-8'\n);\nconst packageJson = JSON.parse(packageJsonContents);\n\nconst args = process.argv.slice(2);\n\nconst cli = new Cli({\n binaryLabel: 'crankscript',\n binaryName: 'crankscript',\n binaryVersion: packageJson.version,\n});\n\nprocess.on('SIGINT', function () {\n process.exit();\n});\n\ncli.register(Builtins.HelpCommand);\ncli.register(Builtins.VersionCommand);\ncli.register(DoctorCommand);\ncli.register(NewCommand);\ncli.register(TranspileCommand);\ncli.register(CompileCommand);\ncli.register(GenerateTypesCommand);\ncli.register(SimulatorCommand);\ncli.runExit(args);\n"],"names":["readFileSync","join","Builtins","Cli","CompileCommand","DoctorCommand","GenerateTypesCommand","NewCommand","SimulatorCommand","TranspileCommand","RootFolder","packageJsonContents","packageJson","JSON","parse","args","process","argv","slice","cli","binaryLabel","binaryName","binaryVersion","version","on","exit","register","HelpCommand","VersionCommand","runExit"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAEA,SAASA,YAAY,QAAQ,KAAK;AAClC,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,QAAQ,EAAEC,GAAG,QAAQ,YAAY;AAC1C,SAASC,cAAc,QAAQ,yCAAyC;AACxE,SAASC,aAAa,QAAQ,kCAAkC;AAChE,SAASC,oBAAoB,QAAQ,wCAAwC;AAC7E,SAASC,UAAU,QAAQ,0CAA0C;AACrE,SAASC,gBAAgB,QAAQ,2CAA2C;AAC5E,SAASC,gBAAgB,QAAQ,2CAA2C;AAC5E,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,MAAMC,sBAAsBX,aACxBC,KAAKS,YAAY,iBACjB;AAEJ,MAAME,cAAcC,KAAKC,KAAK,CAACH;AAE/B,MAAMI,OAAOC,QAAQC,IAAI,CAACC,KAAK,CAAC;AAEhC,MAAMC,MAAM,IAAIhB,IAAI;IAChBiB,aAAa;IACbC,YAAY;IACZC,eAAeV,YAAYW,OAAO;AACtC;AAEAP,QAAQQ,EAAE,CAAC,UAAU;IACjBR,QAAQS,IAAI;AAChB;AAEAN,IAAIO,QAAQ,CAACxB,SAASyB,WAAW;AACjCR,IAAIO,QAAQ,CAACxB,SAAS0B,cAAc;AACpCT,IAAIO,QAAQ,CAACrB;AACbc,IAAIO,QAAQ,CAACnB;AACbY,IAAIO,QAAQ,CAACjB;AACbU,IAAIO,QAAQ,CAACtB;AACbe,IAAIO,QAAQ,CAACpB;AACba,IAAIO,QAAQ,CAAClB;AACbW,IAAIU,OAAO,CAACd"}
|