rps-flagforge 1.0.2 → 1.0.3

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.
@@ -1,2 +1 @@
1
-
2
- export { }
1
+ #!/usr/bin/env node
@@ -1,2 +1,66 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
+ // If the importer is in node compatibility mode or this is not an ESM
19
+ // file that has been converted to a CommonJS file using a Babel-
20
+ // compatible transform (i.e. "__esModule" has not been set), then set
21
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
+ mod
24
+ ));
25
+
26
+ // bin/mergeSchema.ts
27
+ var import_fs = __toESM(require("fs"));
28
+ var import_path = __toESM(require("path"));
29
+ var import_chalk = __toESM(require("chalk"));
30
+ var import_prompts = __toESM(require("prompts"));
31
+ var appSchema = import_path.default.resolve(process.cwd(), "prisma/schema.prisma");
32
+ var packageSchema = import_path.default.resolve(__dirname, "../prisma/schema.prisma");
33
+ async function main() {
34
+ console.log(import_chalk.default.blueBright.bold("\n\u26A1 FlagsForge Prisma Schema Merger\n"));
35
+ if (!import_fs.default.existsSync(appSchema)) {
36
+ console.error(import_chalk.default.red(`\u274C App schema not found at prisma/schema.prisma`));
37
+ process.exit(1);
38
+ }
39
+ if (!import_fs.default.existsSync(packageSchema)) {
40
+ console.error(import_chalk.default.red(`\u274C Package Prisma models not found`));
41
+ process.exit(1);
42
+ }
43
+ const { backup } = await (0, import_prompts.default)({
44
+ type: "confirm",
45
+ name: "backup",
46
+ message: "Do you want to create a backup of your current schema?",
47
+ initial: true
48
+ });
49
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
50
+ const backupPath = `${appSchema}.bak-${timestamp}`;
51
+ if (backup) {
52
+ import_fs.default.copyFileSync(appSchema, backupPath);
53
+ console.log(import_chalk.default.green(`\u2705 Backup created: ${backupPath}`));
54
+ }
55
+ const appContent = import_fs.default.readFileSync(appSchema, "utf-8");
56
+ const packageContent = import_fs.default.readFileSync(packageSchema, "utf-8");
57
+ const mergedContent = appContent + "\n\n" + packageContent;
58
+ import_fs.default.writeFileSync(appSchema, mergedContent);
59
+ console.log(import_chalk.default.green.bold("\n\u2705 Prisma schema merged successfully!"));
60
+ console.log(import_chalk.default.yellow("You may now run `npx prisma generate` to update your client.\n"));
61
+ }
62
+ main().catch((err) => {
63
+ console.error(import_chalk.default.red("\u274C Error merging schemas:"), err);
64
+ process.exit(1);
65
+ });
2
66
  //# sourceMappingURL=mergeSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../bin/mergeSchema.ts"],"sourcesContent":["#!/usr/bin/env node\r\nimport fs from \"fs\"\r\nimport path from \"path\"\r\nimport chalk from \"chalk\"\r\nimport prompts from \"prompts\"\r\n\r\n// Paths\r\nconst appSchema = path.resolve(process.cwd(), \"prisma/schema.prisma\")\r\nconst packageSchema = path.resolve(__dirname, \"../prisma/schema.prisma\")\r\n\r\nasync function main() {\r\n console.log(chalk.blueBright.bold(\"\\n⚡ FlagsForge Prisma Schema Merger\\n\"))\r\n\r\n // Check files\r\n if (!fs.existsSync(appSchema)) {\r\n console.error(chalk.red(`❌ App schema not found at prisma/schema.prisma`))\r\n process.exit(1)\r\n }\r\n\r\n if (!fs.existsSync(packageSchema)) {\r\n console.error(chalk.red(`❌ Package Prisma models not found`))\r\n process.exit(1)\r\n }\r\n\r\n const { backup } = await prompts({\r\n type: \"confirm\",\r\n name: \"backup\",\r\n message: \"Do you want to create a backup of your current schema?\",\r\n initial: true\r\n })\r\n\r\n const timestamp = new Date().toISOString().replace(/[:.]/g, \"-\")\r\n const backupPath = `${appSchema}.bak-${timestamp}`\r\n\r\n if (backup) {\r\n fs.copyFileSync(appSchema, backupPath)\r\n console.log(chalk.green(`✅ Backup created: ${backupPath}`))\r\n }\r\n\r\n // Read files\r\n const appContent = fs.readFileSync(appSchema, \"utf-8\")\r\n const packageContent = fs.readFileSync(packageSchema, \"utf-8\")\r\n\r\n // Simple merge (append package models)\r\n // TODO: later we can parse and dedupe using a proper parser\r\n const mergedContent = appContent + \"\\n\\n\" + packageContent\r\n fs.writeFileSync(appSchema, mergedContent)\r\n\r\n console.log(chalk.green.bold(\"\\n✅ Prisma schema merged successfully!\"))\r\n console.log(chalk.yellow(\"You may now run `npx prisma generate` to update your client.\\n\"))\r\n}\r\n\r\nmain().catch(err => {\r\n console.error(chalk.red(\"❌ Error merging schemas:\"), err)\r\n process.exit(1)\r\n})\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gBAAe;AACf,kBAAiB;AACjB,mBAAkB;AAClB,qBAAoB;AAGpB,IAAM,YAAY,YAAAA,QAAK,QAAQ,QAAQ,IAAI,GAAG,sBAAsB;AACpE,IAAM,gBAAgB,YAAAA,QAAK,QAAQ,WAAW,yBAAyB;AAEvE,eAAe,OAAO;AACpB,UAAQ,IAAI,aAAAC,QAAM,WAAW,KAAK,4CAAuC,CAAC;AAG1E,MAAI,CAAC,UAAAC,QAAG,WAAW,SAAS,GAAG;AAC7B,YAAQ,MAAM,aAAAD,QAAM,IAAI,qDAAgD,CAAC;AACzE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,CAAC,UAAAC,QAAG,WAAW,aAAa,GAAG;AACjC,YAAQ,MAAM,aAAAD,QAAM,IAAI,wCAAmC,CAAC;AAC5D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,EAAE,OAAO,IAAI,UAAM,eAAAE,SAAQ;AAAA,IAC/B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACX,CAAC;AAED,QAAM,aAAY,oBAAI,KAAK,GAAE,YAAY,EAAE,QAAQ,SAAS,GAAG;AAC/D,QAAM,aAAa,GAAG,SAAS,QAAQ,SAAS;AAEhD,MAAI,QAAQ;AACV,cAAAD,QAAG,aAAa,WAAW,UAAU;AACrC,YAAQ,IAAI,aAAAD,QAAM,MAAM,0BAAqB,UAAU,EAAE,CAAC;AAAA,EAC5D;AAGA,QAAM,aAAa,UAAAC,QAAG,aAAa,WAAW,OAAO;AACrD,QAAM,iBAAiB,UAAAA,QAAG,aAAa,eAAe,OAAO;AAI7D,QAAM,gBAAgB,aAAa,SAAS;AAC5C,YAAAA,QAAG,cAAc,WAAW,aAAa;AAEzC,UAAQ,IAAI,aAAAD,QAAM,MAAM,KAAK,6CAAwC,CAAC;AACtE,UAAQ,IAAI,aAAAA,QAAM,OAAO,gEAAgE,CAAC;AAC5F;AAEA,KAAK,EAAE,MAAM,SAAO;AAClB,UAAQ,MAAM,aAAAA,QAAM,IAAI,+BAA0B,GAAG,GAAG;AACxD,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":["path","chalk","fs","prompts"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rps-flagforge",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "A Multi-Core Feature Flag Package with support for React & NodeJS",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "flagsforge:mergeScheme": "dist/bin/mergeSchema.js"
9
+ "flagsforge-merge": "dist/bin/mergeSchema.js"
10
10
  },
11
11
  "scripts": {
12
12
  "build": "tsup src/index.ts --format cjs,esm --dts && tsup bin/mergeSchema.ts --format cjs --out-dir dist/bin",