blockparty 0.1.3 → 0.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAQA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAgDtE;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAqKnE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAQA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAgDtE;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBA6KnE"}
@@ -143,7 +143,7 @@ export async function buildBlocks(targetPath, outDir) {
143
143
  lib: {
144
144
  entry: block.path,
145
145
  formats: ['es'],
146
- fileName: 'index'
146
+ fileName: () => 'index.js'
147
147
  },
148
148
  outDir: resolve(outputDir, safeFileName),
149
149
  minify: true,
@@ -152,13 +152,21 @@ export async function buildBlocks(targetPath, outDir) {
152
152
  external: externalDeps,
153
153
  output: {
154
154
  assetFileNames: (assetInfo) => {
155
- if (assetInfo.name?.endsWith('.css')) {
156
- css.push(assetInfo.name);
155
+ const assetName = assetInfo.name;
156
+ if (assetName === undefined) {
157
+ // FIXME: What to do if assetName is undefined?
158
+ return 'asset';
157
159
  }
158
- else if (assetInfo.name) {
159
- assets.push(assetInfo.name);
160
+ const assetPath = `./${safeFileName}/${assetName}`;
161
+ if (assetName.endsWith('.css')) {
162
+ if (!css.includes(assetPath)) {
163
+ css.push(assetPath);
164
+ }
160
165
  }
161
- return assetInfo.name ?? 'asset';
166
+ else if (!assets.includes(assetPath)) {
167
+ assets.push(assetPath);
168
+ }
169
+ return assetName;
162
170
  }
163
171
  }
164
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface PropDefinition {
3
3
  type: string;
4
4
  optional: boolean;
5
5
  properties?: PropDefinition[];
6
+ parameters?: PropDefinition[];
6
7
  description?: string;
7
8
  }
8
9
  export declare function extractPropsFromSource(content: string, fileName?: string): PropDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"extractProps.d.ts","sourceRoot":"","sources":["../src/extractProps.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA2MD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqB,GAAG,cAAc,EAAE,CAiEzG;AAwBD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQtF"}
1
+ {"version":3,"file":"extractProps.d.ts","sourceRoot":"","sources":["../src/extractProps.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;IAC7B,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA0PD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqB,GAAG,cAAc,EAAE,CAiEzG;AAwBD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAQtF"}
@@ -9,8 +9,45 @@ function isFunctionType(typeNode) {
9
9
  if (ts.isParenthesizedTypeNode(typeNode)) {
10
10
  return isFunctionType(typeNode.type);
11
11
  }
12
+ // Check if it's a union type containing a function
13
+ if (ts.isUnionTypeNode(typeNode)) {
14
+ return typeNode.types.some(t => isFunctionType(t));
15
+ }
12
16
  return false;
13
17
  }
18
+ function extractFunctionParameters(typeNode, sourceFile) {
19
+ let functionNode;
20
+ if (ts.isFunctionTypeNode(typeNode)) {
21
+ functionNode = typeNode;
22
+ }
23
+ else if (ts.isParenthesizedTypeNode(typeNode) && ts.isFunctionTypeNode(typeNode.type)) {
24
+ functionNode = typeNode.type;
25
+ }
26
+ else if (ts.isUnionTypeNode(typeNode)) {
27
+ // For union types, find the first function type
28
+ for (const unionMember of typeNode.types) {
29
+ if (ts.isFunctionTypeNode(unionMember)) {
30
+ functionNode = unionMember;
31
+ break;
32
+ }
33
+ else if (ts.isParenthesizedTypeNode(unionMember) && ts.isFunctionTypeNode(unionMember.type)) {
34
+ functionNode = unionMember.type;
35
+ break;
36
+ }
37
+ }
38
+ }
39
+ if (!functionNode) {
40
+ return [];
41
+ }
42
+ const parameters = [];
43
+ for (const param of functionNode.parameters) {
44
+ const name = param.name.getText(sourceFile);
45
+ const type = param.type ? param.type.getText(sourceFile) : 'any';
46
+ const optional = !!param.questionToken;
47
+ parameters.push({ name, type, optional });
48
+ }
49
+ return parameters;
50
+ }
14
51
  function extractJSDocComment(node, sourceFile) {
15
52
  const fullText = sourceFile.getFullText();
16
53
  const commentRanges = ts.getLeadingCommentRanges(fullText, node.pos);
@@ -40,10 +77,6 @@ function extractPropertiesFromType(typeNode, sourceFile) {
40
77
  if (ts.isTypeLiteralNode(typeNode)) {
41
78
  for (const member of typeNode.members) {
42
79
  if (ts.isPropertySignature(member) && member.name) {
43
- // Skip function-typed properties
44
- if (isFunctionType(member.type)) {
45
- continue;
46
- }
47
80
  const name = member.name.getText(sourceFile);
48
81
  const optional = !!member.questionToken;
49
82
  const type = member.type ? member.type.getText(sourceFile) : 'any';
@@ -53,11 +86,19 @@ function extractPropertiesFromType(typeNode, sourceFile) {
53
86
  if (description) {
54
87
  propDef.description = description;
55
88
  }
56
- // If this property has a type, try to extract nested properties
89
+ // If this property has a type, check if it's a function or object type
57
90
  if (member.type) {
58
- const nestedProps = extractNestedProperties(member.type, sourceFile);
59
- if (nestedProps.length > 0) {
60
- propDef.properties = nestedProps;
91
+ if (isFunctionType(member.type)) {
92
+ // Extract function parameters
93
+ const params = extractFunctionParameters(member.type, sourceFile);
94
+ propDef.parameters = params;
95
+ }
96
+ else {
97
+ // Try to extract nested properties for object types
98
+ const nestedProps = extractNestedProperties(member.type, sourceFile);
99
+ if (nestedProps.length > 0) {
100
+ propDef.properties = nestedProps;
101
+ }
61
102
  }
62
103
  }
63
104
  props.push(propDef);
@@ -99,10 +140,6 @@ function extractPropertiesFromDeclaration(decl, sourceFile) {
99
140
  if (ts.isInterfaceDeclaration(decl)) {
100
141
  for (const member of decl.members) {
101
142
  if (ts.isPropertySignature(member) && member.name) {
102
- // Skip function-typed properties
103
- if (isFunctionType(member.type)) {
104
- continue;
105
- }
106
143
  const name = member.name.getText(sourceFile);
107
144
  const optional = !!member.questionToken;
108
145
  const type = member.type ? member.type.getText(sourceFile) : 'any';
@@ -112,11 +149,19 @@ function extractPropertiesFromDeclaration(decl, sourceFile) {
112
149
  if (description) {
113
150
  propDef.description = description;
114
151
  }
115
- // Try to extract nested properties
152
+ // If this property has a type, check if it's a function or object type
116
153
  if (member.type) {
117
- const nestedProps = extractNestedProperties(member.type, sourceFile);
118
- if (nestedProps.length > 0) {
119
- propDef.properties = nestedProps;
154
+ if (isFunctionType(member.type)) {
155
+ // Extract function parameters
156
+ const params = extractFunctionParameters(member.type, sourceFile);
157
+ propDef.parameters = params;
158
+ }
159
+ else {
160
+ // Try to extract nested properties for object types
161
+ const nestedProps = extractNestedProperties(member.type, sourceFile);
162
+ if (nestedProps.length > 0) {
163
+ propDef.properties = nestedProps;
164
+ }
120
165
  }
121
166
  }
122
167
  props.push(propDef);
@@ -127,10 +172,6 @@ function extractPropertiesFromDeclaration(decl, sourceFile) {
127
172
  if (ts.isTypeLiteralNode(decl.type)) {
128
173
  for (const member of decl.type.members) {
129
174
  if (ts.isPropertySignature(member) && member.name) {
130
- // Skip function-typed properties
131
- if (isFunctionType(member.type)) {
132
- continue;
133
- }
134
175
  const name = member.name.getText(sourceFile);
135
176
  const optional = !!member.questionToken;
136
177
  const type = member.type ? member.type.getText(sourceFile) : 'any';
@@ -140,11 +181,19 @@ function extractPropertiesFromDeclaration(decl, sourceFile) {
140
181
  if (description) {
141
182
  propDef.description = description;
142
183
  }
143
- // Try to extract nested properties
184
+ // If this property has a type, check if it's a function or object type
144
185
  if (member.type) {
145
- const nestedProps = extractNestedProperties(member.type, sourceFile);
146
- if (nestedProps.length > 0) {
147
- propDef.properties = nestedProps;
186
+ if (isFunctionType(member.type)) {
187
+ // Extract function parameters
188
+ const params = extractFunctionParameters(member.type, sourceFile);
189
+ propDef.parameters = params;
190
+ }
191
+ else {
192
+ // Try to extract nested properties for object types
193
+ const nestedProps = extractNestedProperties(member.type, sourceFile);
194
+ if (nestedProps.length > 0) {
195
+ propDef.properties = nestedProps;
196
+ }
148
197
  }
149
198
  }
150
199
  props.push(propDef);
@@ -1 +1 @@
1
- {"version":3,"file":"extractProps.js","sourceRoot":"","sources":["../src/extractProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractProps.js","sourceRoot":"","sources":["../src/extractProps.ts"],"names":[],"mappings":"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"}
@@ -98,12 +98,17 @@ export interface Props {
98
98
  export default (props: Props) => <div>Complex</div>
99
99
  `;
100
100
  const props = extractPropsFromSource(source);
101
- // callback is filtered out because it's a function type
102
- assert.strictEqual(props.length, 2);
101
+ assert.strictEqual(props.length, 3);
103
102
  assert.strictEqual(props[0].name, 'items');
104
103
  assert.strictEqual(props[0].type, 'string[]');
105
- assert.strictEqual(props[1].name, 'config');
106
- assert.strictEqual(props[1].type, '{ key: string }');
104
+ assert.strictEqual(props[1].name, 'callback');
105
+ assert.strictEqual(props[1].type, '(x: number) => void');
106
+ assert.strictEqual(props[1].parameters?.[0].name, 'x');
107
+ assert.strictEqual(props[1].parameters?.[0].type, 'number');
108
+ assert.strictEqual(props[2].name, 'config');
109
+ assert.strictEqual(props[2].type, '{ key: string }');
110
+ assert.strictEqual(props[2].properties?.[0].name, 'key');
111
+ assert.strictEqual(props[2].properties?.[0].type, 'string');
107
112
  });
108
113
  test('extracts props from default export parameter type (multiple types exported)', () => {
109
114
  const source = `
@@ -137,10 +142,10 @@ export default function Button({ label, onClick, disabled }: ButtonProps) {
137
142
  }
138
143
  `;
139
144
  const props = extractPropsFromSource(source);
140
- // onClick is filtered out because it's a function type
141
- assert.strictEqual(props.length, 2);
145
+ assert.strictEqual(props.length, 3);
142
146
  assert.deepStrictEqual(props[0], { name: 'label', type: 'string', optional: false });
143
- assert.deepStrictEqual(props[1], { name: 'disabled', type: 'boolean', optional: true });
147
+ assert.deepStrictEqual(props[1], { name: 'onClick', type: '() => void', parameters: [], optional: false });
148
+ assert.deepStrictEqual(props[2], { name: 'disabled', type: 'boolean', optional: true });
144
149
  });
145
150
  test('extracts JSDoc comments from interface props', () => {
146
151
  const source = `
@@ -245,7 +250,7 @@ export default ({ commented }: Props) => <div>{commented}</div>
245
250
  assert.strictEqual(props[0].description, 'Has a comment');
246
251
  assert.strictEqual(props[1].description, undefined);
247
252
  });
248
- test('filters out function-typed props', () => {
253
+ test('does not filter out function-typed props', () => {
249
254
  const source = `
250
255
  export interface Props {
251
256
  /**
@@ -253,11 +258,11 @@ export interface Props {
253
258
  */
254
259
  name: string
255
260
  /**
256
- * A function prop (should be filtered)
261
+ * A function prop
257
262
  */
258
263
  onClick: () => void
259
264
  /**
260
- * Another function (should be filtered)
265
+ * Another function
261
266
  */
262
267
  onHover: (x: number) => void
263
268
  }
@@ -265,9 +270,16 @@ export interface Props {
265
270
  export default ({ name }: Props) => <div>{name}</div>
266
271
  `;
267
272
  const props = extractPropsFromSource(source);
268
- assert.strictEqual(props.length, 1);
273
+ assert.strictEqual(props.length, 3);
269
274
  assert.strictEqual(props[0].name, 'name');
270
275
  assert.strictEqual(props[0].description, 'A regular string prop');
276
+ assert.strictEqual(props[1].name, 'onClick');
277
+ assert.strictEqual(props[1].description, 'A function prop');
278
+ assert.strictEqual(props[1].parameters?.length, 0);
279
+ assert.strictEqual(props[2].name, 'onHover');
280
+ assert.strictEqual(props[2].description, 'Another function');
281
+ assert.strictEqual(props[2].parameters?.[0].name, 'x');
282
+ assert.strictEqual(props[2].parameters?.[0].type, 'number');
271
283
  });
272
284
  test('extracts nested properties with descriptions', () => {
273
285
  const source = `
@@ -1 +1 @@
1
- {"version":3,"file":"extractProps.test.js","sourceRoot":"","sources":["../src/extractProps.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractProps.test.js","sourceRoot":"","sources":["../src/extractProps.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ interface PropDefinition {
7
7
  name: string
8
8
  type: string
9
9
  optional: boolean
10
+ parameters?: PropDefinition[]
11
+ properties?: PropDefinition[]
10
12
  }
11
13
 
12
14
  const STORAGE_KEY = 'blockparty-state'
@@ -37,7 +39,28 @@ const getDefaultValue = (type: string, optional: boolean) => {
37
39
  return ''
38
40
  }
39
41
 
40
- const parseValue = (value: string, type: string, propDefs: PropDefinition[]) => {
42
+ const parseValue = (value: string, type: string, propDefs: PropDefinition[], propDef?: PropDefinition) => {
43
+ // For function types, create a function from the body string (even if empty)
44
+ if (propDef?.parameters) {
45
+ if (!value) {
46
+ // Return empty function for empty value
47
+ return () => {}
48
+ }
49
+ try {
50
+ // Extract parameter names
51
+ const paramNames = propDef.parameters.map(p => p.name).join(', ')
52
+ // Create function from the body string
53
+ // eslint-disable-next-line no-new-func
54
+ const fn = new Function(paramNames, `return ${value}`)
55
+ console.log('Created function for', propDef.name, 'with body:', value, 'result:', fn)
56
+ return fn
57
+ } catch (error) {
58
+ console.error('Failed to create function:', error)
59
+ return () => {}
60
+ }
61
+ }
62
+
63
+ // After handling functions, check for empty values
41
64
  if (!value) return value
42
65
 
43
66
  // For React.ReactNode, parse and render the block(s) - always an array
@@ -56,7 +79,7 @@ const parseValue = (value: string, type: string, propDefs: PropDefinition[]) =>
56
79
  const parsedBlockProps = Object.fromEntries(
57
80
  Object.entries(blockProps).map(([key, val]) => {
58
81
  const propDef = block.propDefinitions.find((p: PropDefinition) => p.name === key)
59
- return [key, propDef ? parseValue(val as string, propDef.type, block.propDefinitions) : val]
82
+ return [key, propDef ? parseValue(val as string, propDef.type, block.propDefinitions, propDef) : val]
60
83
  })
61
84
  )
62
85
  return <block.Component key={index} {...parsedBlockProps} />
@@ -72,11 +95,35 @@ const parseValue = (value: string, type: string, propDefs: PropDefinition[]) =>
72
95
 
73
96
  // For complex types, try to parse as JSON
74
97
  if (isComplexType(type)) {
75
- try {
76
- return JSON.parse(value)
77
- } catch {
78
- return value
98
+ let parsed: any
99
+
100
+ // Handle both string JSON and already-parsed objects
101
+ if (typeof value === 'string') {
102
+ try {
103
+ parsed = JSON.parse(value)
104
+ } catch {
105
+ return value
106
+ }
107
+ } else {
108
+ parsed = value
109
+ }
110
+
111
+ // If we have property definitions and the parsed value is an object,
112
+ // recursively parse nested properties (including function types)
113
+ if (propDef?.properties && parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
114
+ const result: Record<string, any> = {}
115
+ for (const [key, val] of Object.entries(parsed)) {
116
+ const nestedPropDef = propDef.properties.find(p => p.name === key)
117
+ if (nestedPropDef) {
118
+ result[key] = parseValue(val as string, nestedPropDef.type, propDefs, nestedPropDef)
119
+ } else {
120
+ result[key] = val
121
+ }
122
+ }
123
+ return result
79
124
  }
125
+
126
+ return parsed
80
127
  }
81
128
 
82
129
  // For simple number type, parse as number
@@ -164,7 +211,7 @@ export function App() {
164
211
  const parsedProps = Object.fromEntries(
165
212
  Object.entries(props).map(([key, value]) => {
166
213
  const propDef = propDefinitions.find((p: PropDefinition) => p.name === key)
167
- return [key, propDef ? parseValue(value as string, propDef.type, propDefinitions) : value]
214
+ return [key, propDef ? parseValue(value as string, propDef.type, propDefinitions, propDef) : value]
168
215
  })
169
216
  )
170
217
 
@@ -10,6 +10,7 @@ interface PropDefinition {
10
10
  type: string
11
11
  optional: boolean
12
12
  properties?: PropDefinition[]
13
+ parameters?: PropDefinition[]
13
14
  description?: string
14
15
  }
15
16
 
@@ -27,11 +28,19 @@ interface PropsEditorProps {
27
28
  availableBlocks?: RuntimeBlockInfo[]
28
29
  }
29
30
 
31
+ const isFunctionType = (type: string): boolean => {
32
+ return type.includes('=>') || type.startsWith('(') && type.includes(')')
33
+ }
34
+
30
35
  const isComplexType = (type: string) => {
31
36
  // String unions like "foo" | "bar" are not complex, they get a dropdown
32
37
  if (isStringUnion(type)) {
33
38
  return false
34
39
  }
40
+ // Function types are not complex either - they get a special editor
41
+ if (isFunctionType(type)) {
42
+ return false
43
+ }
35
44
  return type.includes('[') || type.includes('{') || type.includes('|')
36
45
  }
37
46
 
@@ -558,6 +567,52 @@ function ReactNodeEditor({ value, onChange, optional, availableBlocks }: ReactNo
558
567
  )
559
568
  }
560
569
 
570
+ interface FunctionEditorProps {
571
+ parameters: PropDefinition[]
572
+ value: string
573
+ onChange: (value: string) => void
574
+ }
575
+
576
+ function FunctionEditor({ parameters, value, onChange }: FunctionEditorProps) {
577
+ // Build the function signature from parameters
578
+ const paramSignature = parameters.map(p =>
579
+ `${p.name}${p.optional ? '?' : ''}: ${p.type}`
580
+ ).join(', ')
581
+
582
+ return (
583
+ <div>
584
+ <div style={{
585
+ fontSize: '11px',
586
+ fontFamily: 'monospace',
587
+ color: '#666',
588
+ marginBottom: '4px',
589
+ padding: '4px 8px',
590
+ background: '#f5f5f5',
591
+ borderRadius: '3px',
592
+ border: '1px solid #e0e0e0'
593
+ }}>
594
+ ({paramSignature}) =&gt;
595
+ </div>
596
+ <textarea
597
+ value={value || ''}
598
+ onChange={(e) => onChange(e.target.value)}
599
+ placeholder="Enter function body (without braces)"
600
+ style={{
601
+ width: '100%',
602
+ padding: '6px 8px',
603
+ border: '1px solid #ddd',
604
+ borderRadius: '4px',
605
+ fontSize: '12px',
606
+ fontFamily: 'monospace',
607
+ boxSizing: 'border-box',
608
+ minHeight: '60px',
609
+ resize: 'vertical'
610
+ }}
611
+ />
612
+ </div>
613
+ )
614
+ }
615
+
561
616
  interface ItemEditorProps {
562
617
  propDef: PropDefinition
563
618
  value: any
@@ -565,7 +620,18 @@ interface ItemEditorProps {
565
620
  availableBlocks?: RuntimeBlockInfo[]
566
621
  }
567
622
 
568
- function ItemEditor({ value, onChange, propDef: { type, properties, optional}, availableBlocks = [] }: ItemEditorProps) {
623
+ function ItemEditor({ value, onChange, propDef: { type, properties, parameters, optional}, availableBlocks = [] }: ItemEditorProps) {
624
+ // For function types, show function editor
625
+ if (parameters && parameters.length >= 0) {
626
+ return (
627
+ <FunctionEditor
628
+ parameters={parameters}
629
+ value={value || ''}
630
+ onChange={onChange}
631
+ />
632
+ )
633
+ }
634
+
569
635
  // For React.ReactNode, show block selector
570
636
  if (type === 'React.ReactNode' || type === 'ReactNode') {
571
637
  return (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blockparty",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Easy, zero-config, convention-based React components.",
5
5
  "repository": "github:chkn/blockparty",
6
6
  "type": "module",