barrelize 1.3.0 → 1.4.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.
- package/README.md +39 -13
- package/lib/index.js +15021 -257
- package/lib/src/config/config.d.ts +125 -10
- package/lib/src/extract-exports/extract-exports-options.d.ts +13 -0
- package/lib/src/extract-exports/extract-exports.d.ts +7 -0
- package/lib/src/generate/export-path-info.d.ts +5 -0
- package/lib/src/generate/format-export-line.d.ts +2 -0
- package/lib/src/generate/generate-barrels.d.ts +1 -1
- package/lib/src/generate/glob-paths.d.ts +1 -1
- package/lib/src/generate/handlers/handle-path-exports.d.ts +2 -0
- package/lib/src/generate/handlers/handle-path-order.d.ts +2 -0
- package/lib/src/generate/handlers/handle-path-replace.d.ts +2 -0
- package/lib/src/generate/handlers/handle-paths.d.ts +2 -0
- package/lib/src/generate/paths-differences.d.ts +1 -1
- package/lib/src/index.d.ts +14 -8
- package/lib/src/regex/try-parse-regex.d.ts +2 -0
- package/package.json +6 -4
- package/schema.json +183 -72
- package/lib/src/generate/generate-barrel.d.ts +0 -2
- package/lib/src/generate/handle-path-order.d.ts +0 -2
- package/lib/src/generate/handle-path-replacement.d.ts +0 -2
- /package/lib/src/{schema/generate-schema.d.ts → regex/try-parse-regex.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -16,6 +16,13 @@ Barrelize simplifies module exports by creating clean, centralized `index.js` or
|
|
|
16
16
|
- **Customizable**: Configure file patterns, ignore specific files, or customize export styles (named, default, or both).
|
|
17
17
|
- **Recursive**: Optionally generate barrels for nested directories.
|
|
18
18
|
- **CLI & API**: Use via command line for quick setups or integrate programmatically in your build scripts.
|
|
19
|
+
- **Smart Export Control**: Fine-grained control over what gets exported and how:
|
|
20
|
+
- Include/exclude specific members using string or regex patterns
|
|
21
|
+
- Map member names to custom export names
|
|
22
|
+
- Automatic type-only exports detection
|
|
23
|
+
- Support for asterisk (\*) exports when appropriate
|
|
24
|
+
- **Flexible Path Handling**: Replace patterns in export paths using string or regular expressions
|
|
25
|
+
- **Customizable Formatting**: Control bracket spacing, quotes, semicolons, and newlines
|
|
19
26
|
|
|
20
27
|
### Why Use Barrelize?
|
|
21
28
|
|
|
@@ -76,31 +83,50 @@ Create a `.barrelize` file in your project root. The configuration file uses JSO
|
|
|
76
83
|
```jsonc
|
|
77
84
|
{
|
|
78
85
|
"$schema": "node_modules/barrelize/schema.json",
|
|
79
|
-
// Global settings
|
|
86
|
+
// Global formatting settings
|
|
87
|
+
"bracketSpacing": true, // Add spaces between brackets in exports (default: true)
|
|
80
88
|
"singleQuote": true, // Use single quotes for exports (default: true)
|
|
81
89
|
"semi": true, // Add semicolons after exports (default: true)
|
|
82
90
|
"insertFinalNewline": true, // Add newline at end of file (default: true)
|
|
83
|
-
|
|
91
|
+
|
|
92
|
+
// Configure multiple barrels
|
|
84
93
|
"barrels": [
|
|
85
94
|
{
|
|
95
|
+
// Root directory to start from (default: "")
|
|
96
|
+
"root": "src",
|
|
86
97
|
// Name of the index file (default: "index.ts")
|
|
87
98
|
"name": "index.ts",
|
|
88
|
-
// Root directory to start from (default: "")
|
|
89
|
-
"path": "src",
|
|
90
99
|
// Files to include in the barrel (default: ["**/*.ts"])
|
|
91
|
-
"include": ["**/*.ts"
|
|
100
|
+
"include": ["**/*.ts"],
|
|
92
101
|
// Files to exclude from the barrel (default: [])
|
|
93
|
-
"exclude": ["**/*.test.ts"
|
|
102
|
+
"exclude": ["**/*.test.ts"],
|
|
94
103
|
// Optional ordering of exports (default: [])
|
|
95
104
|
"order": ["types", "constants", "utils"],
|
|
96
|
-
//
|
|
97
|
-
"replace":
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
// String/regex patterns to find and replace in export paths
|
|
106
|
+
"replace": {
|
|
107
|
+
"/\\.ts$/": "" // Remove .ts extension from paths
|
|
108
|
+
},
|
|
109
|
+
// Export configuration for different file patterns
|
|
110
|
+
"exports": {
|
|
111
|
+
"**/*.ts": {
|
|
112
|
+
// Include specific members (default: [])
|
|
113
|
+
"includeMembers": ["MyClass", "/^.*Service$/"],
|
|
114
|
+
// Exclude specific members (default: [])
|
|
115
|
+
"excludeMembers": ["internal", "/^_.*$/"],
|
|
116
|
+
// Map member patterns to export names
|
|
117
|
+
"map": {
|
|
118
|
+
"/^.+Util$/": "util",
|
|
119
|
+
"default": "lib",
|
|
120
|
+
"*": "services"
|
|
121
|
+
},
|
|
122
|
+
// Use * export when all members are exported (default: true)
|
|
123
|
+
"asteriskIfAllExported": true,
|
|
124
|
+
// Add 'type' prefix for type-only exports (default: true)
|
|
125
|
+
"typePrefixIfPossible": true
|
|
101
126
|
}
|
|
102
|
-
|
|
103
|
-
// Override global settings per
|
|
127
|
+
},
|
|
128
|
+
// Override global formatting settings per barrel
|
|
129
|
+
"bracketSpacing": true,
|
|
104
130
|
"singleQuote": true,
|
|
105
131
|
"semi": true,
|
|
106
132
|
"insertFinalNewline": true
|