@clerk/upgrade 1.1.2 → 1.2.0-canary.v08c5a2a

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/dist/app.js CHANGED
@@ -63,7 +63,6 @@ export default function App(props) {
63
63
  // Handle the individual SDK upgrade
64
64
  if (!fromVersion && !toVersion && sdks[0] === 'nextjs') {
65
65
  return /*#__PURE__*/React.createElement(SDKWorkflow, {
66
- packageManager: props.packageManager,
67
66
  sdk: sdks[0]
68
67
  });
69
68
  }
package/dist/cli.js CHANGED
@@ -14,7 +14,6 @@ const cli = meow(`
14
14
  --sdk Name of the SDK you're upgrading
15
15
  --dir Directory you'd like to scan for files
16
16
  --ignore Any files or directories you'd like to ignore
17
- --packageManager The package manager you're using (npm, yarn, pnpm)
18
17
  --noWarnings Do not print warnings, only items that must be fixed
19
18
  --disableTelemetry Do not send anonymous usage telemetry
20
19
 
@@ -42,9 +41,6 @@ const cli = meow(`
42
41
  type: 'string',
43
42
  isMultiple: true
44
43
  },
45
- packageManager: {
46
- type: 'string'
47
- },
48
44
  yolo: {
49
45
  type: 'boolean'
50
46
  },
@@ -45,7 +45,7 @@ export function Codemod(props) {
45
45
  setGlob(val.split(/[ ,]/));
46
46
  }
47
47
  })), !result && !error && glob && /*#__PURE__*/React.createElement(Spinner, {
48
- label: `Running @clerk/${sdk}</Text> codemod... ${transform}`
48
+ label: `Running @clerk/${sdk} codemod... ${transform}`
49
49
  }), result && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StatusMessage, {
50
50
  variant: "success"
51
51
  }, "Running ", /*#__PURE__*/React.createElement(Text, {
@@ -15,14 +15,12 @@ import { UpgradeSDK } from './UpgradeSDK.js';
15
15
  *
16
16
  * @component
17
17
  * @param {Object} props
18
- * @param {string} props.packageManager - The package manager to use for the upgrade, if needed.
19
18
  * @param {string} props.sdk - The SDK to be upgraded.
20
19
  *
21
20
  * @returns {JSX.Element} The rendered component.
22
21
  */
23
22
  export function SDKWorkflow(props) {
24
23
  const {
25
- packageManager,
26
24
  sdk
27
25
  } = props;
28
26
  const [done, setDone] = useState(false);
@@ -48,7 +46,6 @@ export function SDKWorkflow(props) {
48
46
  color: "green"
49
47
  }, "yes")) : null, /*#__PURE__*/React.createElement(Newline, null), version === 5 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UpgradeSDK, {
50
48
  callback: setUpgradeComplete,
51
- packageManager: packageManager,
52
49
  sdk: sdk
53
50
  }), upgradeComplete ? /*#__PURE__*/React.createElement(Codemod, {
54
51
  callback: setDone,
@@ -1,7 +1,7 @@
1
- import { Spinner, StatusMessage } from '@inkjs/ui';
1
+ import { Select, Spinner, StatusMessage } from '@inkjs/ui';
2
2
  import { execa } from 'execa';
3
3
  import { existsSync } from 'fs';
4
- import { Text } from 'ink';
4
+ import { Newline, Text } from 'ink';
5
5
  import React, { useEffect, useState } from 'react';
6
6
  function detectPackageManager() {
7
7
  if (existsSync('package-lock.json')) {
@@ -10,12 +10,11 @@ function detectPackageManager() {
10
10
  return 'yarn';
11
11
  } else if (existsSync('pnpm-lock.yaml')) {
12
12
  return 'pnpm';
13
- } else {
14
- return 'npm';
15
13
  }
14
+ return undefined;
16
15
  }
17
16
  function upgradeCommand(sdk, packageManager) {
18
- switch (packageManager || detectPackageManager()) {
17
+ switch (packageManager) {
19
18
  case 'yarn':
20
19
  return `yarn add @clerk/${sdk}@latest`;
21
20
  case 'pnpm':
@@ -31,7 +30,6 @@ function upgradeCommand(sdk, packageManager) {
31
30
  * @component
32
31
  * @param {Object} props
33
32
  * @param {Function} props.callback - The callback function to be called after the command execution.
34
- * @param {string} props.packageManager - The package manager used in the project in case we cannot detect it automatically.
35
33
  * @param {string} props.sdk - The SDK for which the upgrade command is run.
36
34
  * @returns {JSX.Element} The rendered component.
37
35
  *
@@ -40,23 +38,48 @@ function upgradeCommand(sdk, packageManager) {
40
38
  */
41
39
  export function UpgradeSDK({
42
40
  callback,
43
- packageManager,
44
41
  sdk
45
42
  }) {
43
+ const [command, setCommand] = useState();
46
44
  const [error, setError] = useState();
45
+ const [packageManager, setPackageManager] = useState(detectPackageManager());
47
46
  const [result, setResult] = useState();
48
- const command = upgradeCommand(sdk, packageManager);
49
47
  useEffect(() => {
48
+ if (!packageManager) {
49
+ return;
50
+ }
51
+ setCommand(previous => {
52
+ if (previous) {
53
+ return previous;
54
+ }
55
+ return upgradeCommand(sdk, packageManager);
56
+ });
57
+ if (!command) {
58
+ return;
59
+ }
50
60
  execa({
51
61
  shell: true
52
62
  })`${command}`.then(res => {
53
63
  setResult(res);
54
- callback(true);
55
64
  }).catch(err => {
56
65
  setError(err);
66
+ }).finally(() => {
67
+ callback(true);
57
68
  });
58
- }, [command]);
59
- return /*#__PURE__*/React.createElement(React.Fragment, null, !result && !error && /*#__PURE__*/React.createElement(Spinner, {
69
+ }, [command, packageManager, sdk]);
70
+ return /*#__PURE__*/React.createElement(React.Fragment, null, packageManager ? null : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, null, "We could not detect the package manager used in your project. Please select the package manager you are using"), /*#__PURE__*/React.createElement(Select, {
71
+ options: [{
72
+ label: 'npm',
73
+ value: 'npm'
74
+ }, {
75
+ label: 'pnpm',
76
+ value: 'pnpm'
77
+ }, {
78
+ label: 'yarn',
79
+ value: 'yarn'
80
+ }],
81
+ onChange: setPackageManager
82
+ })), packageManager && !result && !error && /*#__PURE__*/React.createElement(Spinner, {
60
83
  label: `Running upgrade command: ${command}`
61
84
  }), result && /*#__PURE__*/React.createElement(StatusMessage, {
62
85
  variant: "success"
@@ -64,7 +87,16 @@ export function UpgradeSDK({
64
87
  bold: true
65
88
  }, "@clerk/", sdk), " upgraded successfully to ", /*#__PURE__*/React.createElement(Text, {
66
89
  bold: true
67
- }, "latest!")), error && /*#__PURE__*/React.createElement(StatusMessage, {
90
+ }, "latest!")), error && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StatusMessage, {
68
91
  variant: "error"
69
- }, "Upgrade failed!"));
92
+ }, "Running the upgrade command failed:", ' ', /*#__PURE__*/React.createElement(Text, {
93
+ bold: true,
94
+ color: "red"
95
+ }, command)), /*#__PURE__*/React.createElement(StatusMessage, {
96
+ variant: "info"
97
+ }, "Please manually upgrade ", /*#__PURE__*/React.createElement(Text, {
98
+ bold: true
99
+ }, "@clerk/", sdk), " to ", /*#__PURE__*/React.createElement(Text, {
100
+ bold: true
101
+ }, "latest"), " in your project."), /*#__PURE__*/React.createElement(Newline, null)));
70
102
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerk/upgrade",
3
- "version": "1.1.2",
3
+ "version": "1.2.0-canary.v08c5a2a",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/clerk/javascript.git",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "build": "npm run clean && NODE_ENV=production babel --keep-file-extension --out-dir=dist src --copy-files",
20
- "clean": "del-cli dist/*",
20
+ "clean": "rm -rf dist/*",
21
21
  "dev": "babel --keep-file-extension --out-dir=dist --watch src --copy-files",
22
22
  "lint": "eslint src/",
23
23
  "lint:publint": "publint",
@@ -52,7 +52,6 @@
52
52
  "@babel/cli": "^7.24.7",
53
53
  "@babel/preset-react": "^7.24.7",
54
54
  "@types/jscodeshift": "^0.12.0",
55
- "del-cli": "^5.1.0",
56
55
  "eslint-config-custom": "*",
57
56
  "vitest": "^2.1.3"
58
57
  },