esm.sh icon indicating copy to clipboard operation
esm.sh copied to clipboard

Failed to import - `expo-server-sdk`

Open rcwestlake opened this issue 1 year ago • 1 comments

Failing module

  • GitHub: [private]
  • npm: https://npmjs.com/package/expo-server-sdk
  • https://esm.sh/[email protected]
"expo-server-sdk": "https://esm.sh/[email protected]" -- defined in `import_map.json`

# my function
import { Expo } from "expo-server-sdk";
Deno.serve(async (_req) => {
  const expo = new Expo({ accessToken: xxxxxxx });
  const tomorrow = DateTime.now().endOf("day").plus({ days: 1 }).toISO();
  const tickets = [];
  const chunks = expo.chunkPushNotifications(messages); # this works
  console.log("chunks", chunks) # this works;
  for await (const chunk of chunks) {
        try {
          const ticketChunk = await expo.sendPushNotificationsAsync(chunk); # this is where it fails
          console.log("ticketChunk", ticketChunk);
          tickets.push(...ticketChunk);
        } catch (error) {
          console.log("ERRORRRRRRR", error);
          console.error(error);
        }
      }

    # the rest of the function....  
    return new Response(JSON.stringify(data), {
      headers: { "Content-Type": "application/json" },
    });
  } catch (error) {
    // Handle error
    return new Response(JSON.stringify(error), {
      headers: { "Content-Type": "application/json" },
    });
  }
});

Error message

After running deno run I got this:

ERRORRRRRRR TypeError: M.default is not a function
    at s.<anonymous> (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:5730)
    at Generator.next (<anonymous>)
    at https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:2957
    at new Promise (<anonymous>)
    at p (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:2754)
    at s.requestAsync (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:5235)
    at s.<anonymous> (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:3924)
    at Generator.next (<anonymous>)
    at https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:2957
    at new Promise (<anonymous>)
TypeError: M.default is not a function
    at s.<anonymous> (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:5730)
    at Generator.next (<anonymous>)
    at https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:2957
    at new Promise (<anonymous>)
    at p (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:2754)
    at s.requestAsync (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:5235)
    at s.<anonymous> (https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:3924)
    at Generator.next (<anonymous>)
    at https://esm.sh/v132/[email protected]/denonext/expo-server-sdk.mjs:9:2957
    at new Promise (<anonymous>)

Additional info

  • esm.sh version:
  • Deno version: 1.37.1

rcwestlake avatar Oct 07 '23 18:10 rcwestlake

The import from another service however is working. https://dev.jspm.io/expo-server-sdk works. One difference looks to be cjs vs mjs

rcwestlake avatar Oct 09 '23 20:10 rcwestlake