<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC4329 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4329.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3023 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3023.xml">
]>

<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<rfc docName="draft-ietf-dispatch-javascript-mjs-00" category="info" updates="4329">

  <front>
    <title>ECMAScript Media Types Updates</title>

    <author initials="B." surname="Farias" fullname="Bradley Farias">
      <organization></organization>
      <address>
        <email>bradley.meck@gmail.com</email>
      </address>
    </author>
    <author initials="M." surname="Miller" fullname="Matthew A. Miller">
      <organization>Mozilla</organization>
      <address>
        <email>linuxwolf+ietf@outer-planes.net</email>
      </address>
    </author>

    <date year="2017"/>

    <area>ART</area>
    <workgroup>DISPATCH</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document proposes updates to the ECMAScript media types, superseding the existing registrations for “application/javascript” and “text/javascript” by adding an additional extension and removing usage warnings.  This document updates RFC4329, “Scripting Media Types”.</t>



    </abstract>


    <note title="Note to Readers">


<t>The issues list for this draft can be found at <eref target="https://github.com/bmeck/I-D/labels/javascript-mjs">https://github.com/bmeck/I-D/labels/javascript-mjs</eref>.</t>

<t>The most recent (often, unpublished) draft is at <eref target="https://github.com/bmeck/I-D/tree/master/javascript-mjs">https://github.com/bmeck/I-D/tree/master/javascript-mjs</eref>.</t>

<t>Recent changes are listed at <eref target="https://github.com/bmeck/I-D/commits/master/javascript-mjs">https://github.com/bmeck/I-D/commits/master/javascript-mjs</eref>.</t>


    </note>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>This document updates the existing media types for the ECMAScript programming language. It supersedes the media types registrations in <xref target="RFC4329"/> for “application/javascript” and “text/javascript”.</t>

</section>
<section anchor="background" title="Background">

<t>In order to formalize support for modular programs <xref target="ECMA-262"/> now defines two top-level goal symbols for the ECMAScript grammar. This means that (in the absence of additional information) there are two possible interpretations for any given ECMAScript Source Text. The TC39 standards body for ECMAScript has determined that media types are outside of their scope of work <xref target="TC39-MIME-ISSUE"/>.</t>

<t>It is not possible to fully determine if a Source Text of ECMAScript is meant to be parsed in the Module or Script grammar goals based upon content alone. Therefore, scripting environments must use out of band information in order to determine what goal a Source Text should be treated as. To this end some scripting environments have chosen to adopt a new file extension of .mjs for determining the goal of a given Source Text.</t>

</section>
<section anchor="notational-conventions" title="Notational Conventions">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”,
“RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in
<xref target="RFC2119"/>.</t>

</section>
<section anchor="registration" title="Registration">

<t>The ECMAScript media types are to be updated to point to a non-vendor specific standard undated specification of ECMAScript. In addition, a new file extension of .mjs is to be added to the list of file extensions with the restriction that it must correspond to the Module grammar of <xref target="ECMA-262"/>. Finally, the <xref target="HTML"/> specification is using text/javascript as the default media type of ECMAScript when preparing script tags; therefore, text/javascript has been moved intended usage from OBSOLETE to COMMON.</t>

<section anchor="appliactionecmascript" title="appliaction/ecmascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  application</t>
  <t hangText='Subtype name:'>
  ecmascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="applicationjavascript" title="application/javascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  application</t>
  <t hangText='Subtype name:'>
  javascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;.</t>
</list></t>

</section>
<section anchor="applicationx-ecmascript" title="application/x-ecmascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  application</t>
  <t hangText='Subtype name:'>
  x-ecmascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="applicationx-javascript" title="application/x-javascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  application</t>
  <t hangText='Subtype name:'>
  x-javascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textecmascript" title="text/ecmascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  ecmascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript" title="text/javascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  COMMON</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript10" title="text/javascript1.0">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript1.0</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript11" title="text/javascript1.1">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript1.1</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript12" title="text/javascript1.2">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript1.2</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript13" title="text/javascript1.3">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript1.3</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript14" title="text/javascript1.4">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript1.4</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjavascript15" title="text/javascript1.5">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  javascript1.5</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textjscript" title="text/jscript">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  jscript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textlivescript" title="text/livescript">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  livescript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textx-ecmascript" title="text/x-ecmascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  x-ecmascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
<section anchor="textx-javascript" title="text/x-javascript">

<t><list style="hanging">
  <t hangText='Type name:'>
  text</t>
  <t hangText='Subtype name:'>
  x-javascript</t>
  <t hangText='Required parameters:'>
  none</t>
  <t hangText='Optional parameters:'>
  charset, see section 4.1 of <xref target="RFC4329"/>.</t>
  <t>goal, declares the goal symbol within <xref target="ECMA-262"/> to be used while parsing.</t>
  <t hangText='Encoding considerations:'>
  Encoding is host dependent with differences in byte order marks, the charset parameter, and text preprocessing.</t>
  <t hangText='Security considerations:'>
  See section 5 of <xref target="RFC4329"/>.</t>
  <t hangText='Interoperability considerations:'>
  See notes in various sections of <xref target="RFC4329"/>. This media type does not specify the grammar of <xref target="ECMA-262"/> used when missing the goal parameter.</t>
  <t hangText='Published specification:'>
  [[RFCXXXX]]</t>
  <t hangText='Applications which use this media type:'>
  Script interpreters as discussed in <xref target="RFC4329"/>.</t>
  <t hangText='Additional information:'>
        <list style="hanging">
        <t hangText='Magic number(s):'>
        n/a</t>
        <t hangText='File extension(s):'>
        .js, .mjs</t>
        <t hangText='Macintosh File Type Code(s):'>
        TEXT</t>
      </list>
  </t>
  <t hangText='Person &amp; email address to contact for further information:'>
  See Author’s Address section.</t>
  <t hangText='Intended usage:'>
  OBSOLETE</t>
  <t hangText='Restrictions on usage:'>
  The file extension .mjs must be parsed using the Module grammar of <xref target="ECMA-262"/></t>
  <t hangText='Author:'>
  See Author’s Address section.</t>
  <t hangText='Change controller:'>
  IESG &lt;iesg@ietf.org&gt;</t>
</list></t>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC4329;
&RFC2119;
&RFC3023;
<reference anchor="ECMA-262" target="http://www.ecma-international.org/publications/standards/Ecma-262.htm">
  <front>
    <title>Standard ECMA-262: ECMAScript Language Specification</title>
    <author >
      <organization>Ecma International</organization>
    </author>
    <date year="2017" month="August"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>

<reference anchor="HTML" target="https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script">
  <front>
    <title>HTML Living Standard</title>
    <author >
      <organization>WHATWG</organization>
    </author>
    <date year="2017" month="August"/>
  </front>
</reference>
<reference anchor="TC39-MIME-ISSUE" target="https://web.archive.org/web/20170814193912/https://github.com/tc39/ecma262/issues/322">
  <front>
    <title>Add `application/javascript+module` mime to remove ambiguity5</title>
    <author >
      <organization>TC39</organization>
    </author>
    <date year="2017" month="August"/>
  </front>
</reference>


    </references>


<section anchor="acknowledgements" title="Acknowledgements">

<t>Thanks to Suresh Krishnan, Alexey Melnikov, Mark Nottingham, James Snell, Matthew A. Miller, Adam Roach, and Allen Wirfs-Brock for guiding me through this process.</t>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

