Skip to content

Commit df5c77d

Browse files
committed
feat: Switch to json schema
1 parent 596bf47 commit df5c77d

3 files changed

Lines changed: 25 additions & 7 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "default",
3-
"version": "1.1.0-beta6",
3+
"version": "1.1.0-beta7",
44
"description": "Default plugin for Codify - provides 50+ declarative resources for managing development tools and system configuration across macOS and Linux",
55
"main": "dist/index.js",
66
"scripts": {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema",
3+
"$id": "https://www.codifycli.com/npm-install.json",
4+
"$comment": "https://codifycli.com/docs/resources/javascript/npm-install/",
5+
"title": "NpmInstall resource",
6+
"description": "Run npm install in one or more project directories.",
7+
"type": "object",
8+
"properties": {
9+
"directories": {
10+
"type": "array",
11+
"description": "List of directories to run npm install in.",
12+
"items": {
13+
"type": "string",
14+
"description": "Path to a directory containing a package.json file."
15+
}
16+
}
17+
},
18+
"additionalProperties": false
19+
}

src/resources/javascript/npm/npm-install.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ import { ExampleConfig, Resource, ResourceSettings, getPty } from '@codifycli/pl
22
import { OS, ResourceConfig } from '@codifycli/schemas';
33
import * as fs from 'node:fs/promises';
44
import * as path from 'node:path';
5-
import { z } from 'zod';
65

7-
const schema = z.object({
8-
directories: z.array(z.string()).describe('List of directories to run npm install in'),
9-
});
6+
import Schema from './npm-install-schema.json';
107

11-
export type NpmInstallConfig = z.infer<typeof schema> & ResourceConfig;
8+
export interface NpmInstallConfig extends ResourceConfig {
9+
directories: string[];
10+
}
1211

1312
const defaultConfig: Partial<NpmInstallConfig> = {
1413
directories: [],
@@ -42,7 +41,7 @@ export class NpmInstallResource extends Resource<NpmInstallConfig> {
4241
example2: exampleMultipleProjects,
4342
},
4443
operatingSystems: [OS.Darwin, OS.Linux],
45-
schema,
44+
schema: Schema,
4645
parameterSettings: {
4746
directories: {
4847
type: 'array',

0 commit comments

Comments
 (0)