JSPM

bootstrap-supabase-provider

1.0.4
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 7
    • Score
      100M100P100Q74998F
    • License MIT

    Easily connect your frontend app to Supabase via a Bootstrap modal.

    Package Exports

    • bootstrap-supabase-provider

    Readme

    Bootstrap Supabase Provider ๐Ÿš€

    Let users connect their Supabase project via a Bootstrap modal โ€” no backend setup required. โœจ


    Installation ๐Ÿ“ฆ

    npm install bootstrap-supabase-provider@1.0.4
    

    Then add this to your HTML:

    <script type="importmap">
    {
      "imports": {
        "bootstrap-supabase-provider": "./node_modules/bootstrap-supabase-provider/bootstrap-supabase-provider.js"
      }
    }
    </script>

    2. 2. Via CDN ๐ŸŒ

    <script type="importmap">
    {
      "imports": {
        "bootstrap-supabase-provider": "https://cdn.jsdelivr.net/npm/bootstrap-supabase-provider@1.0.4"
      }
    }
    </script>

    Usage ๐ŸŽฏ

    import { bootstrapSupabaseProvider} from "https://cdn.jsdelivr.net/npm/bootstrap-supabase-provider@1.0.4";
    
    // Basic Config - Opens a modal and asks user for Supabase details ๐Ÿ”ง
    const { supabase, url, anonKey } = await bootstrapSupabaseProvider();
    
    // Example query ๐Ÿ“Š
    const { data, error } = await supabase.from("todos").select("*");
    console.log(data, error);
    
    // Always Show Modal - even if user has provided configuration before ๐Ÿ”„
    const config1 = await bootstrapSupabaseProvider({ show: true });
    
    // Custom Labels and Help ๐ŸŽจ
    const config2 = await bootstrapSupabaseProvider({
      title: "Connect to Database",
      urlLabel: "Database URL", 
      keyLabel: "API Key",
      buttonLabel: "Connect",
      help: '<div class="alert alert-info">Get your credentials from <a href="https://supabase.com/dashboard">Supabase Dashboard</a></div>',
    });
    
    // Custom Storage - store in sessionStorage ๐Ÿ’พ
    const config3 = await bootstrapSupabaseProvider({
      storage: sessionStorage,
      key: "mySupabaseConfig"
    });
    
    

    API ๐Ÿ”Œ

    async function bootstrapSupabaseProvider({
      storage: localStorage,                           // where to store config, e.g. sessionStorage ๐Ÿ’พ
      key: "bootstrapSupabaseProvider_config",         // key name for storage ๐Ÿ”‘
      show: false,                                     // true will force prompt even if config exists ๐Ÿ‘๏ธ
      help: "",                                        // HTML rendered at top of modal ๐Ÿ’ก
      title: "Supabase Configuration",                 // modal dialog title ๐Ÿ“
      urlLabel: "Supabase URL",                        // URL input label ๐ŸŒ
      keyLabel: "Supabase Anon Key",                   // API key input label ๐Ÿ”
      buttonLabel: "Connect to Supabase",              // submit button label ๐Ÿ”—
    })
    // Returns: { supabase, url, anonKey } โœ…
    

    Development ๐Ÿ‘จโ€๐Ÿ’ป

    git clone https://github.com/Nitin399-maker//bootstrap-supabase-provider.git
    cd bootstrap-supabase-provider
    npm install

    To test locally: ๐Ÿงช

    <script type="module" src="./bootstrap-supabase-provider.js"></script>

    To publish: ๐Ÿ“ค

    npm login
    npm publish --access public

    Design Decisions

    • Design Decisions ๐ŸŽฏ
    • Simple zero-build ES module ๐Ÿ“ฆ
    • Bootstrap modal UX for quick setup โšก
    • LocalStorage-based persistence ๐Ÿ’พ
    • Works seamlessly in browsers ๐ŸŒ

    License

    MIT License ยฉ 2025 Nitin Kumar โœจ