<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 🔥 ArcGIS JS API can't be used in Jest unit tests in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350561#M82799</link>
    <description>&lt;P&gt;Ah okay, I clearly didn't look deep enough. Yep, that ignore pattern isn't working correctly. This isn't a problem with "@arcgis/core". The error "Cannot use import statement outside a module" is a well known JavaScript configuration issue.&lt;/P&gt;&lt;P&gt;I changed this in your app and it worked:&lt;/P&gt;&lt;PRE&gt;    &lt;SPAN class=""&gt;"transformIgnorePatterns"&lt;/SPAN&gt;: &lt;SPAN class=""&gt;[&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;"node_modules/(?!(@angular|@arcgis|@esri|@stencil|@popperjs)/)"&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;]&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="jest-test.png" style="width: 650px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/86280i46A976DA0EDAD0DA/image-size/large?v=v2&amp;amp;px=999" role="button" title="jest-test.png" alt="jest-test.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 16 Nov 2023 23:20:04 GMT</pubDate>
    <dc:creator>AndyGup</dc:creator>
    <dc:date>2023-11-16T23:20:04Z</dc:date>
    <item>
      <title>🔥 ArcGIS JS API can't be used in Jest unit tests</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350401#M82791</link>
      <description>&lt;P&gt;Trying to use the ArcGIS JS API in a unit test in Jest results in an import error:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RussellMGreen_0-1700155349874.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/86228i3F67E71509A3E8EC/image-size/large?v=v2&amp;amp;px=999" role="button" title="RussellMGreen_0-1700155349874.png" alt="RussellMGreen_0-1700155349874.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Environment:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;OS:&lt;/STRONG&gt; Windows 10&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Node:&lt;/STRONG&gt; v20.1.0&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Setup:&lt;/STRONG&gt; &lt;A href="https://nx.dev" target="_self"&gt;nx repo&lt;/A&gt; &amp;gt; library &amp;gt; jest unit test&lt;/P&gt;&lt;P&gt;This issue can be found by simply creating a new NX monorepo/project and creating a TypeScript library and trying to use any ArcGIS JS API class within a Jest spec file (unit test).&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;`my-test.spec.ts`&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// This import will fail!
import { Point } from '@arcgis/core/geometry';

describe('my test', ()=&amp;gt;{
  it('will fail', ()=&amp;gt;{
    new Point({ latitude: 42, longitude: -72 });
  });
});&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Steps to Reproduce:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;git clone&amp;nbsp;&lt;A href="https://github.com/rustygreen/arcgis-js-api-issue-example.git" target="_blank"&gt;https://github.com/rustygreen/arcgis-js-api-issue-example.git&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;cd&amp;nbsp;arcgis-js-api-issue-example&lt;/LI&gt;&lt;LI&gt;npm install&lt;/LI&gt;&lt;LI&gt;npm run test -- arcgis-angular&lt;/LI&gt;&lt;LI&gt;&lt;span class="lia-unicode-emoji" title=":fire:"&gt;🔥&lt;/span&gt; test will fail with import error&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2023 18:47:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350401#M82791</guid>
      <dc:creator>RussellMGreen</dc:creator>
      <dc:date>2023-11-16T18:47:19Z</dc:date>
    </item>
    <item>
      <title>Re: 🔥 ArcGIS JS API can't be used in Jest unit tests</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350487#M82796</link>
      <description>&lt;P&gt;It's been a while since I used Jest with Angular and no guarantee that it will work, but you may need to do something like this in your &lt;A href="https://jestjs.io/docs/configuration#transformignorepatterns-arraystring" target="_self"&gt;Jest config&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;"transformIgnorePatterns": [&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "node_modules/(?!(@angular|@arcgis|@esri|@stencil/)"&lt;BR /&gt;],&lt;/P&gt;&lt;P&gt;And, you might also need: &lt;A href="https://www.npmjs.com/package/jest-preset-angular" target="_blank"&gt;https://www.npmjs.com/package/jest-preset-angular&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2023 21:05:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350487#M82796</guid>
      <dc:creator>AndyGup</dc:creator>
      <dc:date>2023-11-16T21:05:08Z</dc:date>
    </item>
    <item>
      <title>Re: 🔥 ArcGIS JS API can't be used in Jest unit tests</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350491#M82797</link>
      <description>&lt;P&gt;The current Jest config in the sample repo should already be handling this dynamically (unless I'm missing something):&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/rustygreen/arcgis-js-api-issue-example/blob/main/libs/arcgis-angular/jest.config.ts" target="_blank"&gt;arcgis-js-api-issue-example/libs/arcgis-angular/jest.config.ts at main · rustygreen/arcgis-js-api-issue-example (github.com)&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RussellMGreen_0-1700169020037.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/86262i61E8BFFD0537A61D/image-size/large?v=v2&amp;amp;px=999" role="button" title="RussellMGreen_0-1700169020037.png" alt="RussellMGreen_0-1700169020037.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Also, just to note; you can take Angular out of this mix and the same issue will occur. I just happened to create the library as an Angular library using the NX cli.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2023 21:17:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350491#M82797</guid>
      <dc:creator>RussellMGreen</dc:creator>
      <dc:date>2023-11-16T21:17:19Z</dc:date>
    </item>
    <item>
      <title>Re: 🔥 ArcGIS JS API can't be used in Jest unit tests</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350561#M82799</link>
      <description>&lt;P&gt;Ah okay, I clearly didn't look deep enough. Yep, that ignore pattern isn't working correctly. This isn't a problem with "@arcgis/core". The error "Cannot use import statement outside a module" is a well known JavaScript configuration issue.&lt;/P&gt;&lt;P&gt;I changed this in your app and it worked:&lt;/P&gt;&lt;PRE&gt;    &lt;SPAN class=""&gt;"transformIgnorePatterns"&lt;/SPAN&gt;: &lt;SPAN class=""&gt;[&lt;/SPAN&gt;
      &lt;SPAN class=""&gt;"node_modules/(?!(@angular|@arcgis|@esri|@stencil|@popperjs)/)"&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;]&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="jest-test.png" style="width: 650px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/86280i46A976DA0EDAD0DA/image-size/large?v=v2&amp;amp;px=999" role="button" title="jest-test.png" alt="jest-test.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2023 23:20:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350561#M82799</guid>
      <dc:creator>AndyGup</dc:creator>
      <dc:date>2023-11-16T23:20:04Z</dc:date>
    </item>
    <item>
      <title>Re: 🔥 ArcGIS JS API can't be used in Jest unit tests</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350790#M82807</link>
      <description>&lt;P&gt;Yep, that solved it. Thanks,&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/180"&gt;@AndyGup&lt;/a&gt;!&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2023 14:40:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-js-api-can-t-be-used-in-jest-unit-tests/m-p/1350790#M82807</guid>
      <dc:creator>RussellMGreen</dc:creator>
      <dc:date>2023-11-17T14:40:15Z</dc:date>
    </item>
  </channel>
</rss>

