Skip to content

Commit 18c696c

Browse files
committed
starting to move to esm
1 parent c26a1e1 commit 18c696c

26 files changed

+1281
-1784
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.idea
22
node_modules
33
lib
4-
docs
4+
docs
5+
.yarn

.yarnrc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nodeLinker: node-modules

package.json

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
{
22
"name": "ink-form",
3+
"type": "module",
34
"version": "1.0.2",
45
"description": "Complex user-friendly form component for React Ink",
56
"main": "lib/index.js",
7+
"exports": "./lib/index.js",
68
"types": "lib/index.d.ts",
79
"keywords": [
810
"react",
@@ -23,32 +25,32 @@
2325
"devDependencies": {
2426
"@types/node": "^14.14.31",
2527
"@types/react": "^17.0.2",
28+
"ink": "^4.4.1",
2629
"prettier": "^2.2.1",
27-
"ts-node": "^9.1.1",
30+
"react": "^18.2.0",
31+
"ts-node": "^10.9.1",
2832
"typedoc": "^0.20.29",
29-
"typescript": "^4.2.3"
33+
"typescript": "^5.3.2"
3034
},
3135
"scripts": {
32-
"start": "ts-node src/demo/overview.tsx",
33-
"demo:overview": "ts-node src/demo/overview.tsx",
34-
"demo:packagejson": "ts-node src/demo/packagejson.tsx",
35-
"demo:custommanager": "ts-node src/demo/custommanager.tsx",
36-
"demo:imperative": "ts-node src/demo/imperative.ts",
36+
"start": "ts-node-esm src/demo/overview.tsx",
37+
"demo:overview": "ts-node-esm src/demo/overview.tsx",
38+
"demo:packagejson": "ts-node-esm src/demo/packagejson.tsx",
39+
"demo:custommanager": "ts-node-esm src/demo/custommanager.tsx",
40+
"demo:imperative": "ts-node-esm src/demo/imperative.ts",
3741
"build": "tsc",
3842
"build:docs": "typedoc --out docs src/index.ts",
3943
"prettier:check": "prettier --check .",
4044
"prettier:write": "prettier --write ."
4145
},
4246
"peerDependencies": {
43-
"ink": "^3.0.8",
44-
"react": "^17.0.1"
47+
"ink": ">4",
48+
"react": ">17"
4549
},
4650
"dependencies": {
47-
"ink": "^3.0.8",
4851
"ink-multi-select": "^2.0.0",
4952
"ink-quicksearch-input": "^1.0.0",
50-
"ink-select-input": "^4.2.0",
51-
"ink-text-input": "^4.0.1",
52-
"react": "^17.0.1"
53+
"ink-select-input": "^5.0.0",
54+
"ink-text-input": "^5.0.1"
5355
}
5456
}

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ the package, or by using the imperative API `openForm(options)`.
99

1010
## Example usage
1111

12-
npm install ink-form
12+
npm install ink-form react ink
1313

1414
```typescript jsx
1515
const options = [

src/DescriptionRenderer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { Description } from './types';
2+
import { Description } from './types.js';
33
import { Box, Text } from 'ink';
44

55
export const DescriptionRenderer: React.FC<{ description: Description }> = props => {

src/Form.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Box, useFocusManager, useInput } from 'ink';
22
import { useEffect, useMemo, useState } from 'react';
33
import * as React from 'react';
4-
import { FormProps } from './types';
5-
import { FormHeader } from './FormHeader';
6-
import { FormFieldRenderer } from './FormFieldRenderer';
7-
import { DescriptionRenderer } from './DescriptionRenderer';
8-
import { canSubmit } from './canSubmit';
9-
import { SubmitButton } from './SubmitButton';
4+
import { FormProps } from './types.js';
5+
import { FormHeader } from './FormHeader.js';
6+
import { FormFieldRenderer } from './FormFieldRenderer.js';
7+
import { DescriptionRenderer } from './DescriptionRenderer.js';
8+
import { canSubmit } from './canSubmit.js';
9+
import { SubmitButton } from './SubmitButton.js';
1010

1111
export const Form: React.FC<FormProps> = props => {
1212
const isControlled = props.value !== undefined;

src/FormFieldRenderer.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import React, { useState } from 'react';
2-
import { FormField, FormFieldRendererProps, SpecificFormFieldRendererProps } from './types';
2+
import { FormField, FormFieldRendererProps, SpecificFormFieldRendererProps } from './types.js';
33
import { Box, useFocus, Text, useInput } from 'ink';
4-
import { getManager } from './managers/managers';
5-
import { DescriptionRenderer } from './DescriptionRenderer';
4+
import { getManager } from './managers/managers.js';
5+
import { DescriptionRenderer } from './DescriptionRenderer.js';
66

77
export const FormFieldRenderer: React.FC<FormFieldRendererProps<any>> = props => {
88
const manager = getManager(props.field.type, props.customManagers);

src/FormHeader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as React from 'react';
22
import { Box, Text, useInput } from 'ink';
3-
import { FormProps } from './types';
3+
import { FormProps } from './types.js';
44

55
export const HELP_SECTION_ID = 'Help';
66

src/NumberFieldRenderer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { FormFieldFloat, FormFieldInteger, SpecificFormFieldRendererProps } from './types';
2+
import { FormFieldFloat, FormFieldInteger, SpecificFormFieldRendererProps } from './types.js';
33
import { Box, Text, useInput } from 'ink';
44
import TextInput from 'ink-text-input';
55

src/canSubmit.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FormStructure } from './types';
1+
import { FormStructure } from './types.js';
22

33
export const canSubmit = (form: FormStructure, value: object) => {
44
return form.sections

0 commit comments

Comments
 (0)