Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update language plugin handling code to work with non-local language plugins #2255

Open
bcolloran opened this issue Sep 16, 2019 · 0 comments

Comments

@bcolloran
Copy link
Contributor

the current schema for language plugins is:

export const languageSchema = {
  type: "object",
  properties: {
    pluginType: { type: "string", enum: ["language"] },
    languageId: { type: "string" },
    displayName: { type: "string" },
    module: { type: "string" },
    evaluator: { type: "string" },
    asyncEvaluator: { type: "string" },
    url: { type: "string" }
  },
  additionalProperties: false
};

Of these, for remote languages we probably just need

  • pluginType (which could be e.g. "remote-language", "remote-kernel", "remote-evaluation" or something else probably including the word "remote"),
  • languageId, and
  • displayName

But surely we'll need to add other fields to handle remote kernels.

@jezdez you're closest to this at the moment, what other info will a language plugin need to define in order to be routed and handled correctly by iodide (obviously we don't need to think of everything, but if we know of things that we'll need for sure, we can add them)?

i think that as soon as we have an initial set of fields, me or @mdboom could do a quick PR to add the machinery for loading remote language kernel plugins pretty easily. (for the time being, we could set the evaluation to be a no-op in the case of a remote-eval)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant