@danielfgray/pg-sourcerer 0.1.8 → 0.1.9

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 (55) hide show
  1. package/dist/cli.js +30 -105
  2. package/dist/cli.js.map +1 -1
  3. package/dist/generate.d.ts.map +1 -1
  4. package/dist/generate.js +4 -8
  5. package/dist/generate.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/init.d.ts +4 -1
  11. package/dist/init.d.ts.map +1 -1
  12. package/dist/init.js +207 -86
  13. package/dist/init.js.map +1 -1
  14. package/dist/lib/conjure.d.ts +15 -2
  15. package/dist/lib/conjure.d.ts.map +1 -1
  16. package/dist/lib/conjure.js +44 -3
  17. package/dist/lib/conjure.js.map +1 -1
  18. package/dist/lib/field-utils.js +5 -8
  19. package/dist/lib/field-utils.js.map +1 -1
  20. package/dist/plugins/arktype.d.ts +7 -0
  21. package/dist/plugins/arktype.d.ts.map +1 -1
  22. package/dist/plugins/arktype.js +219 -40
  23. package/dist/plugins/arktype.js.map +1 -1
  24. package/dist/plugins/effect-model.d.ts +8 -1
  25. package/dist/plugins/effect-model.d.ts.map +1 -1
  26. package/dist/plugins/effect-model.js +163 -15
  27. package/dist/plugins/effect-model.js.map +1 -1
  28. package/dist/plugins/kysely-queries.d.ts +7 -0
  29. package/dist/plugins/kysely-queries.d.ts.map +1 -1
  30. package/dist/plugins/kysely-queries.js +175 -74
  31. package/dist/plugins/kysely-queries.js.map +1 -1
  32. package/dist/plugins/sql-queries.d.ts +4 -0
  33. package/dist/plugins/sql-queries.d.ts.map +1 -1
  34. package/dist/plugins/sql-queries.js +81 -16
  35. package/dist/plugins/sql-queries.js.map +1 -1
  36. package/dist/plugins/types.d.ts +2 -0
  37. package/dist/plugins/types.d.ts.map +1 -1
  38. package/dist/plugins/types.js +1 -1
  39. package/dist/plugins/types.js.map +1 -1
  40. package/dist/plugins/zod.d.ts +7 -0
  41. package/dist/plugins/zod.d.ts.map +1 -1
  42. package/dist/plugins/zod.js +169 -13
  43. package/dist/plugins/zod.js.map +1 -1
  44. package/dist/services/artifact-store.d.ts.map +1 -1
  45. package/dist/services/artifact-store.js +2 -5
  46. package/dist/services/artifact-store.js.map +1 -1
  47. package/dist/services/inflection.d.ts +51 -30
  48. package/dist/services/inflection.d.ts.map +1 -1
  49. package/dist/services/inflection.js +86 -93
  50. package/dist/services/inflection.js.map +1 -1
  51. package/dist/services/plugin.d.ts +10 -10
  52. package/dist/services/plugin.d.ts.map +1 -1
  53. package/dist/services/plugin.js +16 -3
  54. package/dist/services/plugin.js.map +1 -1
  55. package/package.json +3 -2
@@ -5,6 +5,7 @@
5
5
  * Users configure with simple string→string functions that compose naturally.
6
6
  */
7
7
  import { Context, Layer, String as Str } from "effect";
8
+ import pluralize from "pluralize-esm";
8
9
  // ============================================================================
9
10
  // Reserved Words
10
11
  // ============================================================================
@@ -23,42 +24,6 @@ const RESERVED_WORDS = new Set([
23
24
  // ============================================================================
24
25
  // Inflection Helper Functions
25
26
  // ============================================================================
26
- /**
27
- * Simple pluralization (naive, covers common cases)
28
- */
29
- const pluralize = (word) => {
30
- if (word.endsWith("s") ||
31
- word.endsWith("x") ||
32
- word.endsWith("z") ||
33
- word.endsWith("ch") ||
34
- word.endsWith("sh")) {
35
- return word + "es";
36
- }
37
- if (word.endsWith("y") && !/[aeiou]y$/i.test(word)) {
38
- return word.slice(0, -1) + "ies";
39
- }
40
- return word + "s";
41
- };
42
- /**
43
- * Simple singularization (naive, covers common cases)
44
- */
45
- const singularize = (word) => {
46
- if (word.endsWith("ies") && word.length > 3) {
47
- return word.slice(0, -3) + "y";
48
- }
49
- if (word.endsWith("es") &&
50
- (word.endsWith("sses") ||
51
- word.endsWith("xes") ||
52
- word.endsWith("zes") ||
53
- word.endsWith("ches") ||
54
- word.endsWith("shes"))) {
55
- return word.slice(0, -2);
56
- }
57
- if (word.endsWith("s") && !word.endsWith("ss") && word.length > 1) {
58
- return word.slice(0, -1);
59
- }
60
- return word;
61
- };
62
27
  /**
63
28
  * Inflection helper functions for use in configuration.
64
29
  *
@@ -83,9 +48,9 @@ export const inflect = {
83
48
  /** Convert camelCase to snake_case */
84
49
  snakeCase: Str.camelToSnake,
85
50
  /** Singularize a word (users → user) */
86
- singularize,
51
+ singularize: pluralize.singular,
87
52
  /** Pluralize a word (user → users) */
88
- pluralize,
53
+ pluralize: pluralize.plural,
89
54
  /** Capitalize first letter */
90
55
  capitalize: Str.capitalize,
91
56
  /** Uncapitalize first letter */
@@ -99,11 +64,30 @@ export const inflect = {
99
64
  export class Inflection extends Context.Tag("Inflection")() {
100
65
  }
101
66
  // ============================================================================
102
- // Default Inflection (identity - no transforms)
67
+ // Default Inflection Transforms
103
68
  // ============================================================================
104
69
  /**
105
- * Default inflection implementation.
106
- * Preserves PostgreSQL names as-is (identity transforms).
70
+ * Default inflection transforms - applies common JS/TS naming conventions:
71
+ * - Entity names: singularize + PascalCase (users → User)
72
+ * - Field names: identity (preserved as snake_case to match DB)
73
+ * - Enum names: PascalCase (user_status → UserStatus)
74
+ * - Shape suffixes: capitalize (row → Row)
75
+ * - Relation names: camelCase
76
+ *
77
+ * Note: Field names are NOT transformed to camelCase by default because
78
+ * the generated types would not match what the database actually returns.
79
+ * If you use a Kysely plugin that transforms column names, you can override
80
+ * fieldName in your config.
81
+ */
82
+ export const defaultTransforms = {
83
+ entityName: (name) => inflect.pascalCase(inflect.singularize(name)),
84
+ // fieldName: identity (default) - preserves snake_case from database
85
+ enumName: inflect.pascalCase,
86
+ shapeSuffix: inflect.capitalize,
87
+ relationName: inflect.camelCase,
88
+ };
89
+ /**
90
+ * Default inflection implementation using standard JS/TS naming conventions.
107
91
  */
108
92
  export const defaultInflection = {
109
93
  // Primitive transforms (always available)
@@ -112,14 +96,14 @@ export const defaultInflection = {
112
96
  pluralize: inflect.pluralize,
113
97
  singularize: inflect.singularize,
114
98
  safeIdentifier: (text) => (RESERVED_WORDS.has(text) ? text + "_" : text),
115
- // Configurable transforms (default to identity)
116
- entityName: (pgClass, tags) => tags.name ?? pgClass.relname,
117
- shapeName: (entityName, kind) => kind === "row" ? entityName : entityName + kind,
118
- fieldName: (pgAttribute, tags) => tags.name ?? pgAttribute.attname,
119
- enumName: (pgType, tags) => tags.name ?? pgType.typname,
120
- enumValueName: (value) => value,
121
- relationName: (name) => name,
122
- functionName: (pgProc, tags) => tags.name ?? `${pgProc.proname}_${pgProc.pronargs}`,
99
+ // Configurable transforms (default to JS/TS conventions)
100
+ entityName: (pgClass, tags) => tags.name ?? (defaultTransforms.entityName ?? identity)(pgClass.relname),
101
+ shapeName: (entityName, kind) => kind === "row" ? entityName : entityName + (defaultTransforms.shapeSuffix ?? identity)(kind),
102
+ fieldName: (pgAttribute, tags) => tags.name ?? (defaultTransforms.fieldName ?? identity)(pgAttribute.attname),
103
+ enumName: (pgType, tags) => tags.name ?? (defaultTransforms.enumName ?? identity)(pgType.typname),
104
+ enumValueName: (value) => (defaultTransforms.enumValue ?? identity)(value),
105
+ relationName: (name) => (defaultTransforms.relationName ?? identity)(name),
106
+ functionName: (pgProc, tags) => tags.name ?? (defaultTransforms.functionName ?? identity)(`${pgProc.proname}_${pgProc.pronargs}`),
123
107
  };
124
108
  // ============================================================================
125
109
  // Factory Functions
@@ -127,42 +111,56 @@ export const defaultInflection = {
127
111
  /** Identity function - returns input unchanged */
128
112
  const identity = (s) => s;
129
113
  /**
130
- * Create a CoreInflection instance with optional configuration.
114
+ * Create a CoreInflection instance with optional configuration overrides.
131
115
  *
116
+ * By default, applies standard JS/TS naming conventions (PascalCase entities,
117
+ * camelCase relations, etc.). User config is merged on top of defaults.
132
118
  * Smart tags (@name) always take precedence over configured transforms.
133
119
  *
134
120
  * @example
135
121
  * ```typescript
136
122
  * import { inflect } from "pg-sourcerer"
137
123
  *
138
- * // Use defaults (identity - preserve names)
124
+ * // Use defaults (standard JS/TS conventions)
139
125
  * const inflection = createInflection()
140
126
  *
141
- * // Common JS/TS conventions
127
+ * // Override specific transforms
128
+ * const inflection = createInflection({
129
+ * fieldName: inflect.camelCase, // Also camelCase fields
130
+ * })
131
+ *
132
+ * // Use identity (raw DB names) for everything
142
133
  * const inflection = createInflection({
143
- * entityName: (name) => inflect.pascalCase(inflect.singularize(name)),
144
- * fieldName: inflect.camelCase,
145
- * enumName: inflect.pascalCase,
146
- * shapeSuffix: inflect.capitalize,
134
+ * entityName: (name) => name,
135
+ * fieldName: (name) => name,
136
+ * enumName: (name) => name,
137
+ * shapeSuffix: (name) => name,
138
+ * relationName: (name) => name,
147
139
  * })
148
140
  * ```
149
141
  */
150
142
  export function createInflection(config) {
151
143
  if (!config)
152
144
  return defaultInflection;
153
- const entityFn = config.entityName ?? identity;
154
- const fieldFn = config.fieldName ?? identity;
155
- const enumNameFn = config.enumName ?? identity;
156
- const enumValueFn = config.enumValue ?? identity;
157
- const shapeSuffixFn = config.shapeSuffix ?? identity;
158
- const relationFn = config.relationName ?? identity;
159
- const functionFn = config.functionName ?? identity;
145
+ // Primitive transforms (user can override singularize/pluralize)
146
+ const singularizeFn = config.singularize ?? inflect.singularize;
147
+ const pluralizeFn = config.pluralize ?? inflect.pluralize;
148
+ // Build entityName default using the configured singularize
149
+ const defaultEntityName = (name) => inflect.pascalCase(singularizeFn(name));
150
+ // Merge user config on top of defaults
151
+ const entityFn = config.entityName ?? defaultEntityName;
152
+ const fieldFn = config.fieldName ?? defaultTransforms.fieldName ?? identity;
153
+ const enumNameFn = config.enumName ?? defaultTransforms.enumName ?? identity;
154
+ const enumValueFn = config.enumValue ?? defaultTransforms.enumValue ?? identity;
155
+ const shapeSuffixFn = config.shapeSuffix ?? defaultTransforms.shapeSuffix ?? identity;
156
+ const relationFn = config.relationName ?? defaultTransforms.relationName ?? identity;
157
+ const functionFn = config.functionName ?? defaultTransforms.functionName ?? identity;
160
158
  return {
161
- // Primitive transforms unchanged
159
+ // Primitive transforms (configurable)
162
160
  camelCase: defaultInflection.camelCase,
163
161
  pascalCase: defaultInflection.pascalCase,
164
- pluralize: defaultInflection.pluralize,
165
- singularize: defaultInflection.singularize,
162
+ pluralize: pluralizeFn,
163
+ singularize: singularizeFn,
166
164
  safeIdentifier: defaultInflection.safeIdentifier,
167
165
  // Configurable transforms (smart tags take precedence)
168
166
  entityName: (pgClass, tags) => tags.name ?? entityFn(pgClass.relname),
@@ -175,19 +173,20 @@ export function createInflection(config) {
175
173
  };
176
174
  }
177
175
  /**
178
- * Create an Effect Layer that provides inflection with optional configuration.
176
+ * Create an Effect Layer that provides inflection with optional configuration overrides.
177
+ *
178
+ * By default, applies standard JS/TS naming conventions. User config is merged on top.
179
179
  *
180
180
  * @example
181
181
  * ```typescript
182
182
  * import { inflect } from "pg-sourcerer"
183
183
  *
184
- * // Default layer (identity transforms)
184
+ * // Default layer (standard JS/TS conventions)
185
185
  * const layer = makeInflectionLayer()
186
186
  *
187
- * // Configured layer
187
+ * // Override specific transforms
188
188
  * const layer = makeInflectionLayer({
189
- * entityName: (name) => inflect.pascalCase(inflect.singularize(name)),
190
- * fieldName: inflect.camelCase,
189
+ * fieldName: inflect.camelCase, // Also camelCase fields
191
190
  * })
192
191
  * ```
193
192
  */
@@ -197,25 +196,8 @@ export function makeInflectionLayer(config) {
197
196
  // ============================================================================
198
197
  // Convenience Exports
199
198
  // ============================================================================
200
- /** Default inflection layer (identity - no transforms) */
199
+ /** Default inflection layer (standard JS/TS naming conventions) */
201
200
  export const InflectionLive = makeInflectionLayer();
202
- /**
203
- * Classic inflection config - matches the "opinionated" defaults of many ORMs:
204
- * - Entity names: singularize + PascalCase (users → User)
205
- * - Field names: camelCase (created_at → createdAt)
206
- * - Enum names: PascalCase (user_status → UserStatus)
207
- * - Shape suffixes: capitalize (row → Row)
208
- * - Relation names: camelCase
209
- */
210
- export const classicInflectionConfig = {
211
- entityName: (name) => inflect.pascalCase(inflect.singularize(name)),
212
- fieldName: inflect.camelCase,
213
- enumName: inflect.pascalCase,
214
- shapeSuffix: inflect.capitalize,
215
- relationName: inflect.camelCase,
216
- };
217
- /** Classic inflection layer - applies traditional ORM naming conventions */
218
- export const ClassicInflectionLive = makeInflectionLayer(classicInflectionConfig);
219
201
  // ============================================================================
220
202
  // Inflection Composition
221
203
  // ============================================================================
@@ -261,6 +243,8 @@ export function composeInflectionConfigs(pluginDefaults, userConfig) {
261
243
  if (!userConfig)
262
244
  return pluginDefaults;
263
245
  return Object.fromEntries(Object.entries({
246
+ singularize: composeFns(pluginDefaults.singularize, userConfig.singularize),
247
+ pluralize: composeFns(pluginDefaults.pluralize, userConfig.pluralize),
264
248
  entityName: composeFns(pluginDefaults.entityName, userConfig.entityName),
265
249
  fieldName: composeFns(pluginDefaults.fieldName, userConfig.fieldName),
266
250
  enumName: composeFns(pluginDefaults.enumName, userConfig.enumName),
@@ -283,6 +267,8 @@ export function composeInflectionConfigs(pluginDefaults, userConfig) {
283
267
  export function composeInflection(baseInflection, pluginDefaults) {
284
268
  if (!pluginDefaults)
285
269
  return baseInflection;
270
+ const singularizeFn = pluginDefaults.singularize;
271
+ const pluralizeFn = pluginDefaults.pluralize;
286
272
  const entityFn = pluginDefaults.entityName;
287
273
  const fieldFn = pluginDefaults.fieldName;
288
274
  const enumNameFn = pluginDefaults.enumName;
@@ -291,15 +277,22 @@ export function composeInflection(baseInflection, pluginDefaults) {
291
277
  const relationFn = pluginDefaults.relationName;
292
278
  const functionFn = pluginDefaults.functionName;
293
279
  // If no transforms defined, return base unchanged
294
- if (!entityFn && !fieldFn && !enumNameFn && !enumValueFn && !shapeSuffixFn && !relationFn && !functionFn) {
280
+ if (!singularizeFn && !pluralizeFn && !entityFn && !fieldFn && !enumNameFn && !enumValueFn && !shapeSuffixFn && !relationFn && !functionFn) {
295
281
  return baseInflection;
296
282
  }
283
+ // Compose primitives: plugin first, then base
284
+ const composedSingularize = singularizeFn
285
+ ? (word) => baseInflection.singularize(singularizeFn(word))
286
+ : baseInflection.singularize;
287
+ const composedPluralize = pluralizeFn
288
+ ? (word) => baseInflection.pluralize(pluralizeFn(word))
289
+ : baseInflection.pluralize;
297
290
  return {
298
- // Primitive transforms unchanged
291
+ // Primitive transforms (composed if plugin provides them)
299
292
  camelCase: baseInflection.camelCase,
300
293
  pascalCase: baseInflection.pascalCase,
301
- pluralize: baseInflection.pluralize,
302
- singularize: baseInflection.singularize,
294
+ pluralize: composedPluralize,
295
+ singularize: composedSingularize,
303
296
  safeIdentifier: baseInflection.safeIdentifier,
304
297
  // Compose: plugin transforms first, then base transforms
305
298
  entityName: (pgClass, tags) => {
@@ -1 +1 @@
1
- {"version":3,"file":"inflection.js","sourceRoot":"","sources":["../../src/services/inflection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inflection.js","sourceRoot":"","sources":["../../src/services/inflection.ts"],"names":[],"mappings":"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"}
@@ -104,15 +104,15 @@ export type PluginServices = IR | Inflection | Emissions | Symbols | TypeHints |
104
104
  * }
105
105
  * ```
106
106
  */
107
- export interface Plugin<TConfig = unknown> {
107
+ export interface Plugin<TConfig = unknown, TEncoded = TConfig> {
108
108
  /** Unique plugin name */
109
109
  readonly name: string;
110
110
  /** Capabilities this plugin requires (must be provided by earlier plugins) */
111
111
  readonly requires?: readonly CapabilityKey[];
112
112
  /** Capabilities this plugin provides */
113
113
  readonly provides: readonly CapabilityKey[];
114
- /** Configuration schema (Effect Schema) - Schema<TConfig> or Schema<TConfig, Encoded> */
115
- readonly configSchema: S.Schema<TConfig>;
114
+ /** Configuration schema (Effect Schema) - Schema<TConfig, Encoded> with TConfig as decoded type */
115
+ readonly configSchema: S.Schema<TConfig, TEncoded, never>;
116
116
  /** Plugin-specific inflection for file and symbol naming */
117
117
  readonly inflection: PluginInflection;
118
118
  /**
@@ -153,10 +153,10 @@ export interface Plugin<TConfig = unknown> {
153
153
  * The factory also exposes the underlying plugin for inspection:
154
154
  * - `factory.plugin` - The Plugin object with name, provides, requires, etc.
155
155
  */
156
- export interface PluginFactory<TConfig> {
157
- (config: TConfig): ConfiguredPlugin;
156
+ export interface PluginFactory<TConfig, TEncoded = TConfig> {
157
+ (config?: TEncoded): ConfiguredPlugin;
158
158
  /** The underlying plugin definition */
159
- readonly plugin: Plugin<TConfig>;
159
+ readonly plugin: Plugin<TConfig, TEncoded>;
160
160
  }
161
161
  /**
162
162
  * A plugin with its validated configuration
@@ -231,15 +231,15 @@ export interface SimplePluginContext {
231
231
  /**
232
232
  * Definition for a simple plugin (no Effect knowledge required)
233
233
  */
234
- export interface SimplePluginDef<TConfig = unknown> {
234
+ export interface SimplePluginDef<TConfig = unknown, TEncoded = TConfig> {
235
235
  /** Unique plugin name */
236
236
  readonly name: string;
237
237
  /** Capabilities this plugin requires */
238
238
  readonly requires?: readonly CapabilityKey[];
239
239
  /** Capabilities this plugin provides */
240
240
  readonly provides: readonly CapabilityKey[];
241
- /** Configuration schema */
242
- readonly configSchema: S.Schema<TConfig>;
241
+ /** Configuration schema - Type is the decoded config, Encoded can differ (e.g., with defaults) */
242
+ readonly configSchema: S.Schema<TConfig, TEncoded, never>;
243
243
  /** Plugin-specific inflection for file and symbol naming */
244
244
  readonly inflection: PluginInflection;
245
245
  /**
@@ -282,5 +282,5 @@ export interface SimplePluginDef<TConfig = unknown> {
282
282
  * ]
283
283
  * ```
284
284
  */
285
- export declare function definePlugin<TConfig>(def: SimplePluginDef<TConfig>): PluginFactory<TConfig>;
285
+ export declare function definePlugin<TConfig, TEncoded = TConfig>(def: SimplePluginDef<TConfig, TEncoded>): PluginFactory<TConfig, TEncoded>;
286
286
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Defines the Effect-native plugin interface where plugins are Effects
5
5
  * that yield the services they need from context.
6
6
  */
7
- import { Effect } from "effect";
7
+ import { Effect, Schema as S, ParseResult } from "effect";
8
8
  import { PluginExecutionFailed } from "../errors.js";
9
9
  import { createFileBuilder } from "./file-builder.js";
10
10
  // Import service tags for yielding in definePlugin
@@ -49,6 +49,19 @@ export function definePlugin(def) {
49
49
  configSchema: def.configSchema,
50
50
  inflection: def.inflection,
51
51
  run: (config) => Effect.gen(function* () {
52
+ // Apply schema defaults to config (supports direct run() calls in tests)
53
+ const validatedConfig = yield* S.decodeUnknown(def.configSchema)(config).pipe(Effect.mapError(parseError => {
54
+ const formatted = ParseResult.ArrayFormatter.formatErrorSync(parseError);
55
+ const errors = formatted.map(e => {
56
+ const path = e.path.length > 0 ? `${e.path.join(".")}: ` : "";
57
+ return `${path}${e.message}`;
58
+ });
59
+ return new PluginExecutionFailed({
60
+ message: `Invalid config for plugin "${def.name}": ${errors.join("; ")}`,
61
+ plugin: def.name,
62
+ cause: new Error(errors.join("; ")),
63
+ });
64
+ }));
52
65
  // Yield all services from context
53
66
  const ir = yield* IR;
54
67
  const inflection = yield* Inflection;
@@ -95,7 +108,7 @@ export function definePlugin(def) {
95
108
  };
96
109
  // Call the user's run function, handling sync/async errors
97
110
  const result = yield* Effect.try({
98
- try: () => def.run(ctx, config),
111
+ try: () => def.run(ctx, validatedConfig),
99
112
  catch: (error) => new PluginExecutionFailed({
100
113
  message: `Plugin ${def.name} failed`,
101
114
  plugin: def.name,
@@ -126,7 +139,7 @@ export function definePlugin(def) {
126
139
  // Return the curried factory function with plugin attached for inspection
127
140
  return Object.assign((config) => ({
128
141
  plugin: finalPlugin,
129
- config,
142
+ config: config ?? {},
130
143
  }), { plugin: finalPlugin });
131
144
  }
132
145
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAKpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,mDAAmD;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAyR3C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,YAAY,CAAU,GAA6B;IACjE,mCAAmC;IACnC,MAAM,MAAM,GAAoB;QAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;QAE1B,GAAG,EAAE,CAAC,MAAe,EAAE,EAAE,CACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,kCAAkC;YAClC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAA;YACpB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;YAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;YAE9B,kCAAkC;YAClC,MAAM,GAAG,GAAwB;gBAC/B,EAAE;gBACF,UAAU;gBACV,OAAO;gBACP,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,gBAAgB,EAAE,GAAG,CAAC,UAAU;gBAEhC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1C,CAAC;gBAED,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;oBAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACjD,CAAC;gBAED,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBAC5B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gBAE1D,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;oBAChC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;gBAEtE,GAAG,EAAE;oBACH,iDAAiD;oBACjD,4DAA4D;oBAC5D,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;wBACjB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBAChB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBAChB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;iBACF;aACF,CAAA;YAED,2DAA2D;YAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,qBAAqB,CAAC;oBACxB,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,SAAS;oBACpC,MAAM,EAAE,GAAG,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC,CAAA;YAEF,qCAAqC;YACrC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;oBACvB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM;oBACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,qBAAqB,CAAC;wBACxB,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,SAAS;wBACpC,MAAM,EAAE,GAAG,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjE,CAAC;iBACL,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC;KACL,CAAA;IAED,uEAAuE;IACvE,IAAI,WAAW,GAAoB,MAAM,CAAA;IACzC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAA;IAC9E,CAAC;IAED,0EAA0E;IAC1E,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,MAAe,EAAoB,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,WAA8B;QACtC,MAAM;KACP,CAAC,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,CACxB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAGzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAKpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,mDAAmD;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAyR3C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,YAAY,CAA8B,GAAuC;IAC/F,mCAAmC;IACnC,MAAM,MAAM,GAA8B;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;QAE1B,GAAG,EAAE,CAAC,MAAe,EAAE,EAAE,CACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,yEAAyE;YACzE,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3E,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;gBACxE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC7D,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC9B,CAAC,CAAC,CAAA;gBACF,OAAO,IAAI,qBAAqB,CAAC;oBAC/B,OAAO,EAAE,8BAA8B,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxE,MAAM,EAAE,GAAG,CAAC,IAAI;oBAChB,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpC,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;YAED,kCAAkC;YAClC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAA;YACpB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;YAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;YAE9B,kCAAkC;YAClC,MAAM,GAAG,GAAwB;gBAC/B,EAAE;gBACF,UAAU;gBACV,OAAO;gBACP,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,gBAAgB,EAAE,GAAG,CAAC,UAAU;gBAEhC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1C,CAAC;gBAED,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;oBAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACjD,CAAC;gBAED,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBAC5B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gBAE1D,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;oBAChC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;gBAEtE,GAAG,EAAE;oBACH,iDAAiD;oBACjD,4DAA4D;oBAC5D,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;wBACjB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBAChB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBAChB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;iBACF;aACF,CAAA;YAED,2DAA2D;YAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;gBACxC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,qBAAqB,CAAC;oBACxB,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,SAAS;oBACpC,MAAM,EAAE,GAAG,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC,CAAA;YAEF,qCAAqC;YACrC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;oBACvB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM;oBACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,qBAAqB,CAAC;wBACxB,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,SAAS;wBACpC,MAAM,EAAE,GAAG,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjE,CAAC;iBACL,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC;KACL,CAAA;IAED,uEAAuE;IACvE,IAAI,WAAW,GAA8B,MAAM,CAAA;IACnD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAA;IAC9E,CAAC;IAED,0EAA0E;IAC1E,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,MAAiB,EAAoB,EAAE,CAAC,CAAC;QACxC,MAAM,EAAE,WAA8B;QACtC,MAAM,EAAE,MAAM,IAAI,EAAE;KACrB,CAAC,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,CACxB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielfgray/pg-sourcerer",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "PostgreSQL code generation framework with a plugin ecosystem",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -53,14 +53,15 @@
53
53
  "license": "MIT",
54
54
  "author": "Daniel Gray",
55
55
  "dependencies": {
56
+ "@danielfgray/pg-introspection": "1.0.0",
56
57
  "@effect/cli": "^0.73.0",
57
58
  "@effect/platform": "^0.94.1",
58
59
  "@effect/platform-node": "^0.104.0",
59
60
  "effect": "^3.19.14",
60
61
  "lilconfig": "^3.1.3",
61
62
  "pg": "^8.16.0",
63
+ "pluralize-esm": "^9.0.5",
62
64
  "postgres": "^3.4.7",
63
- "@danielfgray/pg-introspection": "1.0.0",
64
65
  "recast": "^0.23.11"
65
66
  },
66
67
  "devDependencies": {