Skip to content

Commit

Permalink
Merge pull request #926 from afrokick/refactoring/target-es6
Browse files Browse the repository at this point in the history
Refactoring for V2
  • Loading branch information
afrokick committed Feb 19, 2022
2 parents e444601 + a930635 commit c8a0db3
Show file tree
Hide file tree
Showing 36 changed files with 3,391 additions and 32,381 deletions.
17 changes: 17 additions & 0 deletions .github/prettifier.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Template for commit messages from Prettifier.
# Placeholders are:
# - {{commitSha}}: the SHA of your commit that Prettifier formats
commitMessage: 'AutoFormat {{commitSha}}'

fixByCommit: true

fixByPullRequest: false

prettified-message: >
I have adjusted the formatting of this pull request for you.
To stop seeing this message, please install Prettier on your machine and run
`meteor npm run format` to format your changes before submitting them.
# Whether to only check branches that have an active pull request.
pulls-only: true
23 changes: 23 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Unit tests

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v2
with:
node-version: 16.x
cache: 'npm'
- run: npm i
- name: Run tsc-check
run: npm run tsc-check
- name: Run tests
run: npm test
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ npm-debug.log
test/output
.tscache
test/public
.vscode/
.vscode/
dist
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
*.html
7 changes: 7 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 120,
"arrowParens": "avoid",
"endOfLine": "auto"
}
80 changes: 78 additions & 2 deletions changelog.md → CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,85 @@

All notable changes will be documented in this file.

## vNEXT
## vNext

...

<a name="2.0.0"></a>

## v2.0.0 (upcoming)

The main goals of the second version:

- modernize the code base: use `es6` and latest tools;
- target to the latest browsers API(you can use webrtc adapter to shim old browsers);
- shrink the package size.

### Breaking changes

#### Drop ES5 supports

If you need to support es5, you can recompile the lib from the sources or use the latest version from the v1 branch like `npm i peerjs@1`.

#### Remove `webrtc-adapter` package from `dependencies`

The modern browsers mostly works good without any additional libs like webrtc-adapter.

You can increase cross browsers support by manually add `webrtc-adapter` package to your project:

`npm install webrtc-adapter`

Then import it as soon as possible. For example, you have an entry point for your application in the file `index.tsx`. So, lets add the import:

```
import 'webrtc-adapter'; // as soon as possible
//
//... your startup code
//
```

See more: https://github.com/webrtcHacks/adapter

#### Remove browser detection features from the library.

The `browser` field was removed from the `util` class
and the `OFFER` packet.

#### The `main` field of `package.json` now points to the non minified version.

Today, most projects use bundlers with a minification step. Sometimes, double minification can lead to issues.

If you want to use the minified version, use it directly from the `dist` folder like:

```
import Peer from 'peerjs/dist/peerjs.min.js';
...
```

#### Remove `dist` folder from git

Please, try to host the package by yourself. It is more securely and you don't depend on third party.

In any case, you can use a CDN like `unpkg.com`:

```html
<script src="https://unpkg.com/peerjs@2.0.0/dist/peerjs.min.js"></script>
```

#### Use `ESBuild` as bundler.

Parcel 1 was a good choice years ago, but now esbuild seems like simple and good solution!

### Another changes

- update `devDependencies`
- apply `Prettier` for the code style
- rename `util` to `Utils`
- remove `peerjs` export.

<a name="1.3.2"></a>

## 1.3.2 (2021-03-11)
Expand Down Expand Up @@ -61,7 +136,7 @@ All notable changes will be documented in this file.
## 1.0.3 (2019-08-21)

- add pingInterval option

<a name="1.0.2"></a>

## 1.0.2 (2019-07-20)
Expand Down Expand Up @@ -97,6 +172,7 @@ Almost all project was refactored!!!
- changed: fetch api instead of xhr

### Features

- added: heartbeat #502

### Bug Fixes
Expand Down
Loading

0 comments on commit c8a0db3

Please sign in to comment.