@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 +0 -1
- package/dist/cli.js +0 -4
- package/dist/components/Codemod.js +1 -1
- package/dist/components/SDKWorkflow.js +0 -3
- package/dist/components/UpgradeSDK.js +45 -13
- package/package.json +2 -3
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}
|
|
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
|
|
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,
|
|
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
|
-
}, "
|
|
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.
|
|
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": "
|
|
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
|
},
|