diff --git a/SWFrontUI/.DS_Store b/SWFrontUI/.DS_Store
deleted file mode 100644
index bf68576..0000000
Binary files a/SWFrontUI/.DS_Store and /dev/null differ
diff --git a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/jchang.xcuserdatad/UserInterfaceState.xcuserstate b/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/jchang.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index e983ceb..0000000
Binary files a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/jchang.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/jchang.xcuserdatad/WorkspaceSettings.xcsettings b/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/jchang.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 723a561..0000000
--- a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/jchang.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- BuildLocationStyle
- UseAppPreferences
- CompilationCachingSetting
- Default
- CustomBuildLocationType
- RelativeToDerivedData
- DerivedDataLocationStyle
- Default
- ShowSharedSchemesAutomaticallyEnabled
-
-
-
diff --git a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/nicholascastellanos.xcuserdatad/UserInterfaceState.xcuserstate b/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/nicholascastellanos.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index d183f9d..0000000
Binary files a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/project.xcworkspace/xcuserdata/nicholascastellanos.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/jchang.xcuserdatad/xcschemes/xcschememanagement.plist b/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/jchang.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 3f5f416..0000000
--- a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/jchang.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- SchemeUserState
-
- ShopwiseFrontEndUI.xcscheme_^#shared#^_
-
- orderHint
- 0
-
-
-
-
diff --git a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/nicholascastellanos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/nicholascastellanos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
deleted file mode 100644
index eba31e8..0000000
--- a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/nicholascastellanos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
diff --git a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/nicholascastellanos.xcuserdatad/xcschemes/xcschememanagement.plist b/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/nicholascastellanos.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 3f5f416..0000000
--- a/SWFrontUI/ShopwiseFrontEndUI.xcodeproj/xcuserdata/nicholascastellanos.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- SchemeUserState
-
- ShopwiseFrontEndUI.xcscheme_^#shared#^_
-
- orderHint
- 0
-
-
-
-
diff --git a/supabase_import.js b/supabase_import.js
index a96cf2c..0563f4d 100644
--- a/supabase_import.js
+++ b/supabase_import.js
@@ -48,7 +48,10 @@ const supabase = createClient(SUPABASE_URL, SUPABASE_KEY);
// Used for comma-separated classifiers and semicolon-separated store IDs/prices.
function split(s, sep) {
if (!s) return [];
- return s.split(sep).map((x) => x.trim()).filter(Boolean);
+ return s
+ .split(sep)
+ .map((x) => x.trim())
+ .filter(Boolean);
}
// Returns a float or null — null means the field was empty/unparseable,
@@ -83,7 +86,10 @@ async function insertBatch(table, rows, dryRun) {
// Rows missing a name or price are skipped since both are NOT NULL in the table.
export async function importWalmart({ dryRun = false } = {}) {
- const file = path.join(__dirname, 'WalmartPipeline/classified_ingredients.csv');
+ const file = path.join(
+ __dirname,
+ 'WalmartPipeline/classified_ingredients.csv',
+ );
console.log(`\n Source: ${file}`);
let batch = [];
@@ -97,7 +103,9 @@ export async function importWalmart({ dryRun = false } = {}) {
await insertBatch(TABLE_WALMART, batch, dryRun);
totalInserted += batch.length;
batch = [];
- process.stdout.write(`\r Inserted ${totalInserted.toLocaleString()} rows...`);
+ process.stdout.write(
+ `\r Inserted ${totalInserted.toLocaleString()} rows...`,
+ );
}
for await (const row of csvParser(file)) {
@@ -133,8 +141,12 @@ export async function importWalmart({ dryRun = false } = {}) {
console.log(`\n Done.`);
console.log(` Inserted : ${totalInserted.toLocaleString()}`);
- console.log(` Skipped (not ingredient): ${skippedNonIngredient.toLocaleString()}`);
- console.log(` Skipped (no name/price) : ${skippedMissingFields.toLocaleString()}`);
+ console.log(
+ ` Skipped (not ingredient): ${skippedNonIngredient.toLocaleString()}`,
+ );
+ console.log(
+ ` Skipped (no name/price) : ${skippedMissingFields.toLocaleString()}`,
+ );
}
// ── Kroger ────────────────────────────────────────────────────────────────────
@@ -144,7 +156,10 @@ export async function importWalmart({ dryRun = false } = {}) {
// and store all the store IDs as an array.
export async function importKroger({ dryRun = false } = {}) {
- const file = path.join(__dirname, 'kroger_output/catalogue/food_catalogue.csv');
+ const file = path.join(
+ __dirname,
+ 'kroger_output/catalogue/food_catalogue.csv',
+ );
console.log(`\n Source: ${file}`);
let batch = [];
@@ -156,7 +171,9 @@ export async function importKroger({ dryRun = false } = {}) {
await insertBatch(TABLE_KROGER, batch, dryRun);
totalInserted += batch.length;
batch = [];
- process.stdout.write(`\r Inserted ${totalInserted.toLocaleString()} rows...`);
+ process.stdout.write(
+ `\r Inserted ${totalInserted.toLocaleString()} rows...`,
+ );
}
for await (const row of csvParser(file)) {
@@ -194,7 +211,9 @@ export async function importKroger({ dryRun = false } = {}) {
console.log(`\n Done.`);
console.log(` Inserted : ${totalInserted.toLocaleString()}`);
- console.log(` Skipped (no name/price): ${skippedMissingFields.toLocaleString()}`);
+ console.log(
+ ` Skipped (no name/price): ${skippedMissingFields.toLocaleString()}`,
+ );
}
// ── Entry point (when run directly) ──────────────────────────────────────────