@memberjunction/integration-schema-builder 0.0.1 → 5.9.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.
Files changed (42) hide show
  1. package/dist/AccessControl.d.ts +26 -0
  2. package/dist/AccessControl.d.ts.map +1 -0
  3. package/dist/AccessControl.js +68 -0
  4. package/dist/AccessControl.js.map +1 -0
  5. package/dist/DDLGenerator.d.ts +37 -0
  6. package/dist/DDLGenerator.d.ts.map +1 -0
  7. package/dist/DDLGenerator.js +155 -0
  8. package/dist/DDLGenerator.js.map +1 -0
  9. package/dist/MetadataEmitter.d.ts +23 -0
  10. package/dist/MetadataEmitter.d.ts.map +1 -0
  11. package/dist/MetadataEmitter.js +52 -0
  12. package/dist/MetadataEmitter.js.map +1 -0
  13. package/dist/MigrationFileWriter.d.ts +25 -0
  14. package/dist/MigrationFileWriter.d.ts.map +1 -0
  15. package/dist/MigrationFileWriter.js +67 -0
  16. package/dist/MigrationFileWriter.js.map +1 -0
  17. package/dist/SchemaBuilder.d.ts +27 -0
  18. package/dist/SchemaBuilder.d.ts.map +1 -0
  19. package/dist/SchemaBuilder.js +177 -0
  20. package/dist/SchemaBuilder.js.map +1 -0
  21. package/dist/SchemaEvolution.d.ts +27 -0
  22. package/dist/SchemaEvolution.d.ts.map +1 -0
  23. package/dist/SchemaEvolution.js +91 -0
  24. package/dist/SchemaEvolution.js.map +1 -0
  25. package/dist/SoftFKConfigEmitter.d.ts +53 -0
  26. package/dist/SoftFKConfigEmitter.d.ts.map +1 -0
  27. package/dist/SoftFKConfigEmitter.js +140 -0
  28. package/dist/SoftFKConfigEmitter.js.map +1 -0
  29. package/dist/TypeMapper.d.ts +25 -0
  30. package/dist/TypeMapper.d.ts.map +1 -0
  31. package/dist/TypeMapper.js +72 -0
  32. package/dist/TypeMapper.js.map +1 -0
  33. package/dist/index.d.ts +10 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +11 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/interfaces.d.ts +182 -0
  38. package/dist/interfaces.d.ts.map +1 -0
  39. package/dist/interfaces.js +8 -0
  40. package/dist/interfaces.js.map +1 -0
  41. package/package.json +28 -7
  42. package/README.md +0 -45
@@ -0,0 +1,10 @@
1
+ export type { DatabasePlatform, SourceSchemaInfo, SourceObjectInfo, SourceFieldInfo, SourceRelationshipInfo, TargetTableConfig, TargetColumnConfig, SoftFKEntry, ExistingTableInfo, ExistingColumnInfo, SchemaDiff, ColumnModification, TypeMappingEntry, EmittedFile, MigrationMetadata, SchemaBuilderInput, SchemaBuilderOutput, AccessControlResult, } from './interfaces.js';
2
+ export { TypeMapper } from './TypeMapper.js';
3
+ export { DDLGenerator, ValidateIdentifier } from './DDLGenerator.js';
4
+ export { MigrationFileWriter } from './MigrationFileWriter.js';
5
+ export { SoftFKConfigEmitter } from './SoftFKConfigEmitter.js';
6
+ export { MetadataEmitter } from './MetadataEmitter.js';
7
+ export { SchemaEvolution } from './SchemaEvolution.js';
8
+ export { SchemaBuilder } from './SchemaBuilder.js';
9
+ export { IsEntityBlocked, IsIntegrationWriteAllowed, GetBlockedEntities } from './AccessControl.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ // Classes
2
+ export { TypeMapper } from './TypeMapper.js';
3
+ export { DDLGenerator, ValidateIdentifier } from './DDLGenerator.js';
4
+ export { MigrationFileWriter } from './MigrationFileWriter.js';
5
+ export { SoftFKConfigEmitter } from './SoftFKConfigEmitter.js';
6
+ export { MetadataEmitter } from './MetadataEmitter.js';
7
+ export { SchemaEvolution } from './SchemaEvolution.js';
8
+ export { SchemaBuilder } from './SchemaBuilder.js';
9
+ // Functions
10
+ export { IsEntityBlocked, IsIntegrationWriteAllowed, GetBlockedEntities } from './AccessControl.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Integration Schema Builder — Shared Interfaces
3
+ *
4
+ * These interfaces define the contracts between the Schema Builder's components
5
+ * and between connectors and the Schema Builder.
6
+ */
7
+ /** Supported database platforms for DDL generation. */
8
+ export type DatabasePlatform = 'sqlserver' | 'postgresql';
9
+ import type { SourceSchemaInfo as _SourceSchemaInfo, SourceObjectInfo as _SourceObjectInfo, SourceFieldInfo as _SourceFieldInfo, SourceRelationshipInfo as _SourceRelationshipInfo } from '@memberjunction/integration-engine';
10
+ export type SourceSchemaInfo = _SourceSchemaInfo;
11
+ export type SourceObjectInfo = _SourceObjectInfo;
12
+ export type SourceFieldInfo = _SourceFieldInfo;
13
+ export type SourceRelationshipInfo = _SourceRelationshipInfo;
14
+ /** User's customization of a target table to be created. */
15
+ export interface TargetTableConfig {
16
+ /** Source object this table maps from. */
17
+ SourceObjectName: string;
18
+ /** Target database schema name (e.g., "hubspot", "ym"). */
19
+ SchemaName: string;
20
+ /** Target table name (e.g., "Deal", "Member"). */
21
+ TableName: string;
22
+ /** MJ entity display name (e.g., "HubSpot Deal", "YM Member"). */
23
+ EntityName: string;
24
+ /** Human-readable description for the table (emitted as sp_addextendedproperty). */
25
+ Description?: string;
26
+ /**
27
+ * Primary key field name(s) from the source system.
28
+ * These columns get a UNIQUE constraint and are registered as soft PKs.
29
+ * Supports composite PKs (multiple fields). Must be a subset of Columns.
30
+ */
31
+ PrimaryKeyFields: string[];
32
+ /** Column configurations (includes PK fields — they are regular columns). */
33
+ Columns: TargetColumnConfig[];
34
+ /** Soft FK relationships to configure. */
35
+ SoftForeignKeys: SoftFKEntry[];
36
+ }
37
+ /** User's customization of a single column. */
38
+ export interface TargetColumnConfig {
39
+ /** Name of the field in the source object. */
40
+ SourceFieldName: string;
41
+ /** Column name in the target table. */
42
+ TargetColumnName: string;
43
+ /** SQL type for the target platform (populated by TypeMapper). */
44
+ TargetSqlType: string;
45
+ /** Whether the column allows NULLs. */
46
+ IsNullable: boolean;
47
+ /** Max length for string columns (null if not applicable). */
48
+ MaxLength: number | null;
49
+ /** Precision for numeric columns (null if not applicable). */
50
+ Precision: number | null;
51
+ /** Scale for numeric columns (null if not applicable). */
52
+ Scale: number | null;
53
+ /** Default value SQL expression (null if none). */
54
+ DefaultValue: string | null;
55
+ /** Human-readable description for the column (emitted as sp_addextendedproperty). */
56
+ Description?: string;
57
+ }
58
+ /** A single soft FK entry for additionalSchemaInfo. */
59
+ export interface SoftFKEntry {
60
+ /** Schema containing the table with the FK column. */
61
+ SchemaName: string;
62
+ /** Table containing the FK column. */
63
+ TableName: string;
64
+ /** Column name that references another table. */
65
+ FieldName: string;
66
+ /** Schema of the target (referenced) table. */
67
+ TargetSchemaName: string;
68
+ /** Target (referenced) table name. */
69
+ TargetTableName: string;
70
+ /** Target (referenced) field name (usually "ID"). */
71
+ TargetFieldName: string;
72
+ }
73
+ /** Describes the current state of an existing table in the target database. */
74
+ export interface ExistingTableInfo {
75
+ SchemaName: string;
76
+ TableName: string;
77
+ Columns: ExistingColumnInfo[];
78
+ }
79
+ /** Describes an existing column in a target table. */
80
+ export interface ExistingColumnInfo {
81
+ Name: string;
82
+ SqlType: string;
83
+ IsNullable: boolean;
84
+ MaxLength: number | null;
85
+ Precision: number | null;
86
+ Scale: number | null;
87
+ }
88
+ /** Result of diffing source schema against existing table. */
89
+ export interface SchemaDiff {
90
+ /** Columns that exist in source but not in target — need ALTER TABLE ADD. */
91
+ AddedColumns: TargetColumnConfig[];
92
+ /** Columns that exist in both but with different types — need ALTER TABLE ALTER. */
93
+ ModifiedColumns: ColumnModification[];
94
+ /** Columns that exist in target but not in source — deprecated (no physical drop). */
95
+ RemovedColumns: string[];
96
+ }
97
+ /** Describes a column type/nullability change. */
98
+ export interface ColumnModification {
99
+ ColumnName: string;
100
+ OldType: string;
101
+ NewType: string;
102
+ OldNullable: boolean;
103
+ NewNullable: boolean;
104
+ }
105
+ /** Maps a generic source type to platform-specific SQL types. */
106
+ export interface TypeMappingEntry {
107
+ /** Generic source type (e.g., "string", "integer"). */
108
+ SourceType: string;
109
+ /** SQL Server type template (e.g., "NVARCHAR(n)"). */
110
+ SqlServerType: string;
111
+ /** PostgreSQL type template (e.g., "VARCHAR(n)"). */
112
+ PostgresType: string;
113
+ /** MJ EntityField.Type value (informational — CodeGen discovers actual type). */
114
+ MJFieldType: string;
115
+ }
116
+ /** A single file produced by the Schema Builder. */
117
+ export interface EmittedFile {
118
+ /** Relative path from repo root (e.g., "migrations/v2/V2026...sql"). */
119
+ FilePath: string;
120
+ /** Full file content. */
121
+ Content: string;
122
+ /** Human-readable description of what this file does. */
123
+ Description: string;
124
+ }
125
+ /** Metadata for a migration file header comment. */
126
+ export interface MigrationMetadata {
127
+ /** Source system name (e.g., "HubSpot", "YourMembership"). */
128
+ SourceType: string;
129
+ /** Source object being migrated (e.g., "Deal", "Member"). */
130
+ ObjectName: string;
131
+ /** Action description (e.g., "CreateSchema", "CreateDealTable"). */
132
+ Action: string;
133
+ /** Who/what generated this migration. */
134
+ GeneratedBy: string;
135
+ /** ISO timestamp of generation. */
136
+ Timestamp: string;
137
+ }
138
+ /** Complete input to the SchemaBuilder orchestrator. */
139
+ export interface SchemaBuilderInput {
140
+ /** Introspected source schema from connector. */
141
+ SourceSchema: SourceSchemaInfo;
142
+ /** User's customizations for target tables. */
143
+ TargetConfigs: TargetTableConfig[];
144
+ /** Target database platform. */
145
+ Platform: DatabasePlatform;
146
+ /** Current MJ version for migration naming. */
147
+ MJVersion: string;
148
+ /** Source system name (e.g., "HubSpot"). */
149
+ SourceType: string;
150
+ /** Path to existing additionalSchemaInfo JSON file. */
151
+ AdditionalSchemaInfoPath: string;
152
+ /** Path to migrations directory (e.g., "migrations/v2"). */
153
+ MigrationsDir: string;
154
+ /** Path to metadata directory (e.g., "metadata"). */
155
+ MetadataDir: string;
156
+ /** Current state of target tables (for evolution scenarios). Empty array for new tables. */
157
+ ExistingTables: ExistingTableInfo[];
158
+ /** EntitySettings for any __mj target entities (keyed by entity name). */
159
+ EntitySettingsForTargets: Record<string, Array<{
160
+ Name: string;
161
+ Value: string;
162
+ }>>;
163
+ }
164
+ /** Complete output of the SchemaBuilder orchestrator. */
165
+ export interface SchemaBuilderOutput {
166
+ /** Migration SQL files to write. */
167
+ MigrationFiles: EmittedFile[];
168
+ /** Updated additionalSchemaInfo JSON content. */
169
+ AdditionalSchemaInfoUpdate: EmittedFile | null;
170
+ /** Metadata JSON files for mj-sync. */
171
+ MetadataFiles: EmittedFile[];
172
+ /** Warnings generated during processing (non-fatal). */
173
+ Warnings: string[];
174
+ /** Errors that prevented processing (fatal). */
175
+ Errors: string[];
176
+ }
177
+ /** Result of an access control check. */
178
+ export interface AccessControlResult {
179
+ Allowed: boolean;
180
+ Reason: string;
181
+ }
182
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration Schema Builder — Shared Interfaces
3
+ *
4
+ * These interfaces define the contracts between the Schema Builder's components
5
+ * and between connectors and the Schema Builder.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json CHANGED
@@ -1,10 +1,31 @@
1
1
  {
2
2
  "name": "@memberjunction/integration-schema-builder",
3
- "version": "0.0.1",
4
- "description": "OIDC trusted publishing setup package for @memberjunction/integration-schema-builder",
5
- "keywords": [
6
- "oidc",
7
- "trusted-publishing",
8
- "setup"
9
- ]
3
+ "type": "module",
4
+ "version": "5.9.0",
5
+ "description": "MemberJunction Integration Schema Builder - file-emission-only DDL generation for integration tables",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "/dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc && tsc-alias -f",
13
+ "test": "vitest run",
14
+ "test:watch": "vitest"
15
+ },
16
+ "dependencies": {
17
+ "@memberjunction/global": "5.9.0",
18
+ "@memberjunction/integration-engine": "5.9.0"
19
+ },
20
+ "devDependencies": {
21
+ "typescript": "^5.9.3",
22
+ "tsc-alias": "^1.8.16",
23
+ "vitest": "^4.0.18"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/MemberJunction/MJ"
28
+ },
29
+ "author": "MemberJunction.com",
30
+ "license": "ISC"
10
31
  }
package/README.md DELETED
@@ -1,45 +0,0 @@
1
- # @memberjunction/integration-schema-builder
2
-
3
- ## ⚠️ IMPORTANT NOTICE ⚠️
4
-
5
- **This package is created solely for the purpose of setting up OIDC (OpenID Connect) trusted publishing with npm.**
6
-
7
- This is **NOT** a functional package and contains **NO** code or functionality beyond the OIDC setup configuration.
8
-
9
- ## Purpose
10
-
11
- This package exists to:
12
- 1. Configure OIDC trusted publishing for the package name `@memberjunction/integration-schema-builder`
13
- 2. Enable secure, token-less publishing from CI/CD workflows
14
- 3. Establish provenance for packages published under this name
15
-
16
- ## What is OIDC Trusted Publishing?
17
-
18
- OIDC trusted publishing allows package maintainers to publish packages directly from their CI/CD workflows without needing to manage npm access tokens. Instead, it uses OpenID Connect to establish trust between the CI/CD provider (like GitHub Actions) and npm.
19
-
20
- ## Setup Instructions
21
-
22
- To properly configure OIDC trusted publishing for this package:
23
-
24
- 1. Go to [npmjs.com](https://www.npmjs.com/) and navigate to your package settings
25
- 2. Configure the trusted publisher (e.g., GitHub Actions)
26
- 3. Specify the repository and workflow that should be allowed to publish
27
- 4. Use the configured workflow to publish your actual package
28
-
29
- ## DO NOT USE THIS PACKAGE
30
-
31
- This package is a placeholder for OIDC configuration only. It:
32
- - Contains no executable code
33
- - Provides no functionality
34
- - Should not be installed as a dependency
35
- - Exists only for administrative purposes
36
-
37
- ## More Information
38
-
39
- For more details about npm's trusted publishing feature, see:
40
- - [npm Trusted Publishing Documentation](https://docs.npmjs.com/generating-provenance-statements)
41
- - [GitHub Actions OIDC Documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)
42
-
43
- ---
44
-
45
- **Maintained for OIDC setup purposes only**