Skip to content

Commit c4a0c4e

Browse files
BuptStEveevinma
authored andcommitted
chore: support esm in browser
1 parent d624352 commit c4a0c4e

File tree

4 files changed

+164
-15
lines changed

4 files changed

+164
-15
lines changed

README-zh_CN.md

+68-4
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ $ yarn add tua-body-scroll-lock
3434

3535
### CDN
3636
* UMD(`tua-bsl.umd.js`)
37-
* [unpkg](https://unpkg.com/tua-body-scroll-lock)
38-
* [jsdelivr](https://cdn.jsdelivr.net/npm/tua-body-scroll-lock)
37+
* unpkg: https://unpkg.com/tua-body-scroll-lock
38+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock
39+
40+
<details>
41+
<summary>example code</summary>
3942

4043
```html
4144
<!-- unpkg -->
@@ -45,9 +48,14 @@ $ yarn add tua-body-scroll-lock
4548
<script src="https://cdn.jsdelivr.net/npm/tua-body-scroll-lock"></script>
4649
```
4750

51+
</details>
52+
4853
* Minified UMD(`tua-bsl.umd.min.js`)
49-
* [unpkg](https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.umd.min.js)
50-
* [jsdelivr](https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.umd.min.js)
54+
* unpkg: https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.umd.min.js
55+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.umd.min.js
56+
57+
<details>
58+
<summary>example code</summary>
5159

5260
```html
5361
<!-- unpkg -->
@@ -57,6 +65,62 @@ $ yarn add tua-body-scroll-lock
5765
<script src="https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.umd.min.js"></script>
5866
```
5967

68+
</details>
69+
70+
* ESM in browser(`tua-bsl.esm.browser.js`)
71+
* unpkg: https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js
72+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js
73+
74+
<details>
75+
<summary>example code</summary>
76+
77+
```html
78+
<!-- unpkg -->
79+
<script type="module">
80+
import { lock, unlock } from 'https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js'
81+
82+
lock()
83+
unlock()
84+
</script>
85+
86+
<!-- jsdelivr -->
87+
<script type="module">
88+
import { lock, unlock } from 'https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js'
89+
90+
lock()
91+
unlock()
92+
</script>
93+
```
94+
95+
</details>
96+
97+
* Minified ESM in browser(`tua-bsl.esm.browser.min.js`)
98+
* unpkg: https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js
99+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js
100+
101+
<details>
102+
<summary>example code</summary>
103+
104+
```html
105+
<!-- unpkg -->
106+
<script type="module">
107+
import { lock, unlock } from 'https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js'
108+
109+
lock()
110+
unlock()
111+
</script>
112+
113+
<!-- jsdelivr -->
114+
<script type="module">
115+
import { lock, unlock } from 'https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js'
116+
117+
lock()
118+
unlock()
119+
</script>
120+
```
121+
122+
</details>
123+
60124
## 使用
61125
### 常规操作
62126

README.md

+68-4
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ $ yarn add tua-body-scroll-lock
3434

3535
### CDN
3636
* UMD(`tua-bsl.umd.js`)
37-
* [unpkg](https://unpkg.com/tua-body-scroll-lock)
38-
* [jsdelivr](https://cdn.jsdelivr.net/npm/tua-body-scroll-lock)
37+
* unpkg: https://unpkg.com/tua-body-scroll-lock
38+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock
39+
40+
<details>
41+
<summary>example code</summary>
3942

4043
```html
4144
<!-- unpkg -->
@@ -45,9 +48,14 @@ $ yarn add tua-body-scroll-lock
4548
<script src="https://cdn.jsdelivr.net/npm/tua-body-scroll-lock"></script>
4649
```
4750

51+
</details>
52+
4853
* Minified UMD(`tua-bsl.umd.min.js`)
49-
* [unpkg](https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.umd.min.js)
50-
* [jsdelivr](https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.umd.min.js)
54+
* unpkg: https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.umd.min.js
55+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.umd.min.js
56+
57+
<details>
58+
<summary>example code</summary>
5159

5260
```html
5361
<!-- unpkg -->
@@ -57,6 +65,62 @@ $ yarn add tua-body-scroll-lock
5765
<script src="https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.umd.min.js"></script>
5866
```
5967

68+
</details>
69+
70+
* ESM in browser(`tua-bsl.esm.browser.js`)
71+
* unpkg: https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js
72+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js
73+
74+
<details>
75+
<summary>example code</summary>
76+
77+
```html
78+
<!-- unpkg -->
79+
<script type="module">
80+
import { lock, unlock } from 'https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js'
81+
82+
lock()
83+
unlock()
84+
</script>
85+
86+
<!-- jsdelivr -->
87+
<script type="module">
88+
import { lock, unlock } from 'https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.js'
89+
90+
lock()
91+
unlock()
92+
</script>
93+
```
94+
95+
</details>
96+
97+
* Minified ESM in browser(`tua-bsl.esm.browser.min.js`)
98+
* unpkg: https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js
99+
* jsdelivr: https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js
100+
101+
<details>
102+
<summary>example code</summary>
103+
104+
```html
105+
<!-- unpkg -->
106+
<script type="module">
107+
import { lock, unlock } from 'https://unpkg.com/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js'
108+
109+
lock()
110+
unlock()
111+
</script>
112+
113+
<!-- jsdelivr -->
114+
<script type="module">
115+
import { lock, unlock } from 'https://cdn.jsdelivr.net/npm/tua-body-scroll-lock/dist/tua-bsl.esm.browser.min.js'
116+
117+
lock()
118+
unlock()
119+
</script>
120+
```
121+
122+
</details>
123+
60124
## Usage
61125
### Normal
62126

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"rollup-plugin-eslint": "^5.0.0",
5858
"rollup-plugin-json": "^3.1.0",
5959
"rollup-plugin-replace": "^2.1.0",
60-
"rollup-plugin-uglify": "^6.0.2"
60+
"rollup-plugin-terser": "^5.0.0"
6161
},
6262
"repository": {
6363
"type": "git",

rollup.config.js

+27-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import babel from 'rollup-plugin-babel'
22
import replace from 'rollup-plugin-replace'
33
import { eslint } from 'rollup-plugin-eslint'
4-
import { uglify } from 'rollup-plugin-uglify'
4+
import { terser } from 'rollup-plugin-terser'
5+
import { DEFAULT_EXTENSIONS } from '@babel/core'
56

67
const pkg = require('./package.json')
78

@@ -12,8 +13,8 @@ const banner =
1213
* @license ${pkg.license}
1314
*/
1415
`
15-
const plugins = [ eslint(), babel() ]
1616

17+
const extensions = [...DEFAULT_EXTENSIONS, 'ts', 'tsx']
1718
const configMap = {
1819
esm: {
1920
file: pkg.module,
@@ -29,19 +30,31 @@ const configMap = {
2930
format: 'umd',
3031
env: 'production',
3132
},
33+
esmBrowserDev: {
34+
env: 'development',
35+
file: 'dist/tua-bsl.esm.browser.js',
36+
format: 'esm',
37+
transpile: false,
38+
},
39+
esmBrowserProd: {
40+
env: 'production',
41+
file: 'dist/tua-bsl.esm.browser.min.js',
42+
format: 'esm',
43+
transpile: false,
44+
},
3245
}
3346

3447
const genConfig = (opts) => {
3548
const isProd = /min\.js$/.test(opts.file)
3649

3750
const config = {
3851
input: 'src/index.js',
39-
plugins: plugins.slice(),
52+
plugins: [eslint({ include: '**/*.js' })],
4053
output: {
4154
file: opts.file,
42-
format: opts.format,
43-
banner,
4455
name: 'bodyScrollLock',
56+
banner,
57+
format: opts.format,
4558
},
4659
}
4760

@@ -50,9 +63,17 @@ const genConfig = (opts) => {
5063
'process.env.NODE_ENV': JSON.stringify(opts.env),
5164
}))
5265
}
66+
if (opts.transpile !== false) {
67+
config.plugins.push(babel({ extensions }))
68+
}
5369

5470
if (isProd) {
55-
config.plugins.push(uglify())
71+
config.plugins.push(terser({
72+
output: {
73+
/* eslint-disable */
74+
ascii_only: true,
75+
},
76+
}))
5677
}
5778

5879
return config

0 commit comments

Comments
 (0)