@reapit/elements 5.0.0-beta.70 → 5.0.0-beta.71
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/bin/elements.cjs +71 -0
- package/codemods/at-a-glance-article-card/README.md +9 -9
- package/codemods/bin.ts +15 -15
- package/package.json +4 -6
- package/codemods/bin.cjs +0 -13
- package/scripts/cdk/bin/rpt-cdk.cjs +0 -10
package/bin/elements.cjs
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const { spawn } = require('node:child_process')
|
|
3
|
+
const { join } = require('node:path')
|
|
4
|
+
const { readFileSync } = require('node:fs')
|
|
5
|
+
|
|
6
|
+
const args = process.argv.slice(2)
|
|
7
|
+
const command = args[0]
|
|
8
|
+
|
|
9
|
+
function getVersion() {
|
|
10
|
+
const packageJsonPath = join(__dirname, '..', 'package.json')
|
|
11
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'))
|
|
12
|
+
return packageJson.version
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function printHelp() {
|
|
16
|
+
console.log(`
|
|
17
|
+
@reapit/elements CLI
|
|
18
|
+
|
|
19
|
+
Usage: elements <command> [options]
|
|
20
|
+
|
|
21
|
+
Commands:
|
|
22
|
+
codemod Run codemods to migrate code (see 'elements codemod --help')
|
|
23
|
+
|
|
24
|
+
Options:
|
|
25
|
+
--version, -v Show version number
|
|
26
|
+
--help, -h Show this help message
|
|
27
|
+
|
|
28
|
+
Examples:
|
|
29
|
+
elements codemod list
|
|
30
|
+
elements codemod apply at-a-glance-article-card src/
|
|
31
|
+
elements --version
|
|
32
|
+
|
|
33
|
+
For more information, visit: https://github.com/reapit/elements
|
|
34
|
+
`)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function handleCodemod(codemodArgs) {
|
|
38
|
+
const child = spawn(
|
|
39
|
+
process.execPath,
|
|
40
|
+
['--experimental-strip-types', '--no-warnings', join(__dirname, '..', 'codemods', 'bin.ts'), ...codemodArgs],
|
|
41
|
+
{ stdio: 'inherit' },
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
child.on('exit', (code) => {
|
|
45
|
+
process.exit(code ?? 0)
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Handle no command or help
|
|
50
|
+
if (!command || command === '--help' || command === '-h') {
|
|
51
|
+
printHelp()
|
|
52
|
+
process.exit(0)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Handle version
|
|
56
|
+
if (command === '--version' || command === '-v') {
|
|
57
|
+
console.log(getVersion())
|
|
58
|
+
process.exit(0)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Route commands
|
|
62
|
+
switch (command) {
|
|
63
|
+
case 'codemod':
|
|
64
|
+
handleCodemod(args.slice(1))
|
|
65
|
+
break
|
|
66
|
+
|
|
67
|
+
default:
|
|
68
|
+
console.error(`Error: Unknown command '${command}'`)
|
|
69
|
+
console.log("\nRun 'elements --help' for usage information.")
|
|
70
|
+
process.exit(1)
|
|
71
|
+
}
|
|
@@ -10,19 +10,19 @@ Migrates old `AtAGlance.Card` usage to the new `AtAGlance.ArticleCard` component
|
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
# List available codemods
|
|
13
|
-
yarn codemod list
|
|
13
|
+
yarn dlx @reapit/elements@beta codemod list
|
|
14
14
|
|
|
15
15
|
# Show detailed info about this codemod
|
|
16
|
-
yarn codemod info at-a-glance-article-card
|
|
16
|
+
yarn dlx @reapit/elements@beta codemod info at-a-glance-article-card
|
|
17
17
|
|
|
18
18
|
# Run on a directory
|
|
19
|
-
yarn codemod apply at-a-glance-article-card src/
|
|
19
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/
|
|
20
20
|
|
|
21
21
|
# Preview changes without writing files
|
|
22
|
-
yarn codemod apply at-a-glance-article-card src/ --dry-run
|
|
22
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --dry-run
|
|
23
23
|
|
|
24
24
|
# Specify file extensions
|
|
25
|
-
yarn codemod apply at-a-glance-article-card src/ --ext .tsx,.jsx
|
|
25
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --ext .tsx,.jsx
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
### Facade Package Support
|
|
@@ -30,7 +30,7 @@ yarn codemod apply at-a-glance-article-card src/ --ext .tsx,.jsx
|
|
|
30
30
|
If your project re-exports `@reapit/elements` through an internal facade package, use the `--facade-package` flag:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
yarn codemod apply at-a-glance-article-card src/ --facade-package @company/ui-components
|
|
33
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --facade-package @company/ui-components
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
The codemod uses **prefix matching**, so specifying a base package will match all its subpaths:
|
|
@@ -41,14 +41,14 @@ The codemod uses **prefix matching**, so specifying a base package will match al
|
|
|
41
41
|
# - @company/design-system/core
|
|
42
42
|
# - @company/design-system/utils
|
|
43
43
|
# - etc.
|
|
44
|
-
yarn codemod apply at-a-glance-article-card src/ --facade-package @company/design-system
|
|
44
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --facade-package @company/design-system
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
If you have multiple unrelated facade packages, run the codemod once for each package:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
yarn codemod apply at-a-glance-article-card src/ --facade-package @company/ui
|
|
51
|
-
yarn codemod apply at-a-glance-article-card src/ --facade-package @another/design-lib
|
|
50
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --facade-package @company/ui
|
|
51
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --facade-package @another/design-lib
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
**Example with facade package:**
|
package/codemods/bin.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { parseFrontMatter } from './readme-parser.ts'
|
|
|
4
4
|
|
|
5
5
|
function printHelp(): void {
|
|
6
6
|
console.log(`
|
|
7
|
-
Usage: codemod <command> [options]
|
|
7
|
+
Usage: yarn dlx @reapit/elements@beta codemod <command> [options]
|
|
8
8
|
|
|
9
9
|
Commands:
|
|
10
10
|
list List available codemods
|
|
@@ -15,16 +15,16 @@ Options:
|
|
|
15
15
|
--help, -h Show this help message
|
|
16
16
|
|
|
17
17
|
Examples:
|
|
18
|
-
yarn codemod list
|
|
19
|
-
yarn codemod info at-a-glance
|
|
20
|
-
yarn codemod apply at-a-glance src/
|
|
21
|
-
yarn codemod apply at-a-glance src/ --dry-run
|
|
18
|
+
yarn dlx @reapit/elements@beta codemod list
|
|
19
|
+
yarn dlx @reapit/elements@beta codemod info at-a-glance-article-card
|
|
20
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/
|
|
21
|
+
yarn dlx @reapit/elements@beta codemod apply at-a-glance-article-card src/ --dry-run
|
|
22
22
|
`)
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
function printApplyHelp(codemodName: string): void {
|
|
26
26
|
console.log(`
|
|
27
|
-
Usage: codemod apply ${codemodName} <directory> [options]
|
|
27
|
+
Usage: yarn dlx @reapit/elements@beta codemod apply ${codemodName} <directory> [options]
|
|
28
28
|
|
|
29
29
|
Arguments:
|
|
30
30
|
<directory> Directory to search for files to transform
|
|
@@ -36,10 +36,10 @@ Options:
|
|
|
36
36
|
--help, -h Show this help message
|
|
37
37
|
|
|
38
38
|
Examples:
|
|
39
|
-
yarn codemod apply ${codemodName} src/
|
|
40
|
-
yarn codemod apply ${codemodName} src/ --dry-run
|
|
41
|
-
yarn codemod apply ${codemodName} src/ --ext .tsx,.jsx
|
|
42
|
-
yarn codemod apply ${codemodName} src/ --facade-package @company/ui-components
|
|
39
|
+
yarn dlx @reapit/elements@beta codemod apply ${codemodName} src/
|
|
40
|
+
yarn dlx @reapit/elements@beta codemod apply ${codemodName} src/ --dry-run
|
|
41
|
+
yarn dlx @reapit/elements@beta codemod apply ${codemodName} src/ --ext .tsx,.jsx
|
|
42
|
+
yarn dlx @reapit/elements@beta codemod apply ${codemodName} src/ --facade-package @company/ui-components
|
|
43
43
|
`)
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -66,7 +66,7 @@ function printList(): void {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
console.log("\nRun 'codemod info <name>' for more details.")
|
|
69
|
+
console.log("\nRun 'yarn dlx @reapit/elements@beta codemod info <name>' for more details.")
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
function printInfo(name: string): void {
|
|
@@ -122,8 +122,8 @@ async function handleApply(args: string[]): Promise<void> {
|
|
|
122
122
|
|
|
123
123
|
if (!codemodName || codemodName.startsWith('-')) {
|
|
124
124
|
console.error('Error: No codemod name provided')
|
|
125
|
-
console.log('\nUsage: codemod apply <name> <directory> [options]')
|
|
126
|
-
console.log("\nRun 'codemod list' to see available codemods.")
|
|
125
|
+
console.log('\nUsage: yarn dlx @reapit/elements@beta codemod apply <name> <directory> [options]')
|
|
126
|
+
console.log("\nRun 'yarn dlx @reapit/elements@beta codemod list' to see available codemods.")
|
|
127
127
|
process.exit(1)
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -180,8 +180,8 @@ async function main(): Promise<void> {
|
|
|
180
180
|
const name = args[1]
|
|
181
181
|
if (!name || name.startsWith('-')) {
|
|
182
182
|
console.error('Error: No codemod name provided')
|
|
183
|
-
console.log('\nUsage: codemod info <name>')
|
|
184
|
-
console.log("\nRun 'codemod list' to see available codemods.")
|
|
183
|
+
console.log('\nUsage: yarn dlx @reapit/elements@beta codemod info <name>')
|
|
184
|
+
console.log("\nRun 'yarn dlx @reapit/elements@beta codemod list' to see available codemods.")
|
|
185
185
|
process.exit(1)
|
|
186
186
|
}
|
|
187
187
|
printInfo(name)
|
package/package.json
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reapit/elements",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.71",
|
|
4
4
|
"description": "A collection of React components and utilities for building apps for Reapit Marketplace",
|
|
5
5
|
"homepage": "https://github.com/reapit/elements#readme",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/reapit/elements/issues"
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
|
-
"bin":
|
|
11
|
-
"codemod": "./codemods/bin.cjs",
|
|
12
|
-
"elements-deploy": "./scripts/cdk/bin/rpt-cdk.cjs"
|
|
13
|
-
},
|
|
10
|
+
"bin": "./bin/elements.cjs",
|
|
14
11
|
"engines": {
|
|
15
12
|
"node": ">=22.18.0"
|
|
16
13
|
},
|
|
@@ -74,6 +71,7 @@
|
|
|
74
71
|
"dist/",
|
|
75
72
|
"assets/",
|
|
76
73
|
"coverage/badges",
|
|
74
|
+
"bin/",
|
|
77
75
|
"codemods/"
|
|
78
76
|
],
|
|
79
77
|
"scripts": {
|
|
@@ -98,7 +96,7 @@
|
|
|
98
96
|
"check:lint:es": "eslint --cache --ext=ts,tsx,js src",
|
|
99
97
|
"make-badge": "coverage-badges --type ${0} --source coverage/report/coverage-summary.json --output coverage/badges/badge-${0}.svg --jsonPath total.${0}.pct",
|
|
100
98
|
"publish": "yarn npm publish --access public",
|
|
101
|
-
"deploy": "
|
|
99
|
+
"deploy": "yarn node scripts/cdk/bin/rpt-cdk.cjs deploy",
|
|
102
100
|
"start": "storybook dev -p 6006",
|
|
103
101
|
"test": "vitest",
|
|
104
102
|
"visual-test": "yarn build:storybook && yarn playwright test"
|
package/codemods/bin.cjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const { spawn } = require('node:child_process')
|
|
3
|
-
const { join } = require('node:path')
|
|
4
|
-
|
|
5
|
-
const child = spawn(
|
|
6
|
-
process.execPath,
|
|
7
|
-
['--experimental-strip-types', '--no-warnings', join(__dirname, 'bin.ts'), ...process.argv.slice(2)],
|
|
8
|
-
{ stdio: 'inherit' },
|
|
9
|
-
)
|
|
10
|
-
|
|
11
|
-
child.on('exit', (code) => {
|
|
12
|
-
process.exit(code ?? 0)
|
|
13
|
-
})
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env node
|
|
2
|
-
const path = require('path')
|
|
3
|
-
const fs = require('fs')
|
|
4
|
-
|
|
5
|
-
const tsConfigLocation = path.resolve(__dirname, '../tsconfig.json')
|
|
6
|
-
|
|
7
|
-
const config = JSON.parse(fs.readFileSync(tsConfigLocation, 'utf-8'))
|
|
8
|
-
|
|
9
|
-
require('ts-node').register(config)
|
|
10
|
-
require('../src/bin/rpt-cdk.cts')
|