appflare 0.2.11 → 0.2.12

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.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var l=(a,b,c,e)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&f(a,d,{get:()=>b[d],enumerable:!(e=h(b,d))||e.enumerable});return a};var o=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:true}):c,a));exports.a=m;exports.b=n;exports.c=o;
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';var chunkDZUS277V_js=require('../chunk-DZUS277V.js'),commander=require('commander'),A=require('chokidar'),fs=require('fs'),path=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var A__default=/*#__PURE__*/_interopDefault(A);function C(e){let a=e;for(;;){if(fs.existsSync(path.resolve(a,"package.json")))return a;let r=path.dirname(a);if(r===a)return e;a=r;}}async function p(e){let a=await chunkDZUS277V_js.a(e);if(await chunkDZUS277V_js.f(a),a.wranglerOutDirAbs===a.outDirAbs){process.stdout.write(`\u2705 Generated artifacts in ${a.outDirAbs}
2
+ 'use strict';var chunkNKSCHJ57_js=require('../chunk-NKSCHJ57.js');require('../chunk-XVWH6PJQ.js');var commander=require('commander'),A=require('chokidar'),fs=require('fs'),path=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var A__default=/*#__PURE__*/_interopDefault(A);function C(e){let a=e;for(;;){if(fs.existsSync(path.resolve(a,"package.json")))return a;let r=path.dirname(a);if(r===a)return e;a=r;}}async function p(e){let a=await chunkNKSCHJ57_js.a(e);if(await chunkNKSCHJ57_js.f(a),a.wranglerOutDirAbs===a.outDirAbs){process.stdout.write(`\u2705 Generated artifacts in ${a.outDirAbs}
3
3
  `);return}process.stdout.write(`\u2705 Generated server/client in ${a.outDirAbs} and wrangler.json in ${a.wranglerOutDirAbs}
4
- `);}async function x(e,a=false){if(await p(e),!a)return;let r=await chunkDZUS277V_js.a(e),o=false,i=false,s=async()=>{if(o){i=true;return}o=true;try{await p(e);}catch(d){process.stderr.write(`\u274C Build failed: ${d.message}
4
+ `);}async function x(e,a=false){if(await p(e),!a)return;let r=await chunkNKSCHJ57_js.a(e),o=false,i=false,s=async()=>{if(o){i=true;return}o=true;try{await p(e);}catch(d){process.stderr.write(`\u274C Build failed: ${d.message}
5
5
  `);}finally{o=false,i&&(i=false,await s());}};A__default.default.watch(r.scanDirAbs,{ignoreInitial:true}).on("all",async(d,t)=>{process.stdout.write(`\u{1F504} Change detected: ${t}
6
6
  `),await s();}),process.stdout.write(`\u{1F440} Watching ${r.scanDirAbs}
7
- `);}async function y(e,a={}){let r=await chunkDZUS277V_js.a(e),o=C(process.cwd());if([!!a.local,!!a.remote,!!a.preview].filter(Boolean).length>1)throw new Error("Only one of --local, --remote, or --preview can be set.");let s=path.resolve(r.outDirAbs,"drizzle.config.ts"),c=process.platform==="win32"?"npx.cmd":"npx",t=await Bun.spawn([c,"drizzle-kit","generate","--config",s],{cwd:o,stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(t!==0)throw new Error(`drizzle-kit generate failed with exit code ${t}`);let g=r.config.database[0].databaseName,n=[c,"wrangler","d1","migrations","apply",g];a.local?n.push("--local"):a.remote?n.push("--remote"):a.preview&&n.push("--preview");let f=await Bun.spawn(n,{cwd:r.configDir,stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(f!==0)throw new Error(`wrangler d1 migrations apply failed with exit code ${f}`)}async function D(e,a={name:"",email:"",password:""}){let r=await chunkDZUS277V_js.a(e);if([!!a.local,!!a.remote].filter(Boolean).length>1)throw new Error("Only one of --local or --remote can be set.");let{hashPassword:i}=await import('better-auth/crypto'),s=await i(a.password),c=crypto.randomUUID(),d=crypto.randomUUID(),t=Date.now(),g=a.name.replace(/'/g,"''"),n=a.email.replace(/'/g,"''"),u=["INSERT INTO users (id, name, email, email_verified, created_at, updated_at, role, banned)",`VALUES ('${c}', '${g}', '${n}', 1, ${t}, ${t}, 'admin', 0);`,"INSERT INTO accounts (id, account_id, provider_id, user_id, password, created_at, updated_at)",`VALUES ('${d}', '${n}', 'credential', '${c}', '${s}', ${t}, ${t});`].join(" "),f=r.config.database[0].databaseName,w=[process.platform==="win32"?"npx.cmd":"npx","wrangler","d1","execute",f,`--command=${u}`];a.local?w.push("--local"):a.remote&&w.push("--remote");let h=await Bun.spawn(w,{cwd:r.configDir,stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(h!==0)throw new Error(`Failed to add admin user. wrangler d1 execute exited with code ${h}`);console.log("\u2705 Admin user "+a.email+" created successfully!");}var l=new commander.Command;l.name("appflare").description("Appflare compiler/bundler for Cloudflare-native backends and SDK generation").version("0.0.28");l.command("build").description("Generate server.ts, client.ts, auth.config.ts, drizzle.config.ts, and wrangler.json artifacts").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").action(async e=>{await p(e.config);});l.command("dev").description("Run generator in development mode").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").option("-w, --watch","Watch scanDir and regenerate on changes",false).action(async e=>{await x(e.config,e.watch);});l.command("migrate").description("Generate drizzle migration files from outDir/auth.schema.ts and apply them to the configured D1 database").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").option("--local","Execute commands/files against a local DB for use with wrangler dev",false).option("--remote","Execute commands/files against a remote DB for use with wrangler dev --remote",false).option("--preview","Execute commands/files against a preview D1 DB",false).action(async e=>{await y(e.config,{local:e.local,remote:e.remote,preview:e.preview});});l.command("add-admin").description("Add an admin user to the database").requiredOption("-n, --name <name>","Admin's display name").requiredOption("-e, --email <email>","Admin's email address").requiredOption("-p, --password <password>","Admin's password").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").option("--local","Execute command against a local DB for use with wrangler dev",false).option("--remote","Execute command against a remote DB for use with wrangler dev --remote",false).action(async e=>{await D(e.config,{name:e.name,email:e.email,password:e.password,local:e.local,remote:e.remote});});(async()=>{await l.parseAsync(process.argv);})().catch(e=>{console.error(e),process.exit(1);});
7
+ `);}async function y(e,a={}){let r=await chunkNKSCHJ57_js.a(e),o=C(process.cwd());if([!!a.local,!!a.remote,!!a.preview].filter(Boolean).length>1)throw new Error("Only one of --local, --remote, or --preview can be set.");let s=path.resolve(r.outDirAbs,"drizzle.config.ts"),c=process.platform==="win32"?"npx.cmd":"npx",t=await Bun.spawn([c,"drizzle-kit","generate","--config",s],{cwd:o,stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(t!==0)throw new Error(`drizzle-kit generate failed with exit code ${t}`);let g=r.config.database[0].databaseName,n=[c,"wrangler","d1","migrations","apply",g];a.local?n.push("--local"):a.remote?n.push("--remote"):a.preview&&n.push("--preview");let f=await Bun.spawn(n,{cwd:r.configDir,stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(f!==0)throw new Error(`wrangler d1 migrations apply failed with exit code ${f}`)}async function D(e,a={name:"",email:"",password:""}){let r=await chunkNKSCHJ57_js.a(e);if([!!a.local,!!a.remote].filter(Boolean).length>1)throw new Error("Only one of --local or --remote can be set.");let{hashPassword:i}=await import('better-auth/crypto'),s=await i(a.password),c=crypto.randomUUID(),d=crypto.randomUUID(),t=Date.now(),g=a.name.replace(/'/g,"''"),n=a.email.replace(/'/g,"''"),u=["INSERT INTO users (id, name, email, email_verified, created_at, updated_at, role, banned)",`VALUES ('${c}', '${g}', '${n}', 1, ${t}, ${t}, 'admin', 0);`,"INSERT INTO accounts (id, account_id, provider_id, user_id, password, created_at, updated_at)",`VALUES ('${d}', '${n}', 'credential', '${c}', '${s}', ${t}, ${t});`].join(" "),f=r.config.database[0].databaseName,w=[process.platform==="win32"?"npx.cmd":"npx","wrangler","d1","execute",f,`--command=${u}`];a.local?w.push("--local"):a.remote&&w.push("--remote");let h=await Bun.spawn(w,{cwd:r.configDir,stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(h!==0)throw new Error(`Failed to add admin user. wrangler d1 execute exited with code ${h}`);console.log("\u2705 Admin user "+a.email+" created successfully!");}var l=new commander.Command;l.name("appflare").description("Appflare compiler/bundler for Cloudflare-native backends and SDK generation").version("0.0.28");l.command("build").description("Generate server.ts, client.ts, auth.config.ts, drizzle.config.ts, and wrangler.json artifacts").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").action(async e=>{await p(e.config);});l.command("dev").description("Run generator in development mode").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").option("-w, --watch","Watch scanDir and regenerate on changes",false).action(async e=>{await x(e.config,e.watch);});l.command("migrate").description("Generate drizzle migration files from outDir/auth.schema.ts and apply them to the configured D1 database").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").option("--local","Execute commands/files against a local DB for use with wrangler dev",false).option("--remote","Execute commands/files against a remote DB for use with wrangler dev --remote",false).option("--preview","Execute commands/files against a preview D1 DB",false).action(async e=>{await y(e.config,{local:e.local,remote:e.remote,preview:e.preview});});l.command("add-admin").description("Add an admin user to the database").requiredOption("-n, --name <name>","Admin's display name").requiredOption("-e, --email <email>","Admin's email address").requiredOption("-p, --password <password>","Admin's password").option("-c, --config <path>","Path to appflare.config.ts","appflare.config.ts").option("--local","Execute command against a local DB for use with wrangler dev",false).option("--remote","Execute command against a remote DB for use with wrangler dev --remote",false).action(async e=>{await D(e.config,{name:e.name,email:e.email,password:e.password,local:e.local,remote:e.remote});});(async()=>{await l.parseAsync(process.argv);})().catch(e=>{console.error(e),process.exit(1);});
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import {a,f}from'../chunk-RZSN246U.mjs';import {Command}from'commander';import A from'chokidar';import {existsSync}from'fs';import {resolve,dirname}from'path';function C(e){let a=e;for(;;){if(existsSync(resolve(a,"package.json")))return a;let r=dirname(a);if(r===a)return e;a=r;}}async function p(e){let a$1=await a(e);if(await f(a$1),a$1.wranglerOutDirAbs===a$1.outDirAbs){process.stdout.write(`\u2705 Generated artifacts in ${a$1.outDirAbs}
2
+ import {a,f}from'../chunk-6BUT7DXS.mjs';import'../chunk-4JK3AKWC.mjs';import {Command}from'commander';import A from'chokidar';import {existsSync}from'fs';import {resolve,dirname}from'path';function C(e){let a=e;for(;;){if(existsSync(resolve(a,"package.json")))return a;let r=dirname(a);if(r===a)return e;a=r;}}async function p(e){let a$1=await a(e);if(await f(a$1),a$1.wranglerOutDirAbs===a$1.outDirAbs){process.stdout.write(`\u2705 Generated artifacts in ${a$1.outDirAbs}
3
3
  `);return}process.stdout.write(`\u2705 Generated server/client in ${a$1.outDirAbs} and wrangler.json in ${a$1.wranglerOutDirAbs}
4
4
  `);}async function x(e,a$1=false){if(await p(e),!a$1)return;let r=await a(e),o=false,i=false,s=async()=>{if(o){i=true;return}o=true;try{await p(e);}catch(d){process.stderr.write(`\u274C Build failed: ${d.message}
5
5
  `);}finally{o=false,i&&(i=false,await s());}};A.watch(r.scanDirAbs,{ignoreInitial:true}).on("all",async(d,t)=>{process.stdout.write(`\u{1F504} Change detected: ${t}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';var chunkDZUS277V_js=require('./chunk-DZUS277V.js');Object.defineProperty(exports,"generateArtifacts",{enumerable:true,get:function(){return chunkDZUS277V_js.f}});Object.defineProperty(exports,"isSchemaDefinition",{enumerable:true,get:function(){return chunkDZUS277V_js.d}});Object.defineProperty(exports,"loadConfig",{enumerable:true,get:function(){return chunkDZUS277V_js.a}});Object.defineProperty(exports,"schema",{enumerable:true,get:function(){return chunkDZUS277V_js.c}});Object.defineProperty(exports,"table",{enumerable:true,get:function(){return chunkDZUS277V_js.b}});Object.defineProperty(exports,"v",{enumerable:true,get:function(){return chunkDZUS277V_js.e}});
2
+ 'use strict';var chunkNKSCHJ57_js=require('./chunk-NKSCHJ57.js');require('./chunk-XVWH6PJQ.js');Object.defineProperty(exports,"generateArtifacts",{enumerable:true,get:function(){return chunkNKSCHJ57_js.f}});Object.defineProperty(exports,"isSchemaDefinition",{enumerable:true,get:function(){return chunkNKSCHJ57_js.d}});Object.defineProperty(exports,"loadConfig",{enumerable:true,get:function(){return chunkNKSCHJ57_js.a}});Object.defineProperty(exports,"schema",{enumerable:true,get:function(){return chunkNKSCHJ57_js.c}});Object.defineProperty(exports,"table",{enumerable:true,get:function(){return chunkNKSCHJ57_js.b}});Object.defineProperty(exports,"v",{enumerable:true,get:function(){return chunkNKSCHJ57_js.e}});
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export{f as generateArtifacts,d as isSchemaDefinition,a as loadConfig,c as schema,b as table,e as v}from'./chunk-RZSN246U.mjs';
2
+ export{f as generateArtifacts,d as isSchemaDefinition,a as loadConfig,c as schema,b as table,e as v}from'./chunk-6BUT7DXS.mjs';import'./chunk-4JK3AKWC.mjs';
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';var reactQuery=require('@tanstack/react-query'),react=require('react');function O(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function b(r,...t){let a=t[0]??{},e=t[1],o=reactQuery.useQueryClient(),i=react.useRef(e?.realtime?.onChange),p=react.useRef(e?.realtime?.onError);react.useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=react.useMemo(()=>e?.queryOptions?.queryKey??["appflare","query",r,a],[a,e?.queryOptions?.queryKey,r]),g=react.useMemo(()=>reactQuery.hashKey(u),[u]),f=react.useMemo(()=>reactQuery.hashKey([a]),[a]),A=react.useMemo(()=>reactQuery.hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=reactQuery.useQuery({...e?.queryOptions,queryKey:u,queryFn:async()=>{let s=await r.run(a,e?.requestOptions);if(s.error)throw O(s.error);return s.data}});return react.useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,n),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function h(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function P(r,...t){let a=t[0]??{},e=t[1],o=reactQuery.useQueryClient(),i=react.useRef(e?.realtime?.onChange),p=react.useRef(e?.realtime?.onError);react.useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=react.useMemo(()=>e?.queryOptions?.queryKey??["appflare","infinite-query",r,a],[a,e?.queryOptions?.queryKey,r]),g=react.useMemo(()=>reactQuery.hashKey(u),[u]),f=react.useMemo(()=>reactQuery.hashKey([a]),[a]),A=react.useMemo(()=>reactQuery.hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=reactQuery.useInfiniteQuery({...e?.queryOptions,queryKey:u,queryFn:async({pageParam:s})=>{let y=s===void 0||!e?.pageParamToArgs?a:e.pageParamToArgs(a,s),n=await r.run(y,e?.requestOptions);if(n.error)throw h(n.error);return n.data}});return react.useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,l=>!l||l.pages.length===0?l:{...l,pages:[n,...l.pages.slice(1)]}),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function L(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function C(r,t){return reactQuery.useMutation({...t,mutationFn:async a=>{let e=await r.run(a??{});if(e.error)throw L(e.error);return e.data}})}exports.useInfiniteQuery=P;exports.useMutation=C;exports.useQuery=b;
2
+ 'use strict';require('../chunk-XVWH6PJQ.js');var reactQuery=require('@tanstack/react-query'),react=require('react');function O(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function b(r,...t){let a=t[0]??{},e=t[1],o=reactQuery.useQueryClient(),i=react.useRef(e?.realtime?.onChange),p=react.useRef(e?.realtime?.onError);react.useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=react.useMemo(()=>e?.queryOptions?.queryKey??["appflare","query",r,a],[a,e?.queryOptions?.queryKey,r]),g=react.useMemo(()=>reactQuery.hashKey(u),[u]),f=react.useMemo(()=>reactQuery.hashKey([a]),[a]),A=react.useMemo(()=>reactQuery.hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=reactQuery.useQuery({...e?.queryOptions,queryKey:u,queryFn:async()=>{let s=await r.run(a,e?.requestOptions);if(s.error)throw O(s.error);return s.data}});return react.useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,n),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function h(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function P(r,...t){let a=t[0]??{},e=t[1],o=reactQuery.useQueryClient(),i=react.useRef(e?.realtime?.onChange),p=react.useRef(e?.realtime?.onError);react.useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=react.useMemo(()=>e?.queryOptions?.queryKey??["appflare","infinite-query",r,a],[a,e?.queryOptions?.queryKey,r]),g=react.useMemo(()=>reactQuery.hashKey(u),[u]),f=react.useMemo(()=>reactQuery.hashKey([a]),[a]),A=react.useMemo(()=>reactQuery.hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=reactQuery.useInfiniteQuery({...e?.queryOptions,queryKey:u,queryFn:async({pageParam:s})=>{let y=s===void 0||!e?.pageParamToArgs?a:e.pageParamToArgs(a,s),n=await r.run(y,e?.requestOptions);if(n.error)throw h(n.error);return n.data}});return react.useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,l=>!l||l.pages.length===0?l:{...l,pages:[n,...l.pages.slice(1)]}),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function L(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function C(r,t){return reactQuery.useMutation({...t,mutationFn:async a=>{let e=await r.run(a??{});if(e.error)throw L(e.error);return e.data}})}exports.useInfiniteQuery=P;exports.useMutation=C;exports.useQuery=b;
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import {useQueryClient,hashKey,useQuery,useInfiniteQuery,useMutation}from'@tanstack/react-query';import {useRef,useEffect,useMemo}from'react';function O(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function b(r,...t){let a=t[0]??{},e=t[1],o=useQueryClient(),i=useRef(e?.realtime?.onChange),p=useRef(e?.realtime?.onError);useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=useMemo(()=>e?.queryOptions?.queryKey??["appflare","query",r,a],[a,e?.queryOptions?.queryKey,r]),g=useMemo(()=>hashKey(u),[u]),f=useMemo(()=>hashKey([a]),[a]),A=useMemo(()=>hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=useQuery({...e?.queryOptions,queryKey:u,queryFn:async()=>{let s=await r.run(a,e?.requestOptions);if(s.error)throw O(s.error);return s.data}});return useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,n),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function h(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function P(r,...t){let a=t[0]??{},e=t[1],o=useQueryClient(),i=useRef(e?.realtime?.onChange),p=useRef(e?.realtime?.onError);useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=useMemo(()=>e?.queryOptions?.queryKey??["appflare","infinite-query",r,a],[a,e?.queryOptions?.queryKey,r]),g=useMemo(()=>hashKey(u),[u]),f=useMemo(()=>hashKey([a]),[a]),A=useMemo(()=>hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=useInfiniteQuery({...e?.queryOptions,queryKey:u,queryFn:async({pageParam:s})=>{let y=s===void 0||!e?.pageParamToArgs?a:e.pageParamToArgs(a,s),n=await r.run(y,e?.requestOptions);if(n.error)throw h(n.error);return n.data}});return useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,l=>!l||l.pages.length===0?l:{...l,pages:[n,...l.pages.slice(1)]}),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function L(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function C(r,t){return useMutation({...t,mutationFn:async a=>{let e=await r.run(a??{});if(e.error)throw L(e.error);return e.data}})}export{P as useInfiniteQuery,C as useMutation,b as useQuery};
2
+ import'../chunk-4JK3AKWC.mjs';import {useQueryClient,hashKey,useQuery,useInfiniteQuery,useMutation}from'@tanstack/react-query';import {useRef,useEffect,useMemo}from'react';function O(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function b(r,...t){let a=t[0]??{},e=t[1],o=useQueryClient(),i=useRef(e?.realtime?.onChange),p=useRef(e?.realtime?.onError);useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=useMemo(()=>e?.queryOptions?.queryKey??["appflare","query",r,a],[a,e?.queryOptions?.queryKey,r]),g=useMemo(()=>hashKey(u),[u]),f=useMemo(()=>hashKey([a]),[a]),A=useMemo(()=>hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=useQuery({...e?.queryOptions,queryKey:u,queryFn:async()=>{let s=await r.run(a,e?.requestOptions);if(s.error)throw O(s.error);return s.data}});return useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,n),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function h(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function P(r,...t){let a=t[0]??{},e=t[1],o=useQueryClient(),i=useRef(e?.realtime?.onChange),p=useRef(e?.realtime?.onError);useEffect(()=>{i.current=e?.realtime?.onChange,p.current=e?.realtime?.onError;},[e?.realtime?.onChange,e?.realtime?.onError]);let u=useMemo(()=>e?.queryOptions?.queryKey??["appflare","infinite-query",r,a],[a,e?.queryOptions?.queryKey,r]),g=useMemo(()=>hashKey(u),[u]),f=useMemo(()=>hashKey([a]),[a]),A=useMemo(()=>hashKey([e?.realtime?.requestOptions]),[e?.realtime?.requestOptions]),m=useInfiniteQuery({...e?.queryOptions,queryKey:u,queryFn:async({pageParam:s})=>{let y=s===void 0||!e?.pageParamToArgs?a:e.pageParamToArgs(a,s),n=await r.run(y,e?.requestOptions);if(n.error)throw h(n.error);return n.data}});return useEffect(()=>{if(e?.realtime?.enabled===false||!r.subscribe)return;let s=new AbortController,y=r.subscribe({args:a,authToken:e.realtime?.authToken,requestOptions:e.realtime?.requestOptions,signal:s.signal,onChange:(n,c)=>{o.setQueryData(u,l=>!l||l.pages.length===0?l:{...l,pages:[n,...l.pages.slice(1)]}),i.current?.(n,c);},onError:n=>{p.current?.(n);}});return ()=>{s.abort(),y.remove();}},[f,e?.realtime?.authToken,e?.realtime?.enabled,A,r.subscribe,o,g]),m}function L(r){let t=new Error(r.message);return r.status!==void 0&&(t.status=r.status),t}function C(r,t){return useMutation({...t,mutationFn:async a=>{let e=await r.run(a??{});if(e.error)throw L(e.error);return e.data}})}export{P as useInfiniteQuery,C as useMutation,b as useQuery};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appflare",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -23,7 +23,8 @@
23
23
  "scripts": {
24
24
  "build": "tsup",
25
25
  "dev": "tsup --watch",
26
- "lint": "tsc --noEmit"
26
+ "lint": "tsc --noEmit",
27
+ "prepublishOnly": "bun run build"
27
28
  },
28
29
  "peerDependencies": {
29
30
  "@tanstack/react-query": "^5.90.21",
package/tsup.config.ts CHANGED
@@ -9,7 +9,23 @@ export default defineConfig({
9
9
  clean: true,
10
10
  minify: true,
11
11
  treeshake: true,
12
- external: [/^[^./].*/],
12
+ external: [
13
+ "better-auth",
14
+ "better-auth-cloudflare",
15
+ "commander",
16
+ "hono",
17
+ "zod",
18
+ "wrangler",
19
+ "drizzle-kit",
20
+ "drizzle-orm",
21
+ "chokidar",
22
+ "bun",
23
+ "better-fetch",
24
+ "@better-auth/cli",
25
+ "@hono/standard-validator",
26
+ "react",
27
+ "@tanstack/react-query",
28
+ ],
13
29
  banner: {
14
30
  js: "#!/usr/bin/env node",
15
31
  },