質問編集履歴

2

試したことなどを補足しました。

2023/06/01 09:07

投稿

watasida
watasida

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,16 +1,28 @@
1
1
  ### 実現したいこと
2
2
 
3
- Jestでのテスト実行
3
+ Next.jsプロジェクトでのJestでのテスト実行
4
4
 
5
5
  ### 前提
6
6
 
7
- nanoidというライブラリをインしてJestでテストを実行したところ、SyntaxError: Unexpected token 'export' というエラーが出ました。
7
+ Next.jsのプロジェクトを`create-next-app`で作成し、nanoidというライブラリをインストしてJestでテストを実行したところ、SyntaxError: Unexpected token 'export' というエラーが出ました。
8
+ nanoidのimport部分を削除すると問題なくテストが実行されました。
9
+
8
- 以下の記事を参考に、jest.config.jsを書きてみましたが、全く同じエラーが出ます。
10
+ 以下の記事を参考に、`jest.config.js`に以下を書きえましたが、全く同じエラーが出ます。
11
+ ```javascript
12
+ const config = {
13
+ // 追記
14
+ transformIgnorePatterns: [`node_modules/(?!nanoid/)`],
15
+ // その他の設定
16
+ }
17
+
18
+ module.exports = config
19
+ ```
9
- https://beyooon.jp/blog/nanoid-v4-fails-jest/
20
+ 参考にした記事:https://beyooon.jp/blog/nanoid-v4-fails-jest/
10
21
 
11
22
  ### 発生している問題・エラーメッセージ
12
23
 
13
24
  npm run test でターミナルに出力されるエラーです。
25
+ `node_modules/nanoid/index.browser.js`というファイルの export でエラーが出ているようです。
14
26
 
15
27
  ```terminal
16
28
  > next13-jest-swc@0.1.0 test
@@ -58,6 +70,20 @@
58
70
  Snapshots: 0 total
59
71
  Time: 1.11 s
60
72
  Ran all test suites.
73
+ ```
74
+
75
+ ### 試したこと
76
+ 前提の部分で参考にした記事によれば、nanoid4以降で発生している問題らしいので、nanoidのverison3をインストールし直してテストを実行してみました。
77
+ 以下のようなエラーが出ました。
78
+ やはり`/node_modules/nanoid/index.browser.js`というファイルで、この場合は import でエラーが出ています。
79
+ ```
80
+ Details:
81
+
82
+ /Users/sekiguchi/dev/react-liblary-exmples/next13-jest-swc/node_modules/nanoid/index.browser.js:1
83
+ ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import { urlAlphabet } from './url-alphabet/index.js'
84
+ ^^^^^^
85
+
86
+ SyntaxError: Cannot use import statement outside a module
61
87
  ```
62
88
 
63
89
  ### 該当のソースコード
@@ -123,8 +149,7 @@
123
149
  '<rootDir>/.next/',
124
150
  ],
125
151
 
126
- // コンパイル対象外のフォルダーを指定(nanoidを指定)
127
- transformIgnorePatterns: ['/node_modules/', `node_modules/(?!nanoid/)`, `<rootDir>/.next`],
152
+ transformIgnorePatterns: [`node_modules/(?!nanoid/)`],
128
153
 
129
154
  transform: {
130
155
  '.+\\.(t|j)sx?$': [

1

エラーメッセージ編集

2023/06/01 05:02

投稿

watasida
watasida

スコア6

test CHANGED
File without changes
test CHANGED
@@ -41,7 +41,7 @@
41
41
 
42
42
  Details:
43
43
 
44
- /Users/sekiguchi/dev/react-liblary-exmples/next13-jest-swc/node_modules/nanoid/index.browser.js:1
44
+ /Users/user/dev/react-liblary-exmples/next13-jest-swc/node_modules/nanoid/index.browser.js:1
45
45
  ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){export { urlAlphabet } from './url-alphabet/index.js'
46
46
  ^^^^^^
47
47