crankscript 0.4.0 → 0.5.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 (71) hide show
  1. package/package.json +25 -26
  2. package/src/commands/DoctorCommand.js +2 -2
  3. package/src/commands/DoctorCommand.js.map +1 -1
  4. package/src/commands/EnvironmentAwareCommand/EnvironmentAwareCommand.d.ts +2 -2
  5. package/src/commands/EnvironmentAwareCommand/EnvironmentAwareCommand.js +4 -4
  6. package/src/commands/EnvironmentAwareCommand/EnvironmentAwareCommand.js.map +1 -1
  7. package/src/commands/EnvironmentAwareCommand/components/HealthReport.d.ts +3 -3
  8. package/src/commands/EnvironmentAwareCommand/components/HealthReport.js +16 -22
  9. package/src/commands/EnvironmentAwareCommand/components/HealthReport.js.map +1 -1
  10. package/src/commands/GenerateTypes/GenerateTypesCommand.d.ts +4 -4
  11. package/src/commands/GenerateTypes/GenerateTypesCommand.js +15 -9
  12. package/src/commands/GenerateTypes/GenerateTypesCommand.js.map +1 -1
  13. package/src/commands/GenerateTypes/components/GenerateTypes.d.ts +4 -3
  14. package/src/commands/GenerateTypes/components/GenerateTypes.js +12 -8
  15. package/src/commands/GenerateTypes/components/GenerateTypes.js.map +1 -1
  16. package/src/commands/GenerateTypes/fn/generateNamespace.d.ts +3 -0
  17. package/src/commands/GenerateTypes/fn/generateNamespace.js +33 -0
  18. package/src/commands/GenerateTypes/fn/generateNamespace.js.map +1 -0
  19. package/src/commands/GenerateTypes/fn/getApiDefinitions.d.ts +14 -0
  20. package/src/commands/GenerateTypes/fn/getApiDefinitions.js +58 -0
  21. package/src/commands/GenerateTypes/fn/getApiDefinitions.js.map +1 -0
  22. package/src/commands/GenerateTypes/fn/getFunctionDescriptionsFromHtml.d.ts +2 -0
  23. package/src/commands/GenerateTypes/fn/getFunctionDescriptionsFromHtml.js +37 -0
  24. package/src/commands/GenerateTypes/fn/getFunctionDescriptionsFromHtml.js.map +1 -0
  25. package/src/commands/GenerateTypes/fn/parseFunctionSignature.d.ts +10 -0
  26. package/src/commands/GenerateTypes/fn/parseFunctionSignature.js +24 -0
  27. package/src/commands/GenerateTypes/fn/parseFunctionSignature.js.map +1 -0
  28. package/src/commands/GenerateTypes/hooks/useFetchHtml.js +1 -1
  29. package/src/commands/GenerateTypes/hooks/useGenerateTypeFile.d.ts +2 -1
  30. package/src/commands/GenerateTypes/hooks/useGenerateTypeFile.js +29 -9
  31. package/src/commands/GenerateTypes/hooks/useGenerateTypeFile.js.map +1 -1
  32. package/src/commands/GenerateTypes/hooks/useGetVersion.d.ts +2 -2
  33. package/src/commands/GenerateTypes/hooks/useGetVersion.js +2 -2
  34. package/src/commands/GenerateTypes/hooks/useGetVersion.js.map +1 -1
  35. package/src/commands/GenerateTypes/hooks/useParseDocumentation.d.ts +25 -0
  36. package/src/commands/GenerateTypes/hooks/useParseDocumentation.js +33 -0
  37. package/src/commands/GenerateTypes/hooks/useParseDocumentation.js.map +1 -0
  38. package/src/commands/GenerateTypes/utils/playdateConstants.d.ts +9 -0
  39. package/src/commands/GenerateTypes/utils/playdateConstants.js +134 -0
  40. package/src/commands/GenerateTypes/utils/playdateConstants.js.map +1 -0
  41. package/src/components/CheckList/CheckList.d.ts +1 -1
  42. package/src/components/CheckList/Item.d.ts +1 -1
  43. package/src/constants.d.ts +1 -0
  44. package/src/constants.js +5 -0
  45. package/src/constants.js.map +1 -1
  46. package/src/environment/createEnvironment.js +8 -24
  47. package/src/environment/createEnvironment.js.map +1 -1
  48. package/src/environment/dto/Environment.d.ts +1 -4
  49. package/src/environment/dto/Environment.js +1 -2
  50. package/src/environment/dto/Environment.js.map +1 -1
  51. package/src/index.d.ts +1 -1
  52. package/src/index.js +4 -4
  53. package/src/index.js.map +1 -1
  54. package/src/types.d.ts +44 -10
  55. package/src/types.js +6 -12
  56. package/src/types.js.map +1 -1
  57. package/src/environment/configuration/ConfigurationSchema.d.ts +0 -9
  58. package/src/environment/configuration/ConfigurationSchema.js +0 -9
  59. package/src/environment/configuration/ConfigurationSchema.js.map +0 -1
  60. package/src/environment/configuration/dto/Configuration.d.ts +0 -4
  61. package/src/environment/configuration/dto/Configuration.js +0 -7
  62. package/src/environment/configuration/dto/Configuration.js.map +0 -1
  63. package/src/environment/configuration/error/ConfigurationFileNotFoundError.d.ts +0 -4
  64. package/src/environment/configuration/error/ConfigurationFileNotFoundError.js +0 -8
  65. package/src/environment/configuration/error/ConfigurationFileNotFoundError.js.map +0 -1
  66. package/src/environment/configuration/error/ConfigurationFileValidationError.d.ts +0 -5
  67. package/src/environment/configuration/error/ConfigurationFileValidationError.js +0 -8
  68. package/src/environment/configuration/error/ConfigurationFileValidationError.js.map +0 -1
  69. package/src/environment/configuration/getConfiguration.d.ts +0 -4
  70. package/src/environment/configuration/getConfiguration.js +0 -31
  71. package/src/environment/configuration/getConfiguration.js.map +0 -1
package/src/types.js CHANGED
@@ -1,18 +1,12 @@
1
1
  export var PlaydateSdkVersionIdentifier;
2
2
  (function(PlaydateSdkVersionIdentifier) {
3
- PlaydateSdkVersionIdentifier["FromConfig"] = "FromConfig";
4
3
  PlaydateSdkVersionIdentifier["Latest"] = "latest";
5
4
  })(PlaydateSdkVersionIdentifier || (PlaydateSdkVersionIdentifier = {}));
6
- export var HealthCheckStatus;
7
- (function(HealthCheckStatus) {
8
- HealthCheckStatus["Healthy"] = "Healthy";
9
- HealthCheckStatus["Unhealthy"] = "Unhealthy";
10
- HealthCheckStatus["Unknown"] = "Unknown";
11
- })(HealthCheckStatus || (HealthCheckStatus = {}));
12
- export var ConfigurationFileValidationErrorType;
13
- (function(ConfigurationFileValidationErrorType) {
14
- ConfigurationFileValidationErrorType["InvalidJson"] = "InvalidJson";
15
- ConfigurationFileValidationErrorType["InvalidSchema"] = "InvalidSchema";
16
- })(ConfigurationFileValidationErrorType || (ConfigurationFileValidationErrorType = {}));
5
+ export var HealthCheckStatusType;
6
+ (function(HealthCheckStatusType) {
7
+ HealthCheckStatusType["Healthy"] = "Healthy";
8
+ HealthCheckStatusType["Unhealthy"] = "Unhealthy";
9
+ HealthCheckStatusType["Unknown"] = "Unknown";
10
+ })(HealthCheckStatusType || (HealthCheckStatusType = {}));
17
11
 
18
12
  //# sourceMappingURL=types.js.map
package/src/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../libs/cli/src/types.ts"],"sourcesContent":["import { Environment } from '@/cli/environment/dto/Environment.js';\n\nexport enum PlaydateSdkVersionIdentifier {\n FromConfig = 'FromConfig',\n Latest = 'latest',\n}\n\nexport type EnvironmentHealthResult =\n | {\n isHealthy: true;\n environment: Environment;\n health: EnvironmentHealth;\n }\n | {\n isHealthy: false;\n health: EnvironmentHealth;\n };\n\nexport enum HealthCheckStatus {\n Healthy = 'Healthy',\n Unhealthy = 'Unhealthy',\n Unknown = 'Unknown',\n}\n\nexport interface EnvironmentHealth {\n configurationFilePresent: HealthCheckStatus;\n configurationFileValid: HealthCheckStatus;\n sdkPathKnown: HealthCheckStatus;\n}\n\nexport enum ConfigurationFileValidationErrorType {\n InvalidJson = 'InvalidJson',\n InvalidSchema = 'InvalidSchema',\n}\n\nexport type CheckListItem<TResult> = {\n runningDescription: string;\n waitingDescription: string;\n errorDescription: string;\n finishedDescription: (result: TResult) => string;\n runner: () => Promise<TResult> | Promise<false>;\n onFinish?: (result: TResult) => void;\n ready?: boolean;\n};\n"],"names":["PlaydateSdkVersionIdentifier","HealthCheckStatus","ConfigurationFileValidationErrorType"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":";UAEYA;;;GAAAA,iCAAAA;;UAgBAC;;;;GAAAA,sBAAAA;;UAYAC;;;GAAAA,yCAAAA"}
1
+ {"version":3,"sources":["../../../../libs/cli/src/types.ts"],"sourcesContent":["import { Environment } from '@/cli/environment/dto/Environment.js';\nimport { PlaydateSdkPath } from '@/cli/environment/path/dto/PlaydateSdkPath.js';\n\nexport enum PlaydateSdkVersionIdentifier {\n Latest = 'latest',\n}\n\nexport type PlaydateSdkVersion = PlaydateSdkVersionIdentifier.Latest | string;\n\nexport type EnvironmentHealthResult =\n | {\n isHealthy: true;\n environment: Environment;\n health: EnvironmentHealth;\n }\n | {\n isHealthy: false;\n health: EnvironmentHealth;\n };\n\nexport enum HealthCheckStatusType {\n Healthy = 'Healthy',\n Unhealthy = 'Unhealthy',\n Unknown = 'Unknown',\n}\n\nexport type HealthCheckStatus<TArgument> =\n | {\n healthStatus:\n | HealthCheckStatusType.Unknown\n | HealthCheckStatusType.Unhealthy;\n }\n | {\n healthStatus: HealthCheckStatusType.Healthy;\n argument: TArgument;\n };\n\nexport interface EnvironmentHealth {\n sdkPathKnown: HealthCheckStatus<PlaydateSdkPath>;\n}\n\nexport type CheckListItem<TResult> = {\n runningDescription: string;\n waitingDescription: string;\n errorDescription: string;\n finishedDescription: (result: TResult) => string;\n runner: () => Promise<TResult> | Promise<false>;\n onFinish?: (result: TResult) => void;\n ready?: boolean;\n};\n\nexport interface ParameterDescription {\n name: string;\n required: boolean;\n type: string;\n}\n\nexport interface FunctionDescription {\n name: string;\n namespaces: string[];\n parameters: ParameterDescription[];\n hasSelf: boolean;\n docs: string;\n}\n\nexport interface ConstantDescription {\n name: string;\n docs: string;\n values: {\n name: string;\n value: number;\n docs: string;\n }[];\n}\n\nexport interface PlaydateNamespace {\n functions: FunctionDescription[];\n callbacks: FunctionDescription[];\n}\n\nexport interface PlaydateType {\n methods: FunctionDescription[];\n}\n\nexport interface ApiDefinitions {\n namespaces: Record<string, PlaydateNamespace>;\n types: Record<string, PlaydateType>;\n constants: ConstantDescription[];\n}\n"],"names":["PlaydateSdkVersionIdentifier","HealthCheckStatusType"],"rangeMappings":";;;;;;;;;","mappings":";UAGYA;;GAAAA,iCAAAA;;UAiBAC;;;;GAAAA,0BAAAA"}
@@ -1,9 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const ConfigurationSchema: z.ZodObject<{
3
- version: z.ZodUnion<[z.ZodString, z.ZodLiteral<"latest">]>;
4
- }, "strip", z.ZodTypeAny, {
5
- version: string;
6
- }, {
7
- version: string;
8
- }>;
9
- export type ConfigurationType = z.infer<typeof ConfigurationSchema>;
@@ -1,9 +0,0 @@
1
- import { z } from 'zod';
2
- export const ConfigurationSchema = z.object({
3
- version: z.union([
4
- z.string().regex(/^\d+\.\d+\.\d+$/),
5
- z.literal('latest')
6
- ])
7
- });
8
-
9
- //# sourceMappingURL=ConfigurationSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../libs/cli/src/environment/configuration/ConfigurationSchema.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const ConfigurationSchema = z.object({\n version: z.union([\n z.string().regex(/^\\d+\\.\\d+\\.\\d+$/),\n z.literal('latest'),\n ]),\n});\n\nexport type ConfigurationType = z.infer<typeof ConfigurationSchema>;\n"],"names":["z","ConfigurationSchema","object","version","union","string","regex","literal"],"rangeMappings":";;;;;;","mappings":"AAAA,SAASA,CAAC,QAAQ,MAAM;AAExB,OAAO,MAAMC,sBAAsBD,EAAEE,MAAM,CAAC;IACxCC,SAASH,EAAEI,KAAK,CAAC;QACbJ,EAAEK,MAAM,GAAGC,KAAK,CAAC;QACjBN,EAAEO,OAAO,CAAC;KACb;AACL,GAAG"}
@@ -1,4 +0,0 @@
1
- export declare class Configuration {
2
- readonly version: string;
3
- constructor(version: string);
4
- }
@@ -1,7 +0,0 @@
1
- export class Configuration {
2
- constructor(version){
3
- this.version = version;
4
- }
5
- }
6
-
7
- //# sourceMappingURL=Configuration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../libs/cli/src/environment/configuration/dto/Configuration.ts"],"sourcesContent":["export class Configuration {\n public constructor(public readonly version: string) {}\n}\n"],"names":["Configuration","version"],"rangeMappings":";;;;","mappings":"AAAA,OAAO,MAAMA;IACT,YAAmB,AAAgBC,OAAe,CAAE;aAAjBA,UAAAA;IAAkB;AACzD"}
@@ -1,4 +0,0 @@
1
- import { EnvironmentError } from '../../error/EnvironmentError.js';
2
- export declare class ConfigurationFileNotFoundError extends EnvironmentError {
3
- constructor();
4
- }
@@ -1,8 +0,0 @@
1
- import { EnvironmentError } from '../../error/EnvironmentError.js';
2
- export class ConfigurationFileNotFoundError extends EnvironmentError {
3
- constructor(){
4
- super('Configuration file not found');
5
- }
6
- }
7
-
8
- //# sourceMappingURL=ConfigurationFileNotFoundError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../libs/cli/src/environment/configuration/error/ConfigurationFileNotFoundError.ts"],"sourcesContent":["import { EnvironmentError } from '../../error/EnvironmentError.js';\n\nexport class ConfigurationFileNotFoundError extends EnvironmentError {\n public constructor() {\n super('Configuration file not found');\n }\n}\n"],"names":["EnvironmentError","ConfigurationFileNotFoundError"],"rangeMappings":";;;;;","mappings":"AAAA,SAASA,gBAAgB,QAAQ,kCAAkC;AAEnE,OAAO,MAAMC,uCAAuCD;IAChD,aAAqB;QACjB,KAAK,CAAC;IACV;AACJ"}
@@ -1,5 +0,0 @@
1
- import { ConfigurationFileValidationErrorType } from '../../../types.js';
2
- import { EnvironmentError } from '../../error/EnvironmentError.js';
3
- export declare class ConfigurationFileValidationError extends EnvironmentError {
4
- constructor(errorType: ConfigurationFileValidationErrorType, reason?: string);
5
- }
@@ -1,8 +0,0 @@
1
- import { EnvironmentError } from '../../error/EnvironmentError.js';
2
- export class ConfigurationFileValidationError extends EnvironmentError {
3
- constructor(errorType, reason = 'Unknown reason'){
4
- super(`Configuration file is invalid (${errorType}): ${reason}`);
5
- }
6
- }
7
-
8
- //# sourceMappingURL=ConfigurationFileValidationError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../libs/cli/src/environment/configuration/error/ConfigurationFileValidationError.ts"],"sourcesContent":["import { ConfigurationFileValidationErrorType } from '../../../types.js';\nimport { EnvironmentError } from '../../error/EnvironmentError.js';\n\nexport class ConfigurationFileValidationError extends EnvironmentError {\n public constructor(\n errorType: ConfigurationFileValidationErrorType,\n reason = 'Unknown reason'\n ) {\n super(`Configuration file is invalid (${errorType}): ${reason}`);\n }\n}\n"],"names":["EnvironmentError","ConfigurationFileValidationError","errorType","reason"],"rangeMappings":";;;;;","mappings":"AACA,SAASA,gBAAgB,QAAQ,kCAAkC;AAEnE,OAAO,MAAMC,yCAAyCD;IAClD,YACIE,SAA+C,EAC/CC,SAAS,gBAAgB,CAC3B;QACE,KAAK,CAAC,CAAC,+BAA+B,EAAED,UAAU,GAAG,EAAEC,OAAO,CAAC;IACnE;AACJ"}
@@ -1,4 +0,0 @@
1
- import { Configuration } from './dto/Configuration.js';
2
- export declare const getConfiguration: (input?: {
3
- workingDirectory: string;
4
- }) => Configuration;
@@ -1,31 +0,0 @@
1
- import { readFileSync } from 'fs';
2
- import { join } from 'node:path';
3
- import * as process from 'node:process';
4
- import { ConfigurationSchema } from './ConfigurationSchema.js';
5
- import { CrankscriptConfigurationFileName } from '../../constants.js';
6
- import { ConfigurationFileNotFoundError } from './error/ConfigurationFileNotFoundError.js';
7
- import { ConfigurationFileValidationError } from './error/ConfigurationFileValidationError.js';
8
- import { ConfigurationFileValidationErrorType } from '../../types.js';
9
- export const getConfiguration = (input)=>{
10
- const { workingDirectory = process.cwd() } = input != null ? input : {};
11
- const configurationFilePath = join(workingDirectory, CrankscriptConfigurationFileName);
12
- let contents = '';
13
- let parsedObject;
14
- try {
15
- contents = readFileSync(configurationFilePath, 'utf8');
16
- } catch (error) {
17
- throw new ConfigurationFileNotFoundError();
18
- }
19
- try {
20
- parsedObject = JSON.parse(contents);
21
- } catch (error) {
22
- throw new ConfigurationFileValidationError(ConfigurationFileValidationErrorType.InvalidJson, !!error && typeof error === 'object' && 'message' in error && typeof error.message === 'string' ? error.message : 'Error parsing JSON');
23
- }
24
- const validation = ConfigurationSchema.safeParse(parsedObject);
25
- if (!validation.success) {
26
- throw new ConfigurationFileValidationError(ConfigurationFileValidationErrorType.InvalidSchema, validation.error.errors.join(', '));
27
- }
28
- return validation.data;
29
- };
30
-
31
- //# sourceMappingURL=getConfiguration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../libs/cli/src/environment/configuration/getConfiguration.ts"],"sourcesContent":["import { readFileSync } from 'fs';\nimport { join } from 'node:path';\nimport * as process from 'node:process';\nimport { ConfigurationSchema } from './ConfigurationSchema.js';\nimport { CrankscriptConfigurationFileName } from '../../constants.js';\nimport { ConfigurationFileNotFoundError } from './error/ConfigurationFileNotFoundError.js';\nimport { ConfigurationFileValidationError } from './error/ConfigurationFileValidationError.js';\nimport { ConfigurationFileValidationErrorType } from '../../types.js';\nimport { Configuration } from './dto/Configuration.js';\n\nexport const getConfiguration = (input?: {\n workingDirectory: string;\n}): Configuration => {\n const { workingDirectory = process.cwd() } = input ?? {};\n const configurationFilePath = join(\n workingDirectory,\n CrankscriptConfigurationFileName\n );\n let contents = '';\n let parsedObject: object;\n\n try {\n contents = readFileSync(configurationFilePath, 'utf8');\n } catch (error) {\n throw new ConfigurationFileNotFoundError();\n }\n\n try {\n parsedObject = JSON.parse(contents);\n } catch (error) {\n throw new ConfigurationFileValidationError(\n ConfigurationFileValidationErrorType.InvalidJson,\n !!error &&\n typeof error === 'object' &&\n 'message' in error &&\n typeof error.message === 'string'\n ? error.message\n : 'Error parsing JSON'\n );\n }\n\n const validation = ConfigurationSchema.safeParse(parsedObject);\n\n if (!validation.success) {\n throw new ConfigurationFileValidationError(\n ConfigurationFileValidationErrorType.InvalidSchema,\n validation.error.errors.join(', ')\n );\n }\n\n return validation.data;\n};\n"],"names":["readFileSync","join","process","ConfigurationSchema","CrankscriptConfigurationFileName","ConfigurationFileNotFoundError","ConfigurationFileValidationError","ConfigurationFileValidationErrorType","getConfiguration","input","workingDirectory","cwd","configurationFilePath","contents","parsedObject","error","JSON","parse","InvalidJson","message","validation","safeParse","success","InvalidSchema","errors","data"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,QAAQ,KAAK;AAClC,SAASC,IAAI,QAAQ,YAAY;AACjC,YAAYC,aAAa,eAAe;AACxC,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,gCAAgC,QAAQ,qBAAqB;AACtE,SAASC,8BAA8B,QAAQ,4CAA4C;AAC3F,SAASC,gCAAgC,QAAQ,8CAA8C;AAC/F,SAASC,oCAAoC,QAAQ,iBAAiB;AAGtE,OAAO,MAAMC,mBAAmB,CAACC;IAG7B,MAAM,EAAEC,mBAAmBR,QAAQS,GAAG,EAAE,EAAE,GAAGF,gBAAAA,QAAS,CAAC;IACvD,MAAMG,wBAAwBX,KAC1BS,kBACAN;IAEJ,IAAIS,WAAW;IACf,IAAIC;IAEJ,IAAI;QACAD,WAAWb,aAAaY,uBAAuB;IACnD,EAAE,OAAOG,OAAO;QACZ,MAAM,IAAIV;IACd;IAEA,IAAI;QACAS,eAAeE,KAAKC,KAAK,CAACJ;IAC9B,EAAE,OAAOE,OAAO;QACZ,MAAM,IAAIT,iCACNC,qCAAqCW,WAAW,EAChD,CAAC,CAACH,SACF,OAAOA,UAAU,YACjB,aAAaA,SACb,OAAOA,MAAMI,OAAO,KAAK,WACnBJ,MAAMI,OAAO,GACb;IAEd;IAEA,MAAMC,aAAajB,oBAAoBkB,SAAS,CAACP;IAEjD,IAAI,CAACM,WAAWE,OAAO,EAAE;QACrB,MAAM,IAAIhB,iCACNC,qCAAqCgB,aAAa,EAClDH,WAAWL,KAAK,CAACS,MAAM,CAACvB,IAAI,CAAC;IAErC;IAEA,OAAOmB,WAAWK,IAAI;AAC1B,EAAE"}