Skip to content

Commit

Permalink
new: Add generator/template types to types package. (moonrepo#305)
Browse files Browse the repository at this point in the history
* Add template config.

* Update deps.

* Add version.

* Decline other packages.

* Fix typo.
  • Loading branch information
milesj committed Sep 14, 2022
1 parent 0a69832 commit 253111e
Show file tree
Hide file tree
Showing 8 changed files with 837 additions and 794 deletions.
21 changes: 13 additions & 8 deletions .yarn/versions/8ca6ae7a.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
releases:
"@moonrepo/cli": minor
"@moonrepo/core-linux-arm64-gnu": minor
"@moonrepo/core-linux-arm64-musl": minor
"@moonrepo/core-linux-x64-gnu": minor
"@moonrepo/core-linux-x64-musl": minor
"@moonrepo/core-macos-arm64": minor
"@moonrepo/core-macos-x64": minor
"@moonrepo/core-windows-x64-msvc": minor
'@moonrepo/cli': minor
'@moonrepo/core-linux-arm64-gnu': minor
'@moonrepo/core-linux-arm64-musl': minor
'@moonrepo/core-linux-x64-gnu': minor
'@moonrepo/core-linux-x64-musl': minor
'@moonrepo/core-macos-arm64': minor
'@moonrepo/core-macos-x64': minor
'@moonrepo/core-windows-x64-msvc': minor
'@moonrepo/types': patch

declined:
- '@moonrepo/runtime'
- 'website'
16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@
"devDependencies": {
"@moonrepo/cli": "workspace:*",
"@types/node": "^17.0.45",
"eslint": "^8.22.0",
"eslint-config-moon": "^1.0.0",
"eslint": "^8.23.0",
"eslint-config-moon": "^1.0.1",
"execa": "^6.1.0",
"jest": "^28.1.3",
"jest-preset-moon": "^1.0.0",
"packemon": "^2.4.0",
"jest": "^29.0.2",
"jest-preset-moon": "^1.0.1",
"packemon": "^2.4.1",
"prettier": "^2.7.1",
"prettier-config-moon": "^1.0.0",
"tsconfig-moon": "^1.0.0",
"typescript": "^4.7.4"
"prettier-config-moon": "^1.0.1",
"tsconfig-moon": "^1.0.1",
"typescript": "^4.8.3"
}
}
3 changes: 2 additions & 1 deletion packages/types/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export * from './common';
export * from './config';
export * from './project';
export * from './project-config';
export * from './runner';
export * from './template-config';
export * from './workspace-config';
File renamed without changes.
7 changes: 6 additions & 1 deletion packages/types/src/project.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import type { Platform } from './common';
import type { DependencyConfig, ProjectConfig, TaskMergeStrategy, TaskOutputStyle } from './config';
import type {
DependencyConfig,
ProjectConfig,
TaskMergeStrategy,
TaskOutputStyle,
} from './project-config';

export type TaskType = 'build' | 'run' | 'test';

Expand Down
42 changes: 42 additions & 0 deletions packages/types/src/template-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// template.yml

export interface TemplateBooleanVariableConfig {
default: boolean;
prompt: string | null;
required: boolean | null;
type: 'boolean';
}

export interface TemplateEnumVariableConfig {
default: string;
multiple: boolean | null;
prompt: string;
type: 'enum';
values: string[];
}

export interface TemplateNumberVariableConfig {
default: number;
prompt: string | null;
required: boolean | null;
type: 'number';
}

export interface TemplateStringVariableConfig {
default: string;
prompt: string | null;
required: boolean | null;
type: 'string';
}

export type TemplateVariable =
| TemplateBooleanVariableConfig
| TemplateEnumVariableConfig
| TemplateNumberVariableConfig
| TemplateStringVariableConfig;

export interface TemplateConfig {
description: string;
tite: string;
variables: Record<string, TemplateVariable>;
}
5 changes: 5 additions & 0 deletions packages/types/src/workspace-config.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
export interface GeneratorConfig {
templates: string[];
}

export interface HasherConfig {
optimization: 'accuracy' | 'performance';
}
Expand Down Expand Up @@ -54,6 +58,7 @@ export interface VcsConfig {

export interface WorkspaceConfig {
extends: string | null;
generator: GeneratorConfig;
hasher: HasherConfig;
node: NodeConfig | null;
projects: Record<string, string> | string[];
Expand Down
Loading

0 comments on commit 253111e

Please sign in to comment.