@peernova/cuneiform-sf 1.0.1 → 1.0.3-beta.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.
@@ -112,7 +112,174 @@
112
112
  "hello:world",
113
113
  "world:hello"
114
114
  ]
115
+ },
116
+ "cuneiform:definition:export": {
117
+ "aliases": [],
118
+ "args": {},
119
+ "description": "Exports profiling definition records to CSV files in SFDMU-compatible format for backup, version control, or cross-org migration.\n\nThe export creates a timestamped directory containing:\n\n- export.json: SFDMU configuration file\n- pnova**Profiling_Definition**c.csv: Definition records\n- export-metadata.json: Export statistics and metadata\n\nUse --exclude-ids for VCS-friendly output that excludes Salesforce IDs (Id, CreatedById, etc.), making the files suitable for version control.",
120
+ "examples": [
121
+ "Export all definitions to the default location:\n<%= config.bin %> <%= command.id %> --target-org myOrg",
122
+ "Export to a specific directory:\n<%= config.bin %> <%= command.id %> --target-org myOrg --output ./backup/definitions",
123
+ "Export with VCS-friendly mode (excludes IDs):\n<%= config.bin %> <%= command.id %> --target-org myOrg --exclude-ids --output ./config/definitions"
124
+ ],
125
+ "flags": {
126
+ "json": {
127
+ "description": "Format output as json.",
128
+ "helpGroup": "GLOBAL",
129
+ "name": "json",
130
+ "allowNo": false,
131
+ "type": "boolean"
132
+ },
133
+ "flags-dir": {
134
+ "helpGroup": "GLOBAL",
135
+ "name": "flags-dir",
136
+ "summary": "Import flag values from a directory.",
137
+ "hasDynamicHelp": false,
138
+ "multiple": false,
139
+ "type": "option"
140
+ },
141
+ "target-org": {
142
+ "char": "o",
143
+ "name": "target-org",
144
+ "noCacheDefault": true,
145
+ "required": true,
146
+ "summary": "Salesforce org to export definitions from.",
147
+ "hasDynamicHelp": true,
148
+ "multiple": false,
149
+ "type": "option"
150
+ },
151
+ "output": {
152
+ "char": "d",
153
+ "name": "output",
154
+ "summary": "Output directory path. Defaults to ./data/exports/definitions/{timestamp}.",
155
+ "hasDynamicHelp": false,
156
+ "multiple": false,
157
+ "type": "option"
158
+ },
159
+ "exclude-ids": {
160
+ "name": "exclude-ids",
161
+ "summary": "Exclude Salesforce IDs for VCS-friendly output.",
162
+ "allowNo": false,
163
+ "type": "boolean"
164
+ }
165
+ },
166
+ "hasDynamicHelp": true,
167
+ "hiddenAliases": [],
168
+ "id": "cuneiform:definition:export",
169
+ "pluginAlias": "@peernova/cuneiform-sf",
170
+ "pluginName": "@peernova/cuneiform-sf",
171
+ "pluginType": "core",
172
+ "strict": true,
173
+ "summary": "Export profiling definitions from a Salesforce org to SFDMU-compatible CSV files.",
174
+ "enableJsonFlag": true,
175
+ "isESM": true,
176
+ "relativePath": [
177
+ "lib",
178
+ "commands",
179
+ "cuneiform",
180
+ "definition",
181
+ "export.js"
182
+ ],
183
+ "aliasPermutations": [],
184
+ "permutations": [
185
+ "cuneiform:definition:export",
186
+ "definition:cuneiform:export",
187
+ "definition:export:cuneiform",
188
+ "cuneiform:export:definition",
189
+ "export:cuneiform:definition",
190
+ "export:definition:cuneiform"
191
+ ]
192
+ },
193
+ "cuneiform:definition:import": {
194
+ "aliases": [],
195
+ "args": {},
196
+ "description": "Imports profiling definition records from CSV files exported by `sf cuneiform definition export` or manually created SFDMU-compatible files.\n\nThe source directory must contain:\n\n- pnova**Profiling_Definition**c.csv: Definition records to import\n\nThe import operation can be configured as:\n\n- Insert (default): Creates new records only. Fails if a record with the same Name exists.\n- Upsert: Creates new records or updates existing records matched by Name (external ID).\n\nUse --dry-run to validate the import without making changes to the org.",
197
+ "examples": [
198
+ "Import definitions from a backup directory:\n<%= config.bin %> <%= command.id %> --target-org myOrg --source ./backup/definitions",
199
+ "Import with upsert (update existing, insert new):\n<%= config.bin %> <%= command.id %> --target-org myOrg --source ./backup --operation Upsert",
200
+ "Preview import without making changes:\n<%= config.bin %> <%= command.id %> --target-org myOrg --source ./backup --dry-run"
201
+ ],
202
+ "flags": {
203
+ "json": {
204
+ "description": "Format output as json.",
205
+ "helpGroup": "GLOBAL",
206
+ "name": "json",
207
+ "allowNo": false,
208
+ "type": "boolean"
209
+ },
210
+ "flags-dir": {
211
+ "helpGroup": "GLOBAL",
212
+ "name": "flags-dir",
213
+ "summary": "Import flag values from a directory.",
214
+ "hasDynamicHelp": false,
215
+ "multiple": false,
216
+ "type": "option"
217
+ },
218
+ "target-org": {
219
+ "char": "o",
220
+ "name": "target-org",
221
+ "noCacheDefault": true,
222
+ "required": true,
223
+ "summary": "Salesforce org to import definitions into.",
224
+ "hasDynamicHelp": true,
225
+ "multiple": false,
226
+ "type": "option"
227
+ },
228
+ "source": {
229
+ "char": "s",
230
+ "name": "source",
231
+ "required": true,
232
+ "summary": "Source directory containing CSV files to import.",
233
+ "hasDynamicHelp": false,
234
+ "multiple": false,
235
+ "type": "option"
236
+ },
237
+ "operation": {
238
+ "name": "operation",
239
+ "summary": "SFDMU operation type: Insert (create only) or Upsert (create/update).",
240
+ "default": "Insert",
241
+ "hasDynamicHelp": false,
242
+ "multiple": false,
243
+ "options": [
244
+ "Insert",
245
+ "Upsert"
246
+ ],
247
+ "type": "option"
248
+ },
249
+ "dry-run": {
250
+ "name": "dry-run",
251
+ "summary": "Preview changes without making them (dry-run mode).",
252
+ "allowNo": false,
253
+ "type": "boolean"
254
+ }
255
+ },
256
+ "hasDynamicHelp": true,
257
+ "hiddenAliases": [],
258
+ "id": "cuneiform:definition:import",
259
+ "pluginAlias": "@peernova/cuneiform-sf",
260
+ "pluginName": "@peernova/cuneiform-sf",
261
+ "pluginType": "core",
262
+ "strict": true,
263
+ "summary": "Import profiling definitions from SFDMU-compatible CSV files into a Salesforce org.",
264
+ "enableJsonFlag": true,
265
+ "isESM": true,
266
+ "relativePath": [
267
+ "lib",
268
+ "commands",
269
+ "cuneiform",
270
+ "definition",
271
+ "import.js"
272
+ ],
273
+ "aliasPermutations": [],
274
+ "permutations": [
275
+ "cuneiform:definition:import",
276
+ "definition:cuneiform:import",
277
+ "definition:import:cuneiform",
278
+ "cuneiform:import:definition",
279
+ "import:cuneiform:definition",
280
+ "import:definition:cuneiform"
281
+ ]
115
282
  }
116
283
  },
117
- "version": "1.0.1"
284
+ "version": "1.0.3-beta.0"
118
285
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peernova/cuneiform-sf",
3
3
  "description": "Cuneiform for Salesforce CLI-Powered Data Profiling",
4
- "version": "1.0.1",
4
+ "version": "1.0.3-beta.0",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^4",
7
7
  "@salesforce/core": "^8",
@@ -9,9 +9,10 @@
9
9
  },
10
10
  "devDependencies": {
11
11
  "@oclif/plugin-command-snapshot": "^5.1.9",
12
- "@types/node": "^22",
13
12
  "@salesforce/cli-plugins-testkit": "^5.3.10",
14
13
  "@salesforce/dev-scripts": "^10",
14
+ "@types/node": "^22",
15
+ "c8": "^10.1.3",
15
16
  "eslint-plugin-sf-plugin": "^1.20.33",
16
17
  "oclif": "^4.14.0",
17
18
  "ts-node": "^10.9.2",
@@ -55,7 +56,10 @@
55
56
  "description": "Commands to say hello."
56
57
  },
57
58
  "cuneiform": {
58
- "description": "provides a description of the Cuneiform for Salesforce SFDX Plugin."
59
+ "description": "Cuneiform for Salesforce CLI-powered data profiling commands."
60
+ },
61
+ "cuneiform definition": {
62
+ "description": "Export and import profiling definitions."
59
63
  }
60
64
  },
61
65
  "flexibleTaxonomy": true
@@ -73,7 +77,7 @@
73
77
  "postpack": "sf-clean --ignore-signing-artifacts",
74
78
  "prepack": "sf-prepack",
75
79
  "test": "wireit",
76
- "test:nuts": "nyc mocha \"**/*.nut.ts\" --slow 4500 --timeout 600000 --parallel",
80
+ "test:nuts": "c8 mocha \"**/*.nut.ts\" --slow 4500 --timeout 600000 --parallel",
77
81
  "test:only": "wireit",
78
82
  "version": "oclif readme"
79
83
  },
@@ -138,7 +142,7 @@
138
142
  ]
139
143
  },
140
144
  "test:only": {
141
- "command": "nyc mocha \"test/**/*.test.ts\"",
145
+ "command": "c8 mocha \"test/**/*.test.ts\"",
142
146
  "env": {
143
147
  "FORCE_COLOR": "2"
144
148
  },
@@ -148,7 +152,7 @@
148
152
  "**/tsconfig.json",
149
153
  ".mocha*",
150
154
  "!*.nut.ts",
151
- ".nycrc"
155
+ ".c8rc.json"
152
156
  ],
153
157
  "output": []
154
158
  },