@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.
@@ -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.70",
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": "elements-deploy 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')