Closed5

DenoでDaggerを試す

ピン留めされたアイテム
WhyKWhyK

別にGitHub Actionsで困ってないし良くない? という気持ちになってしまったので途中だけど終わりにします
参考になる情報はありません

WhyKWhyK

import文だけいじって、他はサンプルのまま実行してみる

import Client, { connect } from "npm:@dagger.io/dagger@0.3.1"

// initialize Dagger client
connect(async (client: Client) => {
  // get Node image
  // get Node version
  const node = client.container().from("node:16").withExec(["node", "-v"])

  // execute
  const version = await node.stdout()

  // print output
  console.log("Hello from Dagger and Node " + version)
})

以下のエラーが出た

error: Uncaught SyntaxError: The requested module 'graphql-tag' does not provide an export named 'gql'
    at <anonymous> (file:///Users/windchime-yk/Library/Caches/deno/npm/registry.npmjs.org/@dagger.io/dagger/0.3.1/dist/index.js:2:10)
WhyKWhyK

index.jsを見たところ、以下のような内容だった。

import Client from "./api/client.gen.js";
export { gql } from "graphql-tag";
export { GraphQLClient } from "graphql-request";
export { connect } from "./connect.js";
export default Client;

npmパッケージを読み込んでいるため、Denoだと探せなかった模様。
import_map.jsonでのパス置き換えはnpmパッケージ内部まで作用しないので、今のところnpmパッケージ側で提供方法を見直す以外にはなさそう?

WhyKWhyK

そもそもNode.jsで動くのか試していなかったため、試す

このスクラップは2023/07/15にクローズされました