Эх сурвалжийг харах

Decouple the CLI from the main library (#596)

Loris Leiva 6 сар өмнө
parent
commit
23f3795b5e

+ 6 - 0
.changeset/cruel-candles-doubt.md

@@ -0,0 +1,6 @@
+---
+'codama': minor
+'@codama/cli': minor
+---
+
+Decouples the `@codama/cli` package to the main `codama` library as this was causing renderer updates to unnecessarily bump core Codama libraries.

+ 2 - 4
packages/cli/README.md

@@ -9,14 +9,12 @@
 
 This package provides a CLI for the Codama library that can be used to run scripts on Codama IDLs.
 
-Note that, whilst the CLI code is located in the `@codama/cli` package, the CLI binary is directly provided by the main `codama` library.
-
 ## Getting started
 
-To get started with Codama, simply install `codama` to your project and run the `init` command like so:
+To get started with Codama, simply install `@codama/cli` which provides the `codama` binary. Then, run the `init` command like so:
 
 ```sh
-pnpm install codama
+pnpm install @codama/cli
 codama init
 ```
 

+ 0 - 0
packages/library/bin/cli.cjs → packages/cli/bin/cli.cjs


+ 8 - 2
packages/cli/package.json

@@ -1,7 +1,7 @@
 {
     "name": "@codama/cli",
     "version": "1.0.12",
-    "description": "The package that provides a CLI for the Codama standard",
+    "description": "A CLI for setting up and managing Codama IDLs",
     "exports": {
         "types": "./dist/types/index.d.ts",
         "node": {
@@ -13,8 +13,13 @@
     "module": "./dist/index.node.mjs",
     "types": "./dist/types/index.d.ts",
     "type": "commonjs",
+    "bin": {
+        "codama": "./bin/cli.cjs"
+    },
     "files": [
+        "./bin",
         "./dist/types",
+        "./dist/cli.*",
         "./dist/index.*"
     ],
     "sideEffects": false,
@@ -24,8 +29,9 @@
         "cli"
     ],
     "scripts": {
-        "build": "rimraf dist && pnpm build:src && pnpm build:types",
+        "build": "rimraf dist && pnpm build:src && pnpm build:cli && pnpm build:types",
         "build:src": "zx ../../node_modules/@codama/internals/scripts/build-src.mjs node",
+        "build:cli": "zx ../../node_modules/@codama/internals/scripts/build-src.mjs cli",
         "build:types": "zx ../../node_modules/@codama/internals/scripts/build-types.mjs",
         "dev": "zx ../../node_modules/@codama/internals/scripts/test-unit.mjs node --watch",
         "lint": "zx ../../node_modules/@codama/internals/scripts/lint.mjs",

+ 2 - 1
packages/library/src/cli/index.ts → packages/cli/src/cli/index.ts

@@ -1,4 +1,5 @@
-import { createProgram, logDebug, logError } from '@codama/cli';
+import { createProgram } from '../program';
+import { logDebug, logError } from '../utils';
 
 const program = createProgram();
 

+ 1 - 6
packages/library/package.json

@@ -26,11 +26,8 @@
     "react-native": "./dist/index.react-native.mjs",
     "types": "./dist/types/index.d.ts",
     "type": "commonjs",
-    "bin": "./bin/cli.cjs",
     "files": [
-        "./bin",
         "./dist/types",
-        "./dist/cli.*",
         "./dist/index.*"
     ],
     "sideEffects": false,
@@ -42,9 +39,8 @@
         "code generation"
     ],
     "scripts": {
-        "build": "rimraf dist && pnpm build:src && pnpm build:cli && pnpm build:types",
+        "build": "rimraf dist && pnpm build:src && pnpm build:types",
         "build:src": "zx ../../node_modules/@codama/internals/scripts/build-src.mjs library",
-        "build:cli": "zx ../../node_modules/@codama/internals/scripts/build-src.mjs cli",
         "build:types": "zx ../../node_modules/@codama/internals/scripts/build-types.mjs",
         "dev": "zx ../../node_modules/@codama/internals/scripts/test-unit.mjs node --watch",
         "lint": "zx ../../node_modules/@codama/internals/scripts/lint.mjs",
@@ -57,7 +53,6 @@
         "test:types": "zx ../../node_modules/@codama/internals/scripts/test-types.mjs"
     },
     "dependencies": {
-        "@codama/cli": "workspace:*",
         "@codama/errors": "workspace:*",
         "@codama/nodes": "workspace:*",
         "@codama/validators": "workspace:*",

+ 0 - 3
pnpm-lock.yaml

@@ -175,9 +175,6 @@ importers:
 
   packages/library:
     dependencies:
-      '@codama/cli':
-        specifier: workspace:*
-        version: link:../cli
       '@codama/errors':
         specifier: workspace:*
         version: link:../errors