@alloy-js/python 0.5.0-dev.1 → 0.5.0-dev.2

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.
Files changed (166) hide show
  1. package/dist/dev/src/components/SourceFile.js +44 -32
  2. package/dist/dev/src/components/SourceFile.js.map +1 -1
  3. package/dist/dev/test/callsignatures.test.js +471 -297
  4. package/dist/dev/test/callsignatures.test.js.map +1 -1
  5. package/dist/dev/test/class-method-declaration.test.js +21 -10
  6. package/dist/dev/test/class-method-declaration.test.js.map +1 -1
  7. package/dist/dev/test/classdeclarations.test.js +459 -393
  8. package/dist/dev/test/classdeclarations.test.js.map +1 -1
  9. package/dist/dev/test/classinstantiations.test.js +201 -168
  10. package/dist/dev/test/classinstantiations.test.js.map +1 -1
  11. package/dist/dev/test/constructordeclaration.test.js +22 -11
  12. package/dist/dev/test/constructordeclaration.test.js.map +1 -1
  13. package/dist/dev/test/dataclassdeclarations.test.js +322 -368
  14. package/dist/dev/test/dataclassdeclarations.test.js.map +1 -1
  15. package/dist/dev/test/decoratorlist.test.js +96 -49
  16. package/dist/dev/test/decoratorlist.test.js.map +1 -1
  17. package/dist/dev/test/dundermethoddeclaration.test.js +22 -11
  18. package/dist/dev/test/dundermethoddeclaration.test.js.map +1 -1
  19. package/dist/dev/test/enums.test.js +218 -184
  20. package/dist/dev/test/enums.test.js.map +1 -1
  21. package/dist/dev/test/externals.test.js +57 -45
  22. package/dist/dev/test/externals.test.js.map +1 -1
  23. package/dist/dev/test/factories.test.js +124 -50
  24. package/dist/dev/test/factories.test.js.map +1 -1
  25. package/dist/dev/test/functioncallexpressions.test.js +199 -164
  26. package/dist/dev/test/functioncallexpressions.test.js.map +1 -1
  27. package/dist/dev/test/functiondeclaration.test.js +439 -272
  28. package/dist/dev/test/functiondeclaration.test.js.map +1 -1
  29. package/dist/dev/test/imports.test.js +273 -221
  30. package/dist/dev/test/imports.test.js.map +1 -1
  31. package/dist/dev/test/memberexpressions.test.js +1237 -972
  32. package/dist/dev/test/memberexpressions.test.js.map +1 -1
  33. package/dist/dev/test/methoddeclaration.test.js +142 -78
  34. package/dist/dev/test/methoddeclaration.test.js.map +1 -1
  35. package/dist/dev/test/namepolicies.test.js +130 -94
  36. package/dist/dev/test/namepolicies.test.js.map +1 -1
  37. package/dist/dev/test/propertydeclaration.test.js +88 -59
  38. package/dist/dev/test/propertydeclaration.test.js.map +1 -1
  39. package/dist/dev/test/pydanticclassdeclarations.test.js +299 -347
  40. package/dist/dev/test/pydanticclassdeclarations.test.js.map +1 -1
  41. package/dist/dev/test/pydocs.test.js +888 -715
  42. package/dist/dev/test/pydocs.test.js.map +1 -1
  43. package/dist/dev/test/references.test.js +42 -35
  44. package/dist/dev/test/references.test.js.map +1 -1
  45. package/dist/dev/test/sourcefiles.test.js +1109 -841
  46. package/dist/dev/test/sourcefiles.test.js.map +1 -1
  47. package/dist/dev/test/staticmethoddeclaration.test.js +21 -10
  48. package/dist/dev/test/staticmethoddeclaration.test.js.map +1 -1
  49. package/dist/dev/test/type-checking-imports.test.js +408 -359
  50. package/dist/dev/test/type-checking-imports.test.js.map +1 -1
  51. package/dist/dev/test/typereference.test.js +55 -40
  52. package/dist/dev/test/typereference.test.js.map +1 -1
  53. package/dist/dev/test/uniontypeexpression.test.js +222 -146
  54. package/dist/dev/test/uniontypeexpression.test.js.map +1 -1
  55. package/dist/dev/test/utils.js +39 -77
  56. package/dist/dev/test/utils.js.map +1 -1
  57. package/dist/dev/test/values.test.js +237 -101
  58. package/dist/dev/test/values.test.js.map +1 -1
  59. package/dist/dev/test/variables.test.js +321 -203
  60. package/dist/dev/test/variables.test.js.map +1 -1
  61. package/dist/dev/test/vitest.setup.js +2 -0
  62. package/dist/dev/test/vitest.setup.js.map +1 -0
  63. package/dist/src/components/SourceFile.d.ts +2 -2
  64. package/dist/src/components/SourceFile.d.ts.map +1 -1
  65. package/dist/src/components/SourceFile.js +12 -0
  66. package/dist/src/components/SourceFile.js.map +1 -1
  67. package/dist/test/callsignatures.test.js +346 -272
  68. package/dist/test/callsignatures.test.js.map +1 -1
  69. package/dist/test/class-method-declaration.test.js +7 -4
  70. package/dist/test/class-method-declaration.test.js.map +1 -1
  71. package/dist/test/classdeclarations.test.js +302 -288
  72. package/dist/test/classdeclarations.test.js.map +1 -1
  73. package/dist/test/classinstantiations.test.js +112 -103
  74. package/dist/test/classinstantiations.test.js.map +1 -1
  75. package/dist/test/constructordeclaration.test.js +7 -4
  76. package/dist/test/constructordeclaration.test.js.map +1 -1
  77. package/dist/test/dataclassdeclarations.test.js +134 -184
  78. package/dist/test/dataclassdeclarations.test.js.map +1 -1
  79. package/dist/test/decoratorlist.test.js +59 -36
  80. package/dist/test/decoratorlist.test.js.map +1 -1
  81. package/dist/test/dundermethoddeclaration.test.js +7 -4
  82. package/dist/test/dundermethoddeclaration.test.js.map +1 -1
  83. package/dist/test/enums.test.js +161 -159
  84. package/dist/test/enums.test.js.map +1 -1
  85. package/dist/test/externals.test.js +24 -24
  86. package/dist/test/externals.test.js.map +1 -1
  87. package/dist/test/factories.test.js +75 -33
  88. package/dist/test/factories.test.js.map +1 -1
  89. package/dist/test/functioncallexpressions.test.js +117 -106
  90. package/dist/test/functioncallexpressions.test.js.map +1 -1
  91. package/dist/test/functiondeclaration.test.js +247 -180
  92. package/dist/test/functiondeclaration.test.js.map +1 -1
  93. package/dist/test/imports.test.js +171 -143
  94. package/dist/test/imports.test.js.map +1 -1
  95. package/dist/test/memberexpressions.test.js +582 -453
  96. package/dist/test/memberexpressions.test.js.map +1 -1
  97. package/dist/test/methoddeclaration.test.js +66 -46
  98. package/dist/test/methoddeclaration.test.js.map +1 -1
  99. package/dist/test/namepolicies.test.js +90 -78
  100. package/dist/test/namepolicies.test.js.map +1 -1
  101. package/dist/test/propertydeclaration.test.js +25 -20
  102. package/dist/test/propertydeclaration.test.js.map +1 -1
  103. package/dist/test/pydanticclassdeclarations.test.js +134 -190
  104. package/dist/test/pydanticclassdeclarations.test.js.map +1 -1
  105. package/dist/test/pydocs.test.js +573 -532
  106. package/dist/test/pydocs.test.js.map +1 -1
  107. package/dist/test/references.test.js +31 -28
  108. package/dist/test/references.test.js.map +1 -1
  109. package/dist/test/sourcefiles.test.js +700 -580
  110. package/dist/test/sourcefiles.test.js.map +1 -1
  111. package/dist/test/staticmethoddeclaration.test.js +7 -4
  112. package/dist/test/staticmethoddeclaration.test.js.map +1 -1
  113. package/dist/test/type-checking-imports.test.js +297 -284
  114. package/dist/test/type-checking-imports.test.js.map +1 -1
  115. package/dist/test/typereference.test.js +29 -22
  116. package/dist/test/typereference.test.js.map +1 -1
  117. package/dist/test/uniontypeexpression.test.js +124 -88
  118. package/dist/test/uniontypeexpression.test.js.map +1 -1
  119. package/dist/test/utils.d.ts +10 -17
  120. package/dist/test/utils.d.ts.map +1 -1
  121. package/dist/test/utils.js +32 -74
  122. package/dist/test/utils.js.map +1 -1
  123. package/dist/test/values.test.js +135 -67
  124. package/dist/test/values.test.js.map +1 -1
  125. package/dist/test/variables.test.js +201 -151
  126. package/dist/test/variables.test.js.map +1 -1
  127. package/dist/test/vitest.setup.d.ts +2 -0
  128. package/dist/test/vitest.setup.d.ts.map +1 -0
  129. package/dist/test/vitest.setup.js +2 -0
  130. package/dist/test/vitest.setup.js.map +1 -0
  131. package/dist/tsconfig.tsbuildinfo +1 -1
  132. package/docs/api/components/SourceFile.md +20 -8
  133. package/package.json +2 -2
  134. package/src/components/SourceFile.tsx +6 -1
  135. package/temp/api.json +16 -2
  136. package/test/callsignatures.test.tsx +309 -283
  137. package/test/class-method-declaration.test.tsx +3 -4
  138. package/test/classdeclarations.test.tsx +263 -248
  139. package/test/classinstantiations.test.tsx +115 -109
  140. package/test/constructordeclaration.test.tsx +9 -6
  141. package/test/dataclassdeclarations.test.tsx +243 -361
  142. package/test/decoratorlist.test.tsx +78 -59
  143. package/test/dundermethoddeclaration.test.tsx +3 -4
  144. package/test/enums.test.tsx +65 -81
  145. package/test/externals.test.tsx +25 -25
  146. package/test/factories.test.tsx +64 -22
  147. package/test/functioncallexpressions.test.tsx +123 -109
  148. package/test/functiondeclaration.test.tsx +209 -148
  149. package/test/imports.test.tsx +119 -91
  150. package/test/memberexpressions.test.tsx +265 -207
  151. package/test/methoddeclaration.test.tsx +84 -63
  152. package/test/namepolicies.test.tsx +69 -69
  153. package/test/propertydeclaration.test.tsx +7 -8
  154. package/test/pydanticclassdeclarations.test.tsx +355 -487
  155. package/test/pydocs.test.tsx +531 -579
  156. package/test/references.test.tsx +24 -23
  157. package/test/sourcefiles.test.tsx +527 -492
  158. package/test/staticmethoddeclaration.test.tsx +3 -4
  159. package/test/type-checking-imports.test.tsx +206 -218
  160. package/test/typereference.test.tsx +15 -12
  161. package/test/uniontypeexpression.test.tsx +74 -61
  162. package/test/utils.tsx +26 -110
  163. package/test/values.test.tsx +82 -32
  164. package/test/variables.test.tsx +162 -142
  165. package/test/vitest.setup.ts +1 -0
  166. package/vitest.config.ts +3 -0
@@ -13,7 +13,11 @@ A Python source file component that represents a Python file in the source direc
13
13
  futureImports={Children[]}
14
14
  header={Children}
15
15
  headerComment="string"
16
+ insertFinalNewLine
16
17
  path="string"
18
+ printWidth={number}
19
+ tabWidth={number}
20
+ useTabs
17
21
  >
18
22
  {children}
19
23
  </SourceFile>
@@ -30,20 +34,28 @@ A Python source file component that represents a Python file in the source direc
30
34
  futureImports: Children[],
31
35
  header: Children,
32
36
  headerComment: string,
37
+ insertFinalNewLine: boolean,
33
38
  path: string,
39
+ printWidth: number,
40
+ tabWidth: number,
41
+ useTabs: boolean,
34
42
  }).children(children)
35
43
  ```
36
44
 
37
45
  ## Props
38
46
 
39
- | | | |
40
- | ------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
41
- | children | optional [Children](../../../core/types/children/) | Content to add to the file, such as function definitions, class definitions, and variable declarations. |
42
- | doc | optional [Children](../../../core/types/children/) | Documentation for this module, which will be rendered as a module-level docstring. |
43
- | futureImports | optional [Children](../../../core/types/children/)\[] | **future** imports to render after the docstring but before regular imports. |
44
- | header | optional [Children](../../../core/types/children/) | Content to render at the very top of the file, before everything else. Use this for shebang lines, encoding declarations, or license headers. |
45
- | headerComment | optional string | Comment to add at the top of the file, rendered as a Python comment block. This is a convenience prop for adding copyright notices or other comments. |
46
- | path | string | The path to the file relative to the source directory. |
47
+ | | | |
48
+ | ------------------ | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
49
+ | children | optional [Children](../../../core/types/children/) | Content to add to the file, such as function definitions, class definitions, and variable declarations. |
50
+ | doc | optional [Children](../../../core/types/children/) | Documentation for this module, which will be rendered as a module-level docstring. |
51
+ | futureImports | optional [Children](../../../core/types/children/)\[] | **future** imports to render after the docstring but before regular imports. |
52
+ | header | optional [Children](../../../core/types/children/) | Content to render at the very top of the file, before everything else. Use this for shebang lines, encoding declarations, or license headers. |
53
+ | headerComment | optional string | Comment to add at the top of the file, rendered as a Python comment block. This is a convenience prop for adding copyright notices or other comments. |
54
+ | insertFinalNewLine | optional boolean | If files should end with a final new line. |
55
+ | path | string | The path to the file relative to the source directory. |
56
+ | printWidth | optional number | The number of characters the printer will wrap on. Defaults to 100 characters. |
57
+ | tabWidth | optional number | The number of spaces to use for indentation. Defaults to 2 spaces. |
58
+ | useTabs | optional boolean | Whether to use tabs instead of spaces for indentation. Defaults to false. |
47
59
 
48
60
  ## Examples
49
61
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alloy-js/python",
3
- "version": "0.5.0-dev.1",
3
+ "version": "0.5.0-dev.2",
4
4
  "description": "Python bindings for Alloy",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "author": "",
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@alloy-js/core": "~0.23.1 || >= 0.24.0-dev.6",
23
+ "@alloy-js/core": "~0.23.1 || >= 0.24.0-dev.7",
24
24
  "change-case": "^5.4.4",
25
25
  "pathe": "^2.0.3"
26
26
  },
@@ -7,6 +7,7 @@ import {
7
7
  createScope,
8
8
  isComponentCreator,
9
9
  List,
10
+ PrintTreeOptions,
10
11
  Scope,
11
12
  Show,
12
13
  SourceDirectoryContext,
@@ -78,7 +79,7 @@ export function useSourceFile() {
78
79
  return useContext(PythonSourceFileContext)!;
79
80
  }
80
81
 
81
- export interface SourceFileProps {
82
+ export interface SourceFileProps extends PrintTreeOptions {
82
83
  /**
83
84
  * The path to the file relative to the source directory.
84
85
  */
@@ -200,6 +201,10 @@ export function SourceFile(props: SourceFileProps) {
200
201
  filetype="py"
201
202
  reference={Reference}
202
203
  header={props.header}
204
+ tabWidth={props.tabWidth ?? 4}
205
+ printWidth={props.printWidth}
206
+ useTabs={props.useTabs}
207
+ insertFinalNewLine={props.insertFinalNewLine}
203
208
  >
204
209
  {/* Extra blank line after header when followed by doc/futureImports/children (not headerComment) */}
205
210
  <Show
package/temp/api.json CHANGED
@@ -11117,7 +11117,16 @@
11117
11117
  "excerptTokens": [
11118
11118
  {
11119
11119
  "kind": "Content",
11120
- "text": "export interface SourceFileProps "
11120
+ "text": "export interface SourceFileProps extends "
11121
+ },
11122
+ {
11123
+ "kind": "Reference",
11124
+ "text": "PrintTreeOptions",
11125
+ "canonicalReference": "@alloy-js/core!PrintTreeOptions:interface"
11126
+ },
11127
+ {
11128
+ "kind": "Content",
11129
+ "text": " "
11121
11130
  }
11122
11131
  ],
11123
11132
  "fileUrlPath": "src/components/SourceFile.tsx",
@@ -11296,7 +11305,12 @@
11296
11305
  }
11297
11306
  }
11298
11307
  ],
11299
- "extendsTokenRanges": []
11308
+ "extendsTokenRanges": [
11309
+ {
11310
+ "startIndex": 1,
11311
+ "endIndex": 2
11312
+ }
11313
+ ]
11300
11314
  },
11301
11315
  {
11302
11316
  "kind": "Function",