Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring for V2 #926

Merged
merged 3 commits into from
Feb 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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