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

Monorepo Phase 2 #7434

Merged
merged 63 commits into from Feb 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
72ac240
- Move the wrappers:
jansiegel Nov 23, 2020
0ad044d
- Update the CONTRIBUTING file.
jansiegel Nov 28, 2020
2288ee8
Clean up the helper scripts. #7380
jansiegel Dec 8, 2020
1920f3d
Merge remote-tracking branch 'origin/develop' into feature/issue-7380
jansiegel Dec 8, 2020
34e74ab
Update package-lock #7380
jansiegel Dec 8, 2020
e6d13ce
- Add a version-bumping script
jansiegel Dec 14, 2020
a4d378c
[WIP]
jansiegel Dec 22, 2020
78e4374
[WIP]
jansiegel Jan 12, 2021
6c2647b
[WIP]
jansiegel Jan 14, 2021
54c0782
Add project aliases to the 'delegate-command' script.
jansiegel Jan 22, 2021
dfc33cd
Merge remote-tracking branch 'origin/develop' into feature/issue-7380…
jansiegel Jan 22, 2021
dc9a1bd
Add a script for aliasing the symlinks for the internal packages in n…
jansiegel Jan 22, 2021
159572b
Merge remote-tracking branch 'origin/develop' into feature/issue-7380…
jansiegel Jan 25, 2021
ffd3b0e
- Update the 'eslint-plugin-import' package (will need to be updated …
jansiegel Jan 25, 2021
014182f
Update the node_modules link swapping script.
jansiegel Jan 25, 2021
bba5da2
- Make the linter script run the lint command to all packages (if the…
jansiegel Jan 26, 2021
e7cb945
- Rearrange the package.json structure for better readability.
jansiegel Jan 26, 2021
0b3ffe6
Merge branch 'develop' into feature/issue-7380-phase-2
jansiegel Jan 26, 2021
eaaf17d
- Move the link-swapping script to postbuild:es.
jansiegel Jan 26, 2021
39d9ec0
Merge remote-tracking branch 'origin/develop' into feature/issue-7380…
jansiegel Jan 26, 2021
9d19f4a
- Rewrite the scripts to esm and rearrange their structure,
jansiegel Feb 2, 2021
035331d
Merge remote-tracking branch 'origin/develop' into feature/issue-7380…
jansiegel Feb 2, 2021
96be318
Post-CR updates
jansiegel Feb 2, 2021
3c66f10
Change the Node version to 15 in the changelog script.
jansiegel Feb 2, 2021
2248201
Set the node version of Codesandbox CI to 14.
jansiegel Feb 2, 2021
20f6602
- Extend the test-targeting script with pipeline handling.
jansiegel Feb 3, 2021
4bca481
Fix a problem with the run-all script.
jansiegel Feb 3, 2021
9cefbea
- Switch to rimraf.sync in the node_modules cleaning script
jansiegel Feb 4, 2021
f4fba91
Fix a potential error with react and vue builds.
jansiegel Feb 4, 2021
dfe2d7f
Add a .nvmrc file.
jansiegel Feb 4, 2021
215dbcc
Apply suggestions from code review
jansiegel Feb 4, 2021
91173d5
Update wrappers/angular-handsontable/README.md
jansiegel Feb 4, 2021
dedae71
Rewrite the `prepare-package-for-publish` script to mjs.
jansiegel Feb 4, 2021
b9d35c4
Merge branch 'feature/issue-7380-phase-2' of https://github.com/hands…
jansiegel Feb 4, 2021
746df68
Apply suggestions from code review
jansiegel Feb 4, 2021
69233ed
Modify the package-linking script.
jansiegel Feb 8, 2021
4b7cfb9
Merge branch 'feature/issue-7380-phase-2' of https://github.com/hands…
jansiegel Feb 8, 2021
0bdc8ed
- Remove all 'require's from the scripts in favor of '--experimental-…
jansiegel Feb 9, 2021
8360213
- Add missing flags to the package.json scripts.
jansiegel Feb 9, 2021
03b54bc
Apply suggestions from code review
jansiegel Feb 9, 2021
e591a9f
Update wrappers/angular-handsontable/package.json
jansiegel Feb 9, 2021
72aaedc
Update scripts/verify-bundles.mjs
jansiegel Feb 9, 2021
6c6f164
Update scripts/verify-bundles.mjs
jansiegel Feb 9, 2021
85fef74
Merge remote-tracking branch 'origin/develop' into feature/issue-7380…
jansiegel Feb 10, 2021
45d05e6
Add missing async/await syntax to the release script.
jansiegel Feb 10, 2021
cd93277
- Add a temporary flag to the eslint task, to prevent the error on no…
jansiegel Feb 10, 2021
52e488a
Modify the 'run-all' script with the yargs array parser.
jansiegel Feb 10, 2021
66487d8
- Modify the eslint rules for importing in the scripts directory.
jansiegel Feb 10, 2021
8bee846
Correct the targeted testing script.
jansiegel Feb 11, 2021
9f3280b
- Force the targeting script to build all versions of handsontable (a…
jansiegel Feb 11, 2021
0d69f88
- Get rid of all '.then()' calls in favor of async/await.
jansiegel Feb 11, 2021
111bdeb
Update scripts/run-targeted-tests.mjs
jansiegel Feb 15, 2021
7c7cc44
- Rename the wrappers' directories to their framework name.
jansiegel Feb 16, 2021
b36a21c
Merge branch 'feature/issue-7380-phase-2' of https://github.com/hands…
jansiegel Feb 16, 2021
0b9efb4
Update with a fresh package-lock.
jansiegel Feb 16, 2021
53358f8
Update scripts/swap-package-links.mjs
jansiegel Feb 17, 2021
a88b394
Merge remote-tracking branch 'origin/develop' into feature/issue-7380…
jansiegel Feb 17, 2021
fba77cd
Update with a fresh package-lock.
jansiegel Feb 17, 2021
bc75459
Merge branch 'feature/issue-7380-phase-2' of https://github.com/hands…
jansiegel Feb 17, 2021
39e5b3e
Revert an unwanted output file changes for the minified wrapper versi…
jansiegel Feb 17, 2021
c50bbc4
- Change the isTTY functionality for changelog generation.
jansiegel Feb 17, 2021
4990f85
- Remove '??=' for the codesandbox CI, so its node 14 would not throw…
jansiegel Feb 17, 2021
4fcbf3e
Correct the spawnProcess helper.
jansiegel Feb 17, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changelogs/7380.json
@@ -0,0 +1,7 @@
{
"title": "Introduced the monorepo to this repository. From now on, `handsontable`, `@handsontable/angular`, `@handsontable/react` and `@handsontable/vue` will all be developed in the same repo - `handsontable`.",
"type": "added",
"issue": 7380,
"breaking": false,
"framework": "none"
}
10 changes: 5 additions & 5 deletions .codesandbox/ci.json
@@ -1,13 +1,13 @@
{
"packages": ["tmp"],
"buildCommand": "build",
"packages": [
"tmp"
wojciechczerniak marked this conversation as resolved.
Show resolved Hide resolved
],
"publishDirectory": {
"handsontable": "tmp"
},
"sandboxes": [
"github/handsontable/examples/tree/master/vanilla/pull-request",
"github/handsontable/examples/tree/master/vue/pull-request",
"github/handsontable/examples/tree/master/react/pull-request",
"github/handsontable/examples/tree/master/angular/pull-request"
"github/handsontable/examples/tree/master/vanilla/pull-request"
],
"node": "14"
}
33 changes: 32 additions & 1 deletion .eslintrc.js
Expand Up @@ -141,6 +141,22 @@ module.exports = {
"**/validators",
"**/validators/?(index)",
],
// TODO: To be reviewed:
budnix marked this conversation as resolved.
Show resolved Hide resolved
'operator-linebreak': 'off',
'object-curly-newline': 'off',
'prefer-destructuring': 'off',
'implicit-arrow-linebreak': 'off',
'function-paren-newline': 'off',
'max-classes-per-file': 'off',
'import/no-useless-path-segments': 'off',
'lines-between-class-members': 'off',
'semi-style': 'off',
'no-else-return': 'off',
'import/no-cycle': 'off',
'no-lone-blocks': 'off',
'getter-return': 'off',
'switch-colon-spacing': 'off',
'operator-assignment': 'off',
},
"overrides": [
{
Expand Down Expand Up @@ -168,6 +184,21 @@ module.exports = {
"jsdoc/require-returns": "off",
"handsontable/restricted-module-imports": "off",
}
}
},
{
"files": ["scripts/**"],
"rules": {
budnix marked this conversation as resolved.
Show resolved Hide resolved
"no-restricted-globals": "off",
"import/extensions": "off",
"no-console": "off",
"no-await-in-loop": "off",
"no-restricted-syntax": [
'error',
'ForInStatement',
'LabeledStatement',
'WithStatement',
]
}
},
],
}
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/angular-handsontable.md
@@ -0,0 +1,28 @@
---
name: @handsontable/angular
about: Issues regarding the Angular wrapper for Handsontable.
title: ''
labels: 'angular'
assignees: ''

---

### Description
<!--- Tell us what happens and what should happen -->

### Steps to reproduce
<!--- Provide steps to reproduce this issue -->
1.
2.
3.

### Demo
<!--- Provide a link to a live example on Stackblitz -->
https://stackblitz.com/edit/handsontable-angular

### Your environment
* Angular version:
* Handsontable version:
* Wrapper version:
* Browser Name and version:
* Operating System:
@@ -1,3 +1,12 @@
---
name: handsontable
about: Issues regarding Handsontable.
title: ''
labels: ''
assignees: ''

---

### Description
<!--- Tell us what happens and what should happen -->

Expand All @@ -16,3 +25,4 @@ https://jsfiddle.net/handsoncode/8ffpsqt6/
* Browser Name and version:
* Operating System:


27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/react-handsontable.md
@@ -0,0 +1,27 @@
---
name: @handsontable/react
about: Issues regarding the React wrapper for Handsontable.
title: ''
labels: 'react'
assignees: ''

---

### Description
<!--- Tell us what happens and what should happen -->

### Steps to reproduce
<!--- Provide steps to reproduce this issue -->
1.
2.
3.

### Demo
<!--- Provide a link to a live example on JSFiddle or Codepen or fill the following demo with your settings -->
https://jsfiddle.net/handsoncode/c6rgz08x/

### Your environment
* React wrapper version:
* Handsontable version:
* Browser Name and version:
* Operating System:
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/vue-handsontable.md
@@ -0,0 +1,27 @@
---
name: @handsontable/vue
about: Issues regarding the Vue wrapper for Handsontable.
title: ''
labels: 'vue'
assignees: ''

---

### Description
<!--- Tell us what happens and what should happen -->

### Steps to reproduce
<!--- Provide steps to reproduce this issue -->
1.
2.
3.

### Demo
<!--- Provide a link to a live example on JSFiddle or Codepen or fill the following demo with your settings -->
https://jsfiddle.net/handsoncode/dezfbgjt/

### Your environment
* Vue wrapper version:
* Handsontable version:
* Browser Name and version:
* Operating System:
6 changes: 6 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Expand Up @@ -16,6 +16,12 @@
2.
3.

### Affected project(s):
- [ ] `handsontable`
- [ ] `@handsontable/angular`
- [ ] `@handsontable/react`
- [ ] `@handsontable/vue`

### Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/audit.yml
Expand Up @@ -9,10 +9,10 @@ jobs:
steps:
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # https://github.com/actions/checkout/releases/tag/v2.3.4

- name: Use Node.js 12
- name: Use Node.js 15
uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d # https://github.com/actions/setup-node/releases/tag/v1.4.4
with:
node-version: '12.x'
node-version: '15.x'

- name: NPM audit
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/changelog.yml
Expand Up @@ -21,10 +21,10 @@ jobs:
steps:
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # https://github.com/actions/checkout/releases/tag/v2.3.4

- name: Use Node.js 12
- name: Use Node.js 15
budnix marked this conversation as resolved.
Show resolved Hide resolved
uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d # https://github.com/actions/setup-node/releases/tag/v1.4.4
with:
node-version: '12.x'
node-version: '15.x'

- name: Install dependencies
run: npm ci
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/linter.yml
Expand Up @@ -9,18 +9,18 @@ jobs:
steps:
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # https://github.com/actions/checkout/releases/tag/v2.3.4

- name: Use Node.js 12
- name: Use Node.js 15
uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d # https://github.com/actions/setup-node/releases/tag/v1.4.4
with:
node-version: '12.x'
node-version: '15.x'

- name: Install dependencies
run: |
npm ci

- name: JavaScript lint
run: |
npm run eslint
npm run all lint

- name: CSS lint
run: |
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
@@ -0,0 +1 @@
15
16 changes: 9 additions & 7 deletions CONTRIBUTING.md
Expand Up @@ -3,15 +3,17 @@
Your contributions to this project are very welcome. If you want to fix a bug or propose a new feature, you can open a new Pull Request but first make sure it follows these general rules:

1. Sign this [Contributor License Agreement](https://goo.gl/forms/yuutGuN0RjsikVpM2) to allow us to publish your changes to the code.
2. Make your changes on a separate branch. This will speed up the merging process.
3. Always make the target of your pull request the `develop` branch, not `master`.
4. Do not edit files in `languages/` (e.g: `index.js`, `all.js`, `en-US.js`) and `dist/` (e.g: `handsontable.js`, `handsontable.css`, `handsontable.full.js`, `handsontable.full.css`, `all.js`, `en-US.js`) directories. Instead, edit files inside the `src/` directory and then use `npm run build` to make a build. More information about this you can find [here](https://docs.handsontable.com/tutorial-custom-build.html).
5. **Important: For any change you make, please add at least one test case** in `test/e2e/` (for End-to-End tests), `test/unit/` or `src/3rdparty/walkontable/test/spec/`. That will help us understand the issue and make sure that it stays fixed forever. Read more about our [testing process](http://docs.handsontable.com/tutorial-testing.html).
6. Please lint the code, i.e. by `npm run lint` task. It should follow [our coding style](https://github.com/handsontable/handsontable/blob/master/.eslintrc.js), inspired by [Airbnb JavaScript Style](https://github.com/airbnb/javascript).
7. Add a thorough description of all the changes.
2. Make changes to the appropriate project. `handsontable` is located at the root of the repository - the framework-specific wrappers in the `./wrappers` subdirectory.
3. Make your changes on a separate branch. This will speed up the merging process.
4. Always make the target of your pull request the `develop` branch, not `master`.
5. Do not edit files in `languages/` (e.g: `index.js`, `all.js`, `en-US.js`) and `dist/` (e.g: `handsontable.js`, `handsontable.css`, `handsontable.full.js`, `handsontable.full.css`, `all.js`, `en-US.js`) directories. Instead, edit files inside the `src/` directory and then use `npm run build` to make a build. More information about this you can find [here](https://docs.handsontable.com/tutorial-custom-build.html).
6. **Important: For any change you make, please add at least one test case** in `test/e2e/` (for End-to-End tests), `test/unit/` or `src/3rdparty/walkontable/test/spec/`. That will help us understand the issue and make sure that it stays fixed forever. Read more about our [testing process](http://docs.handsontable.com/tutorial-testing.html).
7. Please lint the code, i.e. by `npm run lint` task. It should follow [our coding style](https://github.com/handsontable/handsontable/blob/master/.eslintrc.js), inspired by [Airbnb JavaScript Style](https://github.com/airbnb/javascript).
8. Add a thorough description of all the changes.

Thank you for your commitment!

## Team rules

The Handsontable team utilizes Git-Flow. Read more - [How we use Git-Flow](https://github.com/handsontable/handsontable/wiki/How-we-use-Git-Flow)
1. We're using `npm workspaces` - this requires you to use `npm@7+`.
2. The Handsontable team utilizes Git-Flow. Read more - [How we use Git-Flow](https://github.com/handsontable/handsontable/wiki/How-we-use-Git-Flow)
8 changes: 4 additions & 4 deletions README.md
Expand Up @@ -5,7 +5,7 @@
**Handsontable** is a JavaScript/HTML5 data grid component with spreadsheet look & feel. <br>
It provides easy data binding, data validation, filtering, sorting and CRUD operations.

Handsontable works with [Vue](//github.com/handsontable/vue-handsontable-official), [React](//github.com/handsontable/react-handsontable) and [Angular](//github.com/handsontable/angular-handsontable).
Handsontable works with [Vue](//github.com/handsontable/handsontable/wrappers/vue-handsontable), [React](//github.com/handsontable/handsontable/wrappers/react-handsontable) and [Angular](//github.com/handsontable/handsontable/wrappers/angular-handsontable).
<br><br>
[![npm](https://img.shields.io/npm/dt/handsontable.svg)](//npmjs.com/package/handsontable)
[![npm](https://img.shields.io/npm/dm/handsontable.svg)](//npmjs.com/package/handsontable)
Expand Down Expand Up @@ -97,9 +97,9 @@ A list of some of the most popular features:

Use one of the available wrappers to use Handsontable with your favorite framework:

- [Handsontable for Vue](//github.com/handsontable/vue-handsontable-official)
- [Handsontable for React](//github.com/handsontable/react-handsontable)
- [Handsontable for Angular](//github.com/handsontable/angular-handsontable)
- [Handsontable for Vue](//github.com/handsontable/handsontable/wrappers/vue-handsontable)
- [Handsontable for React](//github.com/handsontable/handsontable/wrappers/react-handsontable)
- [Handsontable for Angular](//github.com/handsontable/handsontable/wrappers/angular-handsontable)

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion bin/changelog
Expand Up @@ -17,7 +17,7 @@ const { hideBin } = require('yargs/helpers');

const hotConfig = require('../hot.config');

const isTTY = process.stdout.isTTY;
const isTTY = process.stdin.isTTY;

const changelogMarkDownMark = '<!-- UNVERSIONED -->';
const changelogPath = path.join(__dirname, '../CHANGELOG.md');
Expand Down