create-expo-stack 2.10.4 → 2.10.5-next.08640a3

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 (29) hide show
  1. package/README.md +50 -50
  2. package/build/cli.js +21 -51
  3. package/build/commands/create-expo-stack.js +320 -364
  4. package/build/templates/base/components/Button.tsx.ejs +2 -3
  5. package/build/templates/packages/nativewind/components/Button.tsx.ejs +4 -5
  6. package/build/templates/packages/nativewindui/components/Button.tsx.ejs +2 -3
  7. package/build/templates/packages/restyle/components/Button.tsx.ejs +7 -3
  8. package/build/templates/packages/tamagui/components/Button.tsx.ejs +11 -5
  9. package/build/templates/packages/tamagui/tamagui.config.ts.ejs +24 -25
  10. package/build/templates/packages/unistyles/components/Button.tsx.ejs +8 -3
  11. package/build/types/utilities/configAnalytics.d.ts +17 -0
  12. package/build/utilities/bumpVersion.js +6 -6
  13. package/build/utilities/clearNavigationPackages.js +2 -2
  14. package/build/utilities/clearStylingPackages.js +2 -2
  15. package/build/utilities/configAnalytics.js +70 -0
  16. package/build/utilities/configStorage.js +31 -88
  17. package/build/utilities/configureProjectFiles.js +98 -83
  18. package/build/utilities/copyBaseAssets.js +4 -36
  19. package/build/utilities/generateProjectFiles.js +16 -16
  20. package/build/utilities/getPackageManager.js +7 -7
  21. package/build/utilities/printOutput.js +156 -211
  22. package/build/utilities/renderTitle.js +22 -62
  23. package/build/utilities/runCLI.js +334 -393
  24. package/build/utilities/runEasConfigure.js +61 -106
  25. package/build/utilities/runIgnite.js +9 -45
  26. package/build/utilities/systemCommand.js +11 -48
  27. package/build/utilities/usePackage.js +2 -2
  28. package/build/utilities/validateProjectName.js +27 -64
  29. package/package.json +70 -69
@@ -2,13 +2,12 @@ import { forwardRef } from 'react';
2
2
  import { StyleSheet, Text, TouchableOpacity, TouchableOpacityProps } from 'react-native';
3
3
 
4
4
  type ButtonProps = {
5
- onPress?: TouchableOpacityProps['onPress'];
6
5
  title?: string;
7
6
  } & TouchableOpacityProps;
8
7
 
9
- export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ onPress, title }, ref) => {
8
+ export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ title, ...touchableProps }, ref) => {
10
9
  return (
11
- <TouchableOpacity ref={ref} style={styles.button} onPress={onPress}>
10
+ <TouchableOpacity ref={ref} {...touchableProps} style={[styles.button, touchableProps.style]}>
12
11
  <Text style={styles.buttonText}>{title}</Text>
13
12
  </TouchableOpacity>
14
13
  );
@@ -1,14 +1,13 @@
1
1
  import { forwardRef } from 'react';
2
2
  import { Text, TouchableOpacity, TouchableOpacityProps } from 'react-native';
3
3
 
4
- interface ButtonProps extends TouchableOpacityProps {
5
- onPress?: () => void;
4
+ type ButtonProps = {
6
5
  title: string;
7
- }
6
+ } & TouchableOpacityProps;
8
7
 
9
- export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ onPress, title }, ref) => {
8
+ export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ title, ...touchableProps }, ref) => {
10
9
  return (
11
- <TouchableOpacity ref={ref} className={styles.button} onPress={onPress}>
10
+ <TouchableOpacity ref={ref} {...touchableProps} className={`${styles.button} ${touchableProps.className}`}>
12
11
  <Text className={styles.buttonText}>{title}</Text>
13
12
  </TouchableOpacity>
14
13
  );
@@ -2,13 +2,12 @@ import { forwardRef } from 'react';
2
2
  import { StyleSheet, Text, TouchableOpacity, TouchableOpacityProps } from 'react-native';
3
3
 
4
4
  type ButtonProps = {
5
- onPress?: TouchableOpacityProps['onPress'];
6
5
  title?: string;
7
6
  } & TouchableOpacityProps;
8
7
 
9
- export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ onPress, title }, ref) => {
8
+ export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ title, ...touchableProps }, ref) => {
10
9
  return (
11
- <TouchableOpacity ref={ref} style={styles.button} onPress={onPress}>
10
+ <TouchableOpacity ref={ref} {...touchableProps} style={[styles.button, touchableProps.style]}>
12
11
  <Text style={styles.buttonText}>{title}</Text>
13
12
  </TouchableOpacity>
14
13
  );
@@ -1,12 +1,16 @@
1
1
  import { forwardRef } from 'react';
2
- import { TouchableOpacity } from 'react-native';
2
+ import { TouchableOpacity, TouchableOpacityProps } from 'react-native';
3
3
  import { Text, makeStyles } from 'theme';
4
4
 
5
- export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ onPress, title }, ref) => {
5
+ type ButtonProps = {
6
+ title?: string;
7
+ } & TouchableOpacityProps;
8
+
9
+ export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ title, ...touchableProps }, ref) => {
6
10
  const styles = useStyles();
7
11
 
8
12
  return (
9
- <TouchableOpacity style={styles.button} onPress={onPress}>
13
+ <TouchableOpacity ref={ref} {...touchableProps} style={[styles.button, touchableProps.style]}>
10
14
  <Text variant="body" textAlign="center" color="white" fontWeight="600">
11
15
  {title}
12
16
  </Text>
@@ -1,10 +1,16 @@
1
- import { forwardRef } from 'react';
2
- import { Button as TButton, ButtonText } from '../tamagui.config';
1
+ import { ComponentProps, forwardRef } from 'react';
2
+ import { TamaguiElement } from 'tamagui';
3
3
 
4
- export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ onPress, title }, ref) => {
4
+ import { Button as TButton } from '../tamagui.config';
5
+
6
+ type ButtonProps = {
7
+ title: string;
8
+ } & ComponentProps<typeof TButton>;
9
+
10
+ export const Button = forwardRef<TamaguiElement, ButtonProps>(({ title, ...tButtonProps }, ref) => {
5
11
  return (
6
- <TButton onPress={onPress}>
7
- <ButtonText>{title}</ButtonText>
12
+ <TButton {...tButtonProps} ref={ref}>
13
+ {title}
8
14
  </TButton>
9
15
  );
10
16
  });
@@ -4,7 +4,7 @@ import { createMedia } from "@tamagui/react-native-media-driver";
4
4
  import { shorthands } from "@tamagui/shorthands";
5
5
  import { themes, tokens } from "@tamagui/themes";
6
6
  <% if (props.navigationPackage?.type === "navigation") { %>
7
- import { createTamagui, styled, SizableText, H1, YStack } from "tamagui";
7
+ import { createTamagui, styled, SizableText, H1, YStack, Button as ButtonTamagui } from "tamagui";
8
8
  <% } else { %>
9
9
  import { createTamagui } from "tamagui";
10
10
  <% } %>
@@ -54,33 +54,32 @@ const bodyFont = createInterFont();
54
54
  color: '#38434D',
55
55
  size: '$9',
56
56
  });
57
- <% } %>
58
- <% if (props.navigationPackage?.options.type === "stack") { %>
59
- export const Button = styled(YStack, {
60
- alignItems: 'center',
61
- backgroundColor: '#6366F1',
62
- borderRadius: 28,
57
+
58
+ export const Button = styled(ButtonTamagui, {
59
+ backgroundColor: '#6366F1',
60
+ borderRadius: 28,
63
61
  hoverStyle: {
64
- backgroundColor: '#5a5fcf',
65
- },
66
- justifyContent: 'center',
62
+ backgroundColor: '#5a5fcf',
63
+ },
64
+ pressStyle: {
65
+ backgroundColor: '#5a5fcf',
66
+ },
67
67
  maxWidth: 500,
68
- padding: 16,
69
- shadowColor: '#000',
70
- shadowOffset: {
71
- height: 2,
72
- width: 0,
73
- },
74
- shadowOpacity: 0.25,
75
- shadowRadius: 3.84,
76
- });
77
68
 
78
- export const ButtonText = styled(SizableText, {
79
- color: '#FFFFFF',
80
- fontSize: 16,
81
- fontWeight: '600',
82
- textAlign: 'center',
83
- });
69
+ // Shaddows
70
+ shadowColor: '#000',
71
+ shadowOffset: {
72
+ height: 2,
73
+ width: 0,
74
+ },
75
+ shadowOpacity: 0.25,
76
+ shadowRadius: 3.84,
77
+
78
+ // Button text
79
+ color: '#FFFFFF',
80
+ fontWeight: '600', // Is not passed down to the text. Probably a bug in Tamagui: https://github.com/tamagui/tamagui/issues/1156#issuecomment-1802594930
81
+ fontSize: 16,
82
+ });
84
83
  <% } %>
85
84
 
86
85
  const config = createTamagui({
@@ -1,12 +1,17 @@
1
1
  import { forwardRef } from 'react';
2
- import { Text, TouchableOpacity } from 'react-native';
2
+ import { Text, TouchableOpacity, TouchableOpacityProps } from 'react-native';
3
3
  import { useStyles } from 'react-native-unistyles';
4
4
 
5
- export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ onPress, title }, ref) => {
5
+ type ButtonProps = {
6
+ title?: string;
7
+ } & TouchableOpacityProps;
8
+
9
+
10
+ export const Button = forwardRef<TouchableOpacity, ButtonProps>(({ title, ...touchableProps }, ref) => {
6
11
  const { theme } = useStyles();
7
12
 
8
13
  return (
9
- <TouchableOpacity style={theme.components.button} onPress={onPress}>
14
+ <TouchableOpacity ref={ref} {...touchableProps} style={[theme.components.button, touchableProps.style]}>
10
15
  <Text style={theme.components.buttonText}>{title}</Text>
11
16
  </TouchableOpacity>
12
17
  );
@@ -0,0 +1,17 @@
1
+ import { AuthenticationSelect, CliFlags, Internalization, NavigationSelect, NavigationTypes, PackageManager, SelectedComponents, StylingSelect } from '../types';
2
+ export declare function storeConfigAnalytics({ timestamp, cesVersion, authType, internalization, nativeWindUIComponents, navigationLibrary, navigationType, packageManager, packageManagerVersion, stylingLibrary, eas, importAlias, noGit, noInstall, overwrite, os, osPlatform, osArch, osRelease }: {
3
+ timestamp: string;
4
+ cesVersion: string;
5
+ authType?: AuthenticationSelect;
6
+ navigationLibrary?: NavigationSelect;
7
+ navigationType?: NavigationTypes;
8
+ stylingLibrary?: StylingSelect;
9
+ packageManager: PackageManager;
10
+ packageManagerVersion: string;
11
+ internalization?: Internalization;
12
+ nativeWindUIComponents?: SelectedComponents[];
13
+ os: string;
14
+ osPlatform: string;
15
+ osArch: string;
16
+ osRelease: string;
17
+ } & Partial<CliFlags>): Promise<void>;
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var child_process_1 = require("child_process");
3
+ const child_process_1 = require("child_process");
4
4
  function bumpVersion(type) {
5
5
  if (['major', 'minor', 'patch'].includes(type)) {
6
6
  try {
7
- (0, child_process_1.execSync)("npm version ".concat(type), { stdio: 'inherit' });
8
- console.log("".concat(type.charAt(0).toUpperCase() + type.slice(1), " version bumped successfully."));
7
+ (0, child_process_1.execSync)(`npm version ${type}`, { stdio: 'inherit' });
8
+ console.log(`${type.charAt(0).toUpperCase() + type.slice(1)} version bumped successfully.`);
9
9
  }
10
10
  catch (error) {
11
- console.error("Error bumping the ".concat(type, " version:"), error);
11
+ console.error(`Error bumping the ${type} version:`, error);
12
12
  }
13
13
  }
14
14
  else {
@@ -16,6 +16,6 @@ function bumpVersion(type) {
16
16
  }
17
17
  }
18
18
  // Get the argument from the command line
19
- var versionType = process.argv[2];
19
+ const versionType = process.argv[2];
20
20
  bumpVersion(versionType);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2J1bXBWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQXlDO0FBRXpDLFNBQVMsV0FBVyxDQUFDLElBQVk7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDO1lBQ0gsSUFBQSx3QkFBUSxFQUFDLHNCQUFlLElBQUksQ0FBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsa0NBQStCLENBQUMsQ0FBQztRQUM5RixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQXFCLElBQUksY0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztJQUNsRixDQUFDO0FBQ0gsQ0FBQztBQUVELHlDQUF5QztBQUN6QyxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2J1bXBWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQXlDO0FBRXpDLFNBQVMsV0FBVyxDQUFDLElBQVk7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDO1lBQ0gsSUFBQSx3QkFBUSxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7QUFDSCxDQUFDO0FBRUQseUNBQXlDO0FBQ3pDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDIn0=
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  function clearNavigationPackages(cliResults) {
4
- var stylingPackageIndex = cliResults.packages.findIndex(function (p) { return p.type === 'navigation'; });
4
+ const stylingPackageIndex = cliResults.packages.findIndex((p) => p.type === 'navigation');
5
5
  if (stylingPackageIndex !== -1) {
6
6
  cliResults.packages.splice(stylingPackageIndex, 1);
7
7
  }
8
8
  return cliResults;
9
9
  }
10
10
  exports.default = clearNavigationPackages;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJOYXZpZ2F0aW9uUGFja2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2NsZWFyTmF2aWdhdGlvblBhY2thZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBd0IsdUJBQXVCLENBQUMsVUFBc0I7SUFDcEUsSUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUF2QixDQUF1QixDQUFDLENBQUM7SUFDMUYsSUFBSSxtQkFBbUIsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBTkQsMENBTUMifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJOYXZpZ2F0aW9uUGFja2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2NsZWFyTmF2aWdhdGlvblBhY2thZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBd0IsdUJBQXVCLENBQUMsVUFBc0I7SUFDcEUsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQztJQUMxRixJQUFJLG1CQUFtQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFORCwwQ0FNQyJ9
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  function clearStylingPackages(cliResults) {
4
- var stylingPackageIndex = cliResults.packages.findIndex(function (p) { return p.type === 'styling'; });
4
+ const stylingPackageIndex = cliResults.packages.findIndex((p) => p.type === 'styling');
5
5
  if (stylingPackageIndex !== -1) {
6
6
  cliResults.packages.splice(stylingPackageIndex, 1);
7
7
  }
8
8
  return cliResults;
9
9
  }
10
10
  exports.default = clearStylingPackages;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJTdHlsaW5nUGFja2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2NsZWFyU3R5bGluZ1BhY2thZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBd0Isb0JBQW9CLENBQUMsVUFBc0I7SUFDakUsSUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFwQixDQUFvQixDQUFDLENBQUM7SUFDdkYsSUFBSSxtQkFBbUIsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBTkQsdUNBTUMifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXJTdHlsaW5nUGFja2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2NsZWFyU3R5bGluZ1BhY2thZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBd0Isb0JBQW9CLENBQUMsVUFBc0I7SUFDakUsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUN2RixJQUFJLG1CQUFtQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFORCx1Q0FNQyJ9
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.storeConfigAnalytics = void 0;
13
+ const google_auth_library_1 = require("google-auth-library");
14
+ const googleapis_1 = require("googleapis");
15
+ const key_data = 'eyJ0eXBlIjoic2VydmljZV9hY2NvdW50IiwicHJvamVjdF9pZCI6ImNyZWF0ZS1leHBvLXN0YWNrLWFuYWx5dGljcyIsInByaXZhdGVfa2V5X2lkIjoiNTdmZTc1OThmYTRkM2NkNWNhN2E0MmU4OGM1ZWYwMzdjODljNDI3NiIsInByaXZhdGVfa2V5IjoiLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tXG5NSUlFdkFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0JLWXdnZ1NpQWdFQUFvSUJBUURndnl6TTV3cFMrUnJRXG5hRmJBZmhwRU15dnhQK1IxV1p6Ykx1Nm1QblpsOVNvZmVHK0hHejdHWWNoZ29ScU9iaEk0MERpL1ZmblA0MVpEXG5kQVZTYXhMSlZSdm9ESHlEUkxRQzcrRE5TWWFEWlRSMXpIdGl6Z2M4UUhxbjV0Qmt0YXdWdWc5ZkhBUFk0MmtBXG4xcjlhdmttakNoM2sxSTNxdFhlbVlUQWt5Z09FZXVLbzJzbmptajcyNUZLRDBRREJKSlVhYnVyd3RrR1doV3pKXG5LaEd6YlNlb0JIeGJMemNlUDlGang1RFlTdW5oS2E1blFXdGRzS2dwdlgzSGthZEU2V0NYQjg1ZHd4MytHVGRVXG5ybnFUSTRRVWpWRHV3SnFaOEpWUEZjYUF2L0dlbHdUT1VGNGNROFQ4VWVadGtHUzN2L1hlRmROL1BTZGZYM0tZXG5CNVEwdXNtREFnTUJBQUVDZ2dFQU9KK0J5b2dGSGwxN1ozbDZMZG8zaE9vOWpuVVIrb3pleTR3Wi9WRnNaQWl1XG5HYXF1c3FQbkgzVWdWbFFRakVUb0cxOCtoTnBFNjU3enExL3VQVk1Uc3h6WndJOXd5V1BFVko4YURLNlRFTVN0XG5RR2FKeVoxdHpqelNpajNKVUM1RFVtQURvbXM4L3VaZ25LRCtLZjhhTDFVTHJnenRTbTU0M0RiTk9kK1pua1VjXG5zeDYzVXVQNmdVY0tiVDRhTVl3Wk5mL3BzUW9SMkdwaXdSQjhQd3hzS0x1Uk5qcC8rTHZuYXV4dkRvY1hvbHFRXG41UHFFYi9pOFlKMlJ3alI2THBUc3FIdWtIZ056ZytOci9JQnpUWDR5Y0V2OWh6bWw4VzVGOGRDd1IzQkYyV05XXG52VmFYZVRNY1ZFcWcxWS9TMDd0UUMrTlFuWHlFY0pSOGRVcW8zQU1qTVFLQmdRRDFkbE54TXlXYnRVSDZPaWx2XG4rbXF2OWdkSVZ1eVJWeEtydG9PcVlqd2gzWEVYZW9seU9Selhac0hvNlQ5b0NpZnRpenBQOXFmYkNWYVAzdk1BXG43OWl3cE4vUE1QY1NoeWtnR2RyR1ArRUY3ODV0amtLQ2dmSE9PbUxUbEp5Z3psdTFuUU1vcTcwOGdoeXd6MEtmXG5tekc4OVlHQ1RmaTMvSmQ5MWN3WU5IRHhrd0tCZ1FEcVpTN0ZYNEt2cjlpWll0Vko4VDRHNE0zUVJ2dWJRMUFoXG5Yd0ZVN2JDUzJ1M294cktlZnJPTFlCTHJsbXQ0Qk1tL2NLMVNteHBndHZrdEQ3WFVtcVdrUGRnRUhGaUxjcHoxXG5XS0tTKytpRHE4SXplZzUxMFBkcVAwbVNlY1R6cHk1V2hmMHJwTi9vVDY0YVJnVUVmaEZtZHdVYWZRcnlOY1B1XG5uMWlEa0loK1VRS0JnSEJWODhBbHdUdHVpOEJoNTk3b2d2VCtxcnlQazNxOGw3M2dMSWZJcDI1ME1yS2xFTXdtXG5tUzEzU0owNFNoMXFNSFhGTnkyclc0eWh6R3pSZ3ZMVjBaeWVDQk9CZkVHTmUrUEdFVnFUbDM4cERaY1QrUnBUXG5MLy9LdHJuUUZKSi9mbmN5WVdTMm5FZFo0Sm1HY1I0c1gybjBEWTQ5OHVyNC9iZklKYnlhRzJwakFvR0FkRG9DXG5EQ3JGRWJyZmE0ZWZmWS9iRXV3TUFqZ0FjVWZhaHdHbUZtZmFRNmU5aXN4a0s4Vmw0RG1laUNWSld2VDgyU25WXG5OLzNqQVl3WldLZk9vUUtpR2lQMFptMXIxcEhabEtzRHltQ1JOaUZJSmVCakpUYWVTSmZqTW5laEdyU09mS2JxXG5GK2NrZy94bXQyNTY5SFJTeW4xQUVaZHBneHIzOGU0ZnBQVlpTVkVDZ1lBWkw2K0pTdXoxY3BsaXloQ3lJU2NXXG5RWEFTMTNiRXMvbHd6MjhZT3ltN2JnMzVzZjdhOFBPMjBocGNPWnVERERySlpjME9LbG9tNXQzSHYxUDIreWNOXG5NczFQbnBqRjFEYlZ6ZFBDcm8xTkxKdTk4eEVYNWJXSXRDUkF1Q1hKUS90MWVKL3d6TThjbGhLYnRYVGdQTHl4XG5mSnViMERTWFpqUmtYUFNDcU0yb0t3PT1cbi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS1cbiIsImNsaWVudF9lbWFpbCI6ImNlcy1hbmFseXRpY3NAY3JlYXRlLWV4cG8tc3RhY2stYW5hbHl0aWNzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiY2xpZW50X2lkIjoiMTEyMjg4MzM5NDYxNTA5NDM0MTcwIiwiYXV0aF91cmkiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvYXV0aCIsInRva2VuX3VyaSI6Imh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwiYXV0aF9wcm92aWRlcl94NTA5X2NlcnRfdXJsIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vb2F1dGgyL3YxL2NlcnRzIiwiY2xpZW50X3g1MDlfY2VydF91cmwiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9yb2JvdC92MS9tZXRhZGF0YS94NTA5L2Nlcy1hbmFseXRpY3MlNDBjcmVhdGUtZXhwby1zdGFjay1hbmFseXRpY3MuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJ1bml2ZXJzZV9kb21haW4iOiJnb29nbGVhcGlzLmNvbSJ9';
16
+ const keys = Buffer.from(key_data, 'base64').toString('utf-8');
17
+ function storeConfigAnalytics(_a) {
18
+ return __awaiter(this, arguments, void 0, function* ({ timestamp, cesVersion, authType, internalization, nativeWindUIComponents = [], navigationLibrary, navigationType, packageManager, packageManagerVersion, stylingLibrary, eas, importAlias, noGit, noInstall, overwrite, os, osPlatform, osArch, osRelease }) {
19
+ var _b;
20
+ if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
21
+ console.log('Skipping analytics in development or test environment');
22
+ return;
23
+ }
24
+ try {
25
+ const auth = new google_auth_library_1.GoogleAuth({
26
+ scopes: ['https://www.googleapis.com/auth/spreadsheets'],
27
+ credentials: JSON.parse(keys)
28
+ });
29
+ const service = googleapis_1.google.sheets({ version: 'v4', auth });
30
+ const result = yield service.spreadsheets.values.append({
31
+ spreadsheetId: '1Nav_XXi8stJjaBBK8bX0CebRF5QKXU25BZc57I06yGQ',
32
+ range: 'Sheet1!A:A',
33
+ valueInputOption: 'RAW',
34
+ requestBody: {
35
+ values: [
36
+ [
37
+ timestamp !== null && timestamp !== void 0 ? timestamp : '',
38
+ cesVersion !== null && cesVersion !== void 0 ? cesVersion : '',
39
+ navigationLibrary !== null && navigationLibrary !== void 0 ? navigationLibrary : '',
40
+ navigationType !== null && navigationType !== void 0 ? navigationType : '',
41
+ stylingLibrary !== null && stylingLibrary !== void 0 ? stylingLibrary : '',
42
+ packageManager,
43
+ packageManagerVersion !== null && packageManagerVersion !== void 0 ? packageManagerVersion : '',
44
+ internalization !== null && internalization !== void 0 ? internalization : '',
45
+ (_b = nativeWindUIComponents === null || nativeWindUIComponents === void 0 ? void 0 : nativeWindUIComponents.join(',')) !== null && _b !== void 0 ? _b : '',
46
+ authType !== null && authType !== void 0 ? authType : '',
47
+ eas ? 'true' : 'false',
48
+ importAlias ? 'true' : 'false',
49
+ noGit ? 'false' : 'true', // reverse logic because column is "git"
50
+ noInstall ? 'false' : 'true', // reverse logic because column is "install"
51
+ overwrite ? 'true' : 'false',
52
+ os !== null && os !== void 0 ? os : '',
53
+ osPlatform !== null && osPlatform !== void 0 ? osPlatform : '',
54
+ osArch !== null && osArch !== void 0 ? osArch : '',
55
+ osRelease !== null && osRelease !== void 0 ? osRelease : ''
56
+ ]
57
+ ]
58
+ },
59
+ insertDataOption: 'INSERT_ROWS'
60
+ });
61
+ console.log(`${result.data.updates.updatedCells} cells appended.`);
62
+ // return result;
63
+ }
64
+ catch (err) {
65
+ console.warn('analytics API returned an error: ' + err);
66
+ }
67
+ });
68
+ }
69
+ exports.storeConfigAnalytics = storeConfigAnalytics;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnQW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb25maWdBbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQWlEO0FBQ2pELDJDQUFvQztBQVlwQyxNQUFNLFFBQVEsR0FDWixza0dBQXNrRyxDQUFDO0FBRXprRyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFL0QsU0FBc0Isb0JBQW9CO3lEQUFDLEVBQ3pDLFNBQVMsRUFDVCxVQUFVLEVBQ1YsUUFBUSxFQUNSLGVBQWUsRUFDZixzQkFBc0IsR0FBRyxFQUFFLEVBQzNCLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsR0FBRyxFQUNILFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxFQUFFLEVBQ0YsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBZ0JVOztRQUNuQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLGFBQWEsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDckUsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLGdDQUFVLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxDQUFDLDhDQUE4QyxDQUFDO2dCQUN4RCxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDOUIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxPQUFPLEdBQUcsbUJBQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFFdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3RELGFBQWEsRUFBRSw4Q0FBOEM7Z0JBQzdELEtBQUssRUFBRSxZQUFZO2dCQUNuQixnQkFBZ0IsRUFBRSxLQUFLO2dCQUN2QixXQUFXLEVBQUU7b0JBQ1gsTUFBTSxFQUFFO3dCQUNOOzRCQUNFLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLEVBQUU7NEJBQ2YsVUFBVSxhQUFWLFVBQVUsY0FBVixVQUFVLEdBQUksRUFBRTs0QkFDaEIsaUJBQWlCLGFBQWpCLGlCQUFpQixjQUFqQixpQkFBaUIsR0FBSSxFQUFFOzRCQUN2QixjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxFQUFFOzRCQUNwQixjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxFQUFFOzRCQUNwQixjQUFjOzRCQUNkLHFCQUFxQixhQUFyQixxQkFBcUIsY0FBckIscUJBQXFCLEdBQUksRUFBRTs0QkFDM0IsZUFBZSxhQUFmLGVBQWUsY0FBZixlQUFlLEdBQUksRUFBRTs0QkFDckIsTUFBQSxzQkFBc0IsYUFBdEIsc0JBQXNCLHVCQUF0QixzQkFBc0IsQ0FBRSxJQUFJLENBQUMsR0FBRyxDQUFDLG1DQUFJLEVBQUU7NEJBQ3ZDLFFBQVEsYUFBUixRQUFRLGNBQVIsUUFBUSxHQUFJLEVBQUU7NEJBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87NEJBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPOzRCQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLHdDQUF3Qzs0QkFDbEUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSw0Q0FBNEM7NEJBQzFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPOzRCQUM1QixFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxFQUFFOzRCQUNSLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLEVBQUU7NEJBQ2hCLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLEVBQUU7NEJBQ1osU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksRUFBRTt5QkFDaEI7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsZ0JBQWdCLEVBQUUsYUFBYTthQUNoQyxDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxrQkFBa0IsQ0FBQyxDQUFDO1lBRW5FLGlCQUFpQjtRQUNuQixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7Q0FBQTtBQXZGRCxvREF1RkMifQ==
@@ -8,100 +8,43 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
13
  };
41
14
  Object.defineProperty(exports, "__esModule", { value: true });
42
15
  exports.loadConfigs = exports.saveConfig = void 0;
43
- var fs_1 = require("fs");
44
- var path_1 = __importDefault(require("path"));
45
- var os_1 = __importDefault(require("os"));
46
- var CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.create-expo-stack');
47
- var CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'configurations.json');
48
- var ensureConfigDirExists = function () { return __awaiter(void 0, void 0, void 0, function () {
49
- var error_1;
50
- return __generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0:
53
- _a.trys.push([0, 2, , 3]);
54
- return [4 /*yield*/, fs_1.promises.mkdir(CONFIG_DIR, { recursive: true })];
55
- case 1:
56
- _a.sent();
57
- return [3 /*break*/, 3];
58
- case 2:
59
- error_1 = _a.sent();
60
- if (error_1.code !== 'EEXIST') {
61
- throw error_1;
62
- }
63
- return [3 /*break*/, 3];
64
- case 3: return [2 /*return*/];
65
- }
66
- });
67
- }); };
68
- var saveConfig = function (config) { return __awaiter(void 0, void 0, void 0, function () {
69
- var configs;
70
- return __generator(this, function (_a) {
71
- switch (_a.label) {
72
- case 0: return [4 /*yield*/, ensureConfigDirExists()];
73
- case 1:
74
- _a.sent();
75
- return [4 /*yield*/, (0, exports.loadConfigs)()];
76
- case 2:
77
- configs = _a.sent();
78
- return [4 /*yield*/, fs_1.promises.writeFile(CONFIG_FILE, JSON.stringify(configs, null, 2))];
79
- case 3:
80
- _a.sent();
81
- return [2 /*return*/];
16
+ const fs_1 = require("fs");
17
+ const path_1 = __importDefault(require("path"));
18
+ const os_1 = __importDefault(require("os"));
19
+ const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.create-expo-stack');
20
+ const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'configurations.json');
21
+ const ensureConfigDirExists = () => __awaiter(void 0, void 0, void 0, function* () {
22
+ try {
23
+ yield fs_1.promises.mkdir(CONFIG_DIR, { recursive: true });
24
+ }
25
+ catch (error) {
26
+ if (error.code !== 'EEXIST') {
27
+ throw error;
82
28
  }
83
- });
84
- }); };
29
+ }
30
+ });
31
+ const saveConfig = (config) => __awaiter(void 0, void 0, void 0, function* () {
32
+ yield ensureConfigDirExists();
33
+ const configs = yield (0, exports.loadConfigs)();
34
+ yield fs_1.promises.writeFile(CONFIG_FILE, JSON.stringify(configs, null, 2));
35
+ });
85
36
  exports.saveConfig = saveConfig;
86
- var loadConfigs = function () { return __awaiter(void 0, void 0, void 0, function () {
87
- var data, error_2;
88
- return __generator(this, function (_a) {
89
- switch (_a.label) {
90
- case 0:
91
- _a.trys.push([0, 2, , 3]);
92
- return [4 /*yield*/, fs_1.promises.readFile(CONFIG_FILE, 'utf8')];
93
- case 1:
94
- data = _a.sent();
95
- return [2 /*return*/, JSON.parse(data)];
96
- case 2:
97
- error_2 = _a.sent();
98
- if (error_2.code === 'ENOENT') {
99
- return [2 /*return*/, []];
100
- }
101
- throw error_2;
102
- case 3: return [2 /*return*/];
37
+ const loadConfigs = () => __awaiter(void 0, void 0, void 0, function* () {
38
+ try {
39
+ const data = yield fs_1.promises.readFile(CONFIG_FILE, 'utf8');
40
+ return JSON.parse(data);
41
+ }
42
+ catch (error) {
43
+ if (error.code === 'ENOENT') {
44
+ return [];
103
45
  }
104
- });
105
- }); };
46
+ throw error;
47
+ }
48
+ });
106
49
  exports.loadConfigs = loadConfigs;
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5QkFBb0M7QUFDcEMsOENBQXdCO0FBRXhCLDBDQUFvQjtBQUVwQixJQUFNLFVBQVUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2pFLElBQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFPakUsSUFBTSxxQkFBcUIsR0FBRzs7Ozs7O2dCQUUxQixxQkFBTSxhQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFBOztnQkFBL0MsU0FBK0MsQ0FBQzs7OztnQkFFaEQsSUFBSSxPQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUM1QixNQUFNLE9BQUssQ0FBQztnQkFDZCxDQUFDOzs7OztLQUVKLENBQUM7QUFFSyxJQUFNLFVBQVUsR0FBRyxVQUFPLE1BQWlCOzs7O29CQUNoRCxxQkFBTSxxQkFBcUIsRUFBRSxFQUFBOztnQkFBN0IsU0FBNkIsQ0FBQztnQkFDZCxxQkFBTSxJQUFBLG1CQUFXLEdBQUUsRUFBQTs7Z0JBQTdCLE9BQU8sR0FBRyxTQUFtQjtnQkFDbkMscUJBQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUE7O2dCQUFqRSxTQUFpRSxDQUFDOzs7O0tBQ25FLENBQUM7QUFKVyxRQUFBLFVBQVUsY0FJckI7QUFFSyxJQUFNLFdBQVcsR0FBRzs7Ozs7O2dCQUVWLHFCQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFBOztnQkFBN0MsSUFBSSxHQUFHLFNBQXNDO2dCQUNuRCxzQkFBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDOzs7Z0JBRXhCLElBQUksT0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDNUIsc0JBQU8sRUFBRSxFQUFDO2dCQUNaLENBQUM7Z0JBQ0QsTUFBTSxPQUFLLENBQUM7Ozs7S0FFZixDQUFDO0FBVlcsUUFBQSxXQUFXLGVBVXRCIn0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQkFBb0M7QUFDcEMsZ0RBQXdCO0FBRXhCLDRDQUFvQjtBQUVwQixNQUFNLFVBQVUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFPakUsTUFBTSxxQkFBcUIsR0FBRyxHQUFTLEVBQUU7SUFDdkMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxhQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUEsQ0FBQztBQUVLLE1BQU0sVUFBVSxHQUFHLENBQU8sTUFBaUIsRUFBaUIsRUFBRTtJQUNuRSxNQUFNLHFCQUFxQixFQUFFLENBQUM7SUFDOUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLG1CQUFXLEdBQUUsQ0FBQztJQUNwQyxNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQSxDQUFDO0FBSlcsUUFBQSxVQUFVLGNBSXJCO0FBRUssTUFBTSxXQUFXLEdBQUcsR0FBK0IsRUFBRTtJQUMxRCxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDLENBQUEsQ0FBQztBQVZXLFFBQUEsV0FBVyxlQVV0QiJ9