Skip to content

Commit aed3e84

Browse files
authored
require to use extensions in import specifiers (#459)
* require to use extensions in import specifiers * Apply suggestions from code review * remove unrelated file
1 parent f07ed8e commit aed3e84

28 files changed

+134
-39
lines changed

.eslintrc

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
],
55
"env": {
66
"es6": true,
7-
"node": true,
8-
"browser": true,
9-
"jasmine": true
7+
"node": false,
8+
"jest": false,
9+
"browser": false,
10+
"shared-node-browser": true,
11+
"jasmine": false
1012
},
1113
"parserOptions": {
1214
"ecmaVersion": 2020,
@@ -21,6 +23,60 @@
2123
"no-param-reassign": ["off"],
2224
"import/no-extraneous-dependencies": ["error", {
2325
"devDependencies": ["test/**/*.js"]
24-
}]
25-
}
26+
}],
27+
"import/extensions": ["error", "ignorePackages"]
28+
},
29+
"overrides": [
30+
{
31+
"files": ["lib/browser/**/*.js", "demos/**/*.js"],
32+
"env": {
33+
"browser": true
34+
}
35+
},
36+
{
37+
"files": ["lib/node/**/*.js"],
38+
"env": {
39+
"node": true
40+
},
41+
"rules": {
42+
"no-restricted-globals": [
43+
"error",
44+
{
45+
"name": "__filename",
46+
"message": "Use import.meta.url instead"
47+
},
48+
{
49+
"name": "__dirname",
50+
"message": "Not available in ESM"
51+
},
52+
{
53+
"name": "exports",
54+
"message": "Not available in ESM"
55+
},
56+
{
57+
"name": "module",
58+
"message": "Not available in ESM"
59+
},
60+
{
61+
"name": "require",
62+
"message": "Use import instead"
63+
}
64+
]
65+
}
66+
},
67+
{
68+
"files": ["test/**/*.js", "demos/**/*.js"],
69+
"env": {
70+
"browser": true,
71+
"node": true,
72+
"jasmine": true
73+
},
74+
"parserOptions": {
75+
"sourceType": "script"
76+
},
77+
"rules": {
78+
"import/extensions": "off"
79+
}
80+
}
81+
]
2682
}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.eslintcache
2+
.vscode/settings.json
13
node_modules
24
demos/reactnative/.expo
35
lib.es5

demos/browser/demo.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/* global tus */
22
/* eslint-disable no-console, no-alert */
33

4+
'use strict'
5+
46
let upload = null
57
let uploadIsRunning = false
68
const toggleBtn = document.querySelector('#toggle-btn')

demos/browser/video.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/* global tus */
22
/* eslint-disable no-console, no-alert */
33

4+
'use strict'
5+
46
let stopRecording = null
57
let upload = null
68
const recordBtn = document.querySelector('#record-btn')

demos/cordova/hooks/before_prepare/copy_tus_files.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env node
22

3+
'use strict'
4+
35
const fs = require('fs')
46
const path = require('path')
57

demos/cordova/www/js/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/* global tus Camera */
22
/* eslint-disable no-alert */
33

4+
'use strict'
5+
46
let upload = null
57
let uploadIsRunning = false
68
let file = null

demos/nodejs/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
/* eslint-disable no-console */
22

3+
'use strict'
4+
35
const fs = require('fs')
46
const tus = require('../..')
57

lib/browser/fileReader.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import isReactNative from './isReactNative'
2-
import uriToBlob from './uriToBlob'
1+
import isReactNative from './isReactNative.js'
2+
import uriToBlob from './uriToBlob.js'
33

4-
import FileSource from './sources/FileSource'
5-
import StreamSource from './sources/StreamSource'
4+
import FileSource from './sources/FileSource.js'
5+
import StreamSource from './sources/StreamSource.js'
66

77
export default class FileReader {
88
openFile (input, chunkSize) {

lib/browser/fileSignature.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import isReactNative from './isReactNative'
1+
import isReactNative from './isReactNative.js'
22

33
// TODO: Differenciate between input types
44

lib/browser/index.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import BaseUpload from '../upload'
2-
import NoopUrlStorage from '../noopUrlStorage'
3-
import { enableDebugLog } from '../logger'
4-
import DetailedError from '../error'
1+
import BaseUpload from '../upload.js'
2+
import NoopUrlStorage from '../noopUrlStorage.js'
3+
import { enableDebugLog } from '../logger.js'
4+
import DetailedError from '../error.js'
55

6-
import { canStoreURLs, WebStorageUrlStorage } from './urlStorage'
7-
import DefaultHttpStack from './httpStack'
8-
import FileReader from './fileReader'
9-
import fingerprint from './fileSignature'
6+
import { canStoreURLs, WebStorageUrlStorage } from './urlStorage.js'
7+
import DefaultHttpStack from './httpStack.js'
8+
import FileReader from './fileReader.js'
9+
import fingerprint from './fileSignature.js'
1010

1111
const defaultOptions = {
1212
...BaseUpload.defaultOptions,

0 commit comments

Comments
 (0)