code: public String version() {
      if (ES3.contains(this)) {
        return "es3";
      }
      if (ES5.contains(this)) {
        return "es5";
      }
      if (ES6_MODULES.contains(this)) {
        return "es6";
      }
      if (ES7_MODULES.contains(this)) {
        return "es7";
      }
      if (ES8_MODULES.contains(this)) {
        return "es8";
      }
      if (ES2018_MODULES.contains(this)) {
        return "es9";
      }
      if (ES2019_MODULES.contains(this)) {
        return "es_2019";
      }
      if (ES_NEXT.contains(this)) {
        return "es_next";
      }
      if (ES_UNSUPPORTED.contains(this)) {
        return "es_unsupported";
      }
      if (TYPESCRIPT.contains(this)) {
        return "ts";
      }
      throw new IllegalStateException(this.toString());
    }
docs: Returns a string representation suitable for encoding in depgraph and deps.js files.