8000 Browser Card by kberba · Pull Request #109 · EPICLab/synectic · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Browser Card #109

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

Closed
wants to merge 163 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
7a21980
Removing work-around for webpack browser-entry.js bug mochajs/mocha#2448
nelsonni Feb 4, 2019
f779712
Updated Dialogs to use single class, new Git Credential Manager, dial…
nelsonni Mar 16, 2019
741649b
Git Credential Manager for fulfilling isomorphic-git credentialManage…
nelsonni Mar 20, 2019
397bbc8
Fixed style and formatting issues found via tslint
nelsonni Mar 20, 2019
7c3550c
Updated Card constructor to set title from filename
nelsonni Apr 1, 2019
e7cc5c9
Added exists function to core/fs/io.ts
nelsonni Apr 1, 2019
e77c4a9
Updated handlerToCard function to create new file when file does not …
nelsonni Apr 1, 2019
7887b3f
Added newCardDialog function for prompting user for filename, locatio…
nelsonni Apr 1, 2019
4264e65
Updated CredentialManager::fill function to prompt user for authentic…
nelsonni Apr 1, 2019
f7bd77c
Updates for @types/jsdom, @types/node, css-loader, electron, isomorph…
nelsonni Apr 1, 2019
349f976
Added New... button to Canvas for creating and loading a new card
nelsonni Apr 1, 2019
83ec5c8
Removing console.log statements accidentally left in during development
nelsonni Apr 1, 2019
4c60f0a
Initial code to checkout individual files from different branches; ak…
nelsonni Apr 3, 2019
40a48b8
checkout different branches now handles switching back to current pro…
nelsonni Apr 15, 2019
0bd8f73
Updated type restrictions for filepaths, loading GIF for branch switc…
nelsonni Apr 15, 2019
b29ee28
Merge pull request #73 from SarmaResearch/master
nelsonni Apr 15, 2019
f964257
Moved toggleVisibility into helper.ts, added doc comments, and added …
nelsonni Apr 18, 2019
d1da112
Moved Flippable into interaction.ts; congregating all interactions in…
nelsonni Apr 18, 2019
807ec88
Refactored Card and Editor classes to simplify local file loading, br…
nelsonni Apr 18, 2019
07a5ea5
Doc comment correction
nelsonni Apr 18, 2019
cf0e676
Updates to dependent package versions
nelsonni Apr 18, 2019
d345a42
WIP version of a FileExplorer
robobenklein May 2, 2019
8360e91
FileExpl: CSS Scaffold
robobenklein May 2, 2019
5dfc9fb
FileExpl: Reduce to stub [tmp]
robobenklein May 2, 2019
1113c02
Add FileExpl button to renderer
robobenklein May 2, 2019
e973dc1
Perhaps this won't be implemented?
robobenklein May 3, 2019
ef24bb5
Raw git command facade cleanup and consolidation
nelsonni May 13, 2019
954aa8c
Dialog test buttons removed from Canvas, new git-related button icons…
nelsonni May 13, 2019
f01b9fb
Configurable Dropdown class allows dropdown menus that include icons
nelsonni May 13, 2019
9cc3bcb
File IO API updated to read/write/copy directories (and subdirectorie…
nelsonni May 13, 2019
9005c4a
Method docs updated for helper functions
nelsonni May 13, 2019
4b62998
Git Infra 1 of 3: GitManager service for managing and responding to r…
nelsonni May 13, 2019
34c3376
Git Infra 2 of 3: Repository and Branch classes for representing and …
nelsonni May 13, 2019
67ec4f3
Git Infra 3 of 3: Displaying UI for interacting with Git services, ma…
nelsonni May 13, 2019
23db660
Updated TravisCI config to include 'development' branch in allowed br…
nelsonni May 13, 2019
1d88c5f
Updated packages, including fs-extra, jquery, jquery-ui, mkdirp, type…
nelsonni May 13, 2019
ddcaf9c
Async Path Item loading and lazy model of MVC
robobenklein May 15, 2019
71b9c79
Gah it looks ugly but it works
robobenklein May 16, 2019
4929f36
Less distracting
robobenklein May 16, 2019
e584e1b
Missed a map set...
robobenklein May 16, 2019
ff5dc2b
Lowercase lib and targets, per TypeScript config file documentation
nelsonni May 20, 2019
301d955
Branch menus, buttons, and visual state managed by BranchUI class, gi…
nelsonni May 20, 2019
a8b5a07
Package updates for @types/luxon, @types/node, electron-mocha, isomor…
nelsonni May 20, 2019
8294957
Minor syntax clean-up and package-lock
nelsonni May 20, 2019
256257e
Merge branch 'development' into git_integration
nelsonni May 20, 2019
947e788
Merge pull request #75 from SarmaResearch/git_integration
nelsonni May 20, 2019
59e4ca9
Merge remote-tracking branch 'origin/development' into robo/file_expl…
robobenklein May 23, 2019
6aa5eed
newCard to handle dirs, nonselectable-interior class
robobenklein May 23, 2019
74e0d0e
Shows git branches
robobenklein May 24, 2019
34696e4
Double click to open via handler
robobenklein May 24, 2019
591ecfc
CSS rework, ready for git statuses
robobenklein May 24, 2019
eef4854
Clean and modified tracked colors working
robobenklein May 28, 2019
034049c
Fix first draw miss
robobenklein Jun 3, 2019
cbeee98
Max-width during fullscreen views
robobenklein Jun 3, 2019
399d4ec
FileExplorer Refactor split
robobenklein Jun 6, 2019
065e250
Updates for .gitignore and LICENSE filename patterns for open file lo…
nelsonni Jun 7, 2019
ecd3ad2
Aligned visual style with atom/vscode explorers
robobenklein Jun 8, 2019
60a4bfd
Rewrite to eventful data model
robobenklein Jul 8, 2019
b55dd08
update after add
robobenklein Jul 8, 2019
ef722d4
Missed one lpi.name
robobenklein Jul 8, 2019
51e8a02
Elements added now sorted properly.
robobenklein Jul 9, 2019
17efbda
Need to expose the git repo path
robobenklein Jul 9, 2019
d584990
Chop linter errors
robobenklein Jul 10, 2019
ddd0848
Npm upgrade
robobenklein Jul 10, 2019
8bdc93a
Merge remote-tracking branch 'origin/development' into robo/file_expl…
robobenklein Jul 10, 2019
e763fa0
RM chokidar
robobenklein Jul 12, 2019
4aa1e4f
Linting
robobenklein Jul 12, 2019
0c39c5b
Fixed all the linter errors
robobenklein Jul 16, 2019
2f946fd
Merge pull request #74 from SarmaResearch/robo/file_explorer
nelsonni Jul 17, 2019
79fae1e
Base electron-forge with webpack template
nelsonni Oct 11, 2019
f382afc
TypeScript and ts-loader for webpack
nelsonni Oct 11, 2019
d454cb6
React Baseline
nelsonni Oct 30, 2019
684095f
React with Redux for presentational components and Monaco Editor cards
nelsonni Nov 7, 2019
dda57c2
React presentation components, Ace Editor integration, and File Open …
nelsonni Nov 12, 2019
85d9955
Fixed and updated test suites use Enzyme and DnD mocking
nelsonni Nov 16, 2019
a0b90a7
add @types/react-redux to provide type definitions for react-redux
nelsonni Nov 19, 2019
0b5d309
minor tweaks to add parts of Redux store functionality
nelsonni Nov 19, 2019
2587547
typed implementation of Card drag-and-drop using Legacy Decorator API…
nelsonni Nov 19, 2019
5ee0f57
Redux store connected to React components
nelsonni Dec 5, 2019
3e3b8fb
openFileDialog properly resolves multiple selected files to metadata
nelsonni Dec 7, 2019
1c2b8d1
Text to direct new contributors to add GItHub username to README
nelsonni Dec 7, 2019
43ddb3f
Tree and node react components for file explorer
jettseale Dec 22, 2019
f910170
Removed old dead code, updated components and Redux store
nelsonni Dec 22, 2019
9325d32
VSCode preferences
nelsonni Dec 22, 2019
3dd95a5
React list items require keys for unique identification of elements
nelsonni Dec 22, 2019
ef2097b
Example inclusion of Tree component for testing purposes
nelsonni Dec 22, 2019
d769ef4
Updated File IO and Handlers + unit tests
nelsonni Dec 29, 2019
c23eb20
Fixed FilePicker and Redux duck typing
nelsonni Dec 30, 2019
9d7ba80
Updated clean script and git ignore for Jest code coverage
nelsonni Dec 30, 2019
b320069
FilePicker updates to use metafile and io interfaces
nelsonni Jan 6, 2020
fcc43da
Removed old dead code from extractMetafile
nelsonni Jan 6, 2020
aea0de2
Git funct and tests for extractFromURL
nelsonni Jan 7, 2020
d3e9341
git.extractRepo function and tests
nelsonni Jan 9, 2020
3a0439a
DiffPicker component for initiating card diffing
nelsonni Jan 15, 2020
3ab06ae
Almost done with explorer.ts
jettseale Jan 15, 2020
0e576f6
Merge branch 'feature/react-refactor' into reactFileExplorer
jettseale Jan 15, 2020
0c77aa5
Dynamic AceEditor mode importing
nelsonni Jan 21, 2020
51a677b
Jest and webpack config cleanup
nelsonni Jan 21, 2020
a4f9c04
FilePicker renamed to FilePickerDialog for naming consistency
nelsonni Jan 22, 2020
eba2874
Initial Stack and Card.isCapture started
nelsonni Jan 22, 2020
c8cdb24
DiffPicker renamed to DiffPickerDialog for naming consistency
nelsonni Jan 22, 2020
9217c19
Filetype importing updated in app startup
nelsonni Jan 22, 2020
e273346
Promise rejection
jettseale Jan 22, 2020
ede6d4e
Added Metadir type
nelsonni Jan 23, 2020
fbb409a
Merge branch 'feature/react-refactor' of https://github.com/EPICLab/s…
jettseale Jan 23, 2020
1d48e16
In-progress, but types are complete
nelsonni Jan 30, 2020
653a3bb
Fixed Canvas and card type loading
nelsonni Jan 30, 2020
bad6ea6
Merge branch 'feature/react-refactor' of https://github.com/EPICLab/s…
jettseale Jan 30, 2020
d528671
Added extractReaddir for a cleaner async readdir function
nelsonni Feb 13, 2020
431896e
Merge branch 'feature/react-refactor' of https://github.com/EPICLab/s…
jettseale Feb 13, 2020
e8ba5cc
Recursive filetree descent fn for reactFileExplorer
nelsonni Feb 14, 2020
129d93d
Merge branch 'feature/react-refactor' of https://github.com/EPICLab/s…
jettseale Feb 17, 2020
d8a814c
Live diff with +/- line highlighting
nelsonni Feb 26, 2020
2526f7b
file explorer card finished, working on FE component tests
jettseale Feb 28, 2020
0affac4
Jest config and test updates for ace-builds
nelsonni Mar 3, 2020
317c8b9
Merge branch 'feature/react-refactor' of https://github.com/EPICLab/s…
jettseale Mar 3, 2020
e8b8b60
Component testing can now use baseReduxMock
nelsonni Mar 5, 2020
d0e982c
Merge branch 'feature/react-refactor' of https://github.com/EPICLab/s…
jettseale Mar 5, 2020
9afb053
Simplified CanvasComponent unit tests
nelsonni Mar 5, 2020
a1acae5
Fixed EditorComponent unit tests for AceEditor markers
nelsonni Mar 6, 2020
0999659
Updated CardComponent unit tests
nelsonni Mar 6, 2020
db9c99c
DiffPickerDialog tests include click, escape key, and event triggers
nelsonni Mar 11, 2020
0292d52
finished react file explorer
jettseale Mar 11, 2020
3eb8dd4
fixed tests for file explorer
jettseale Mar 12, 2020
1c19944
made changes requested in comments
jettseale Mar 12, 2020
24f7542
Merge pull request #92 from EPICLab/reactFileExplorer
nelsonni Mar 12, 2020
6b8c681
Updated Redux Store Mock for proper initialization
nelsonni Mar 12, 2020
381a385
Remove branch restrictions for running Travis CI jobs on PRs
nelsonni Mar 12, 2020
035cab5
Updated dependency pathing, removed package-lock.json which is genera…
nelsonni Mar 12, 2020
c19bd2f
Fix for build errors caused by Travis CI pulling in the latest versio…
nelsonni Mar 14, 2020
5dd6435
Travis config updated to bump minimum version from 8 to 10 for node, …
nelsonni Mar 14, 2020
dbb2111
Fix for ESLint rule no-mocks-import when using reduxStoreMock in Reac…
nelsonni Mar 16, 2020
fb590cb
Adding executableName to Electron-Forge configs, per error messages t…
nelsonni Mar 16, 2020
113d12a
Electron-Forge config clean-up and Windows platform configured for Tr…
nelsonni Mar 16, 2020
c984509
Travis CI config updates to update OSX to xcode11.3, temporarily allo…
nelsonni Mar 16, 2020
772c340
Forced merge from feature/react-refactor to development branch
nelsonni Mar 16, 2020
a4d3bde
Merge pull request #93 from EPICLab/feature/react-refactor
nelsonni Mar 17, 2020
6be216e
Documentation and linting rule updates
nelsonni Mar 18, 2020
b82e748
Replaced filetree.extractFileTreeNames with io.readDirAsyncDeep
nelsonni Mar 21, 2020
5487829
Git API switched from return tuples to named JS objects
nelsonni Mar 30, 2020
d0f0919
IO javadocs updated and new extractDirname fn
nelsonni Mar 30, 2020
e99e8a9
Metadir type and loadFE handler removed
nelsonni Mar 30, 2020
cb5886c
Metafile extraction returns array of Redux actions to be dispatched
nelsonni Mar 30, 2020
80daed2
FileExplorer component simplified, FilePicker allows directories to h…
nelsonni Mar 30, 2020
ba074f4
CONTRIBUTING file updated with Hooks API and Jest Matchers documentat…
nelsonni Mar 30, 2020
7d9de9f
Merge pull request #97 from EPICLab/feature/consolidated-filepicker
nelsonni Mar 31, 2020
d49bf95
Minor changes
kberba Apr 17, 2020
17b84f3
Browser dialog button progress
jettseale Apr 17, 2020
8f4a6ef
Update BrowserDialog.tsx
kberba Apr 21, 2020
5dac583
Open Browser Button opens a url input dialog
kberba Apr 22, 2020
2746a9e
Updated Browser Dialog
kberba Apr 22, 2020
fc3be3d
Removed Browser type and reducer
kberba Apr 22, 2020
c46408d
Changes to BrowserDialog
kberba Apr 29, 2020
8e771bf
Webview works -- website shows up in browser card
kberba Apr 29, 2020
45ac478
Checkpoint: Back, Forward, and Reload buttons work!
kberba May 6, 2020
13930a9
Added icons for button functionality
kberba May 14, 2020
ad65459
Add bookmark button and top of page button - still not working
kberba May 18, 2020
459ad8d
Forward and backwards buttons now work with the url history
kberba May 19, 2020
aec628d
Deleted extra browser file and renamed BrowserDialog to Browser
kberba May 19, 2020
3412c07
Adding bookmarks now works. URLs are remembered as bookmarks even whe…
kberba May 20, 2020
4808e30
Add a check to prevent duplicate urls from being added as bookmarks
kberba May 20, 2020
d3a9a75
Removing commented out code not being used
kberba May 27, 2020
c591ba7
Fixed webview to fit in the card
kberba May 27, 2020
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
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ignore all project config files
*.config.js

# ignore all webpack config files
webpack.*.js
88 changes: 88 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
module.exports = {
env: {
node: true,
es2017: true,
jest: true
},
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 2017,
sourceType: "module",
jsx: true,
ecmaFeatures: {
jsx: true
},
useJSXTextNode: true,
project: './tsconfig.json'
},
plugins: [
"@typescript-eslint",
"react",
"react-hooks",
"jest"
],
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended",
"plugin:jest/recommended",
"plugin:jest/style",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript"
],
settings: {
"import/core-modules": ["electron"], // https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importcore-modules
"import/resolver": { // https://github.com/benmosher/eslint-plugin-import#resolvers
node: {
extensions: [".js", ".jsx", ".ts", ".d.ts", ".tsx"]
}
},
"import/ignore": [".scss", ".less", ".css"], // eslint-plugin-import can't parse unprocessed CSS modules
"import/no-unresolved": {
ignore: ["\.scss$", "\.less$", "\.css$"] // https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unresolved.md#ignore
}
,
react: {
pragma: "React",
version: "detect"
}
},
rules: {
/**
* @description Rules of @eslint
*/
// "max-len": ["error", {
// "code": 120,
// "tabWidth": 2,
// "comments": 120,
// "ignoreTrailingComments": true
// }],

/**
* @description Rules of @typescript-eslint
*/
"@typescript-eslint/explicit-function-return-type": "off",

/**
* @description Rules of eslint-plugin-react
*/
"react/prop-types": [0], // disabled checks for PropTypes blocks: https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md
"react/jsx-filename-extension": ["warn", {
"extensions": [".jsx", ".tsx"]
}],

/**
* @description Rules of eslint-plugin-react-hooks
*/
"react-hooks/rules-of-hooks": "error", // enforces adherence to the Rules of Hooks: https://reactjs.org/docs/hooks-rules.html
"react-hooks/exhaustive-deps": "warn", // described in this thread: https://github.com/facebook/react/issues/14920

/**
* @description Rules of eslint-plugin-jest
*/
"jest/no-disabled-tests": "warn",
"jest/no-mocks-import": "off"
}
}
55 changes: 55 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Contributing Code

All Synectic development should occur on purpose-specific branches that originate from the `development` branch, and when finished are submitted back to `development` through a pull request. The specific infrastructure and dependencies included in Synectic, along with descriptions of why each component is included and how it is configured, are found in the [DESIGN](DESIGN.md) document.

## Versioning

Synectic adheres to the [Semantic Versioning 2.0.0](https://semver.org/) standard (also known as `SemVer`), which states that:
```
Given a version number MAJOR.MINOR.PATCH, increment the:
1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards compatible manner, and
3. PATCH version when you make backwards compatible bug fixes.
```
When contributing a pull request to `development`, please select all version changes that are warranted based upon your proposed changes.

## Recommended Development Workflow

The following steps represent the preferred development workflow, and include details about contribution requirements:

1. Create a branch from `development` which has a name using either the `fix/` or `feature/` prefix followed by a brief descriptor (e.g. `fix/signin-issue` or `feature/file-explorer-card`). If your branch name includes multiple items, this is a strong indicator that they should be split into multiple branches and developed separately.

2. Develop code and commit to your branch using commit messages that provide a brief context for the underlying changes (e.g. *"adds enable/disable boolean parameter to draggable function"* or *"fixes infinite loop in Card initialization"*). Wherever possible, avoid adding [platform dependent code](http://flight-manual.atom.io/hacking-atom/sections/cross-platform-compatibility/).

3. Add additional [Jest](https://jestjs.io/) and [Enzyme](https://airbnb.io/enzyme/) tests to the `__test__` directory for any new or modified functionality within Synectic. Pull requests will not be submitted with failing or missing tests.

4. Verify JavaScript, TypeScript, and React code meets the project standards for readability, maintainability, and no functionality errors according to [ESLint]([ESLint](https://eslint.org/)) (`yarn lint`).

5. When code is complete, submit a pull request to the `development` branch. Use the *PULL_REQUEST_TEMPLATE* to provide the necessary descriptions for your PR, and link all related GitHub issues to the PR by using the *"This PR resolves #[XXXX], ..."* line to include the issue numbers (GitHub automatically adds the appropriate URLs for each issue).

6. The new PR will automatically trigger a [Travis-CI](https://travis-ci.org/nelsonni/synectic) build to verify that the code included in your PR will compile, passes all tests and linting rules, and will properly build MacOS, Linux, and Windows application distribution packages. Any issues in the CI build must be fixed within your branch and pushed to GitHub so that a new CI build can be triggered.

7. Once your PR has passed all tests and checks included in the CI build system, you will need to receive at least one code review and approval from a lead project maintainer. You can request code reviews from project members within the GitHub pull request interface (["Requesting a pull request review"](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review)). This process can require multiple rounds of comments and change requests from the reviewers.

8. Any merge conflicts that arise between your PR and `development` must be fixed within your branch. This can occur when your PR becomes stale (i.e. new commits that conflict with your code are added to the `development` branch after you created your PR). Unfortunately, this is a common downside of distribution version control (["Pull Requests: The Good, The Bad and The Ugly"](http://allyouneedisbackend.com/blog/2017/08/24/pull-requests-good-bad-and-ugly/)). You will need to refactor your code so that any merge conflicts are resolved, and new or modificed functionality is incorporated with your changes.

9. If all requirements listed above are met, then your PR should automatically merge into the `development` branch. The commits included in your PR will be squashed into a single commit that uses your PR description as the commit message, and further development on the branch used for that PR should be halted (a new branch with an appropriate branch name should be created instead).

# Recommended Developer References

Several sections of the Synectic API include advanced TypeScript and React features and the codebase can be difficult to understand for a newcomer, therefore the following references are compiled here for reading as needed:

* [TypeScript Deep Dive: Iterators](https://basarat.gitbooks.io/typescript/docs/iterators.html)
* [Simplify your JavaScript - Use `.map()`, `.reduce()`, and `.filter()`](https://medium.com/poka-techblog/simplify-your-javascript-use-map-reduce-and-filter-bd02c593cc2d)
* [Using `Async/Await` with Typescript Classes](http://ivanbatic.com/using-async-await-typescript-classes/)
* [Keep Your Promises in TypeScript using `async/await`](https://blog.bitsrc.io/keep-your-promises-in-typescript-using-async-await-7bdc57041308)
* [Asynchronous Processing with TypeScript and Generic Promises](https://visualstudiomagazine.com/articles/2015/03/01/asynchronous-processing.aspx)
* [TypeScript 2.1: `keyof` and Lookup Types](https://mariusschulz.com/blog/typescript-2-1-keyof-and-lookup-types)
* [YouTube: React Today and Tomorrow and 90% Cleaner React With Hooks](https://www.youtube.com/watch?v=dpw9EHDh2bM)
* [React: Refs and the DOM](https://reactjs.org/docs/refs-and-the-dom.html)
* [React: Building Your Own Hooks](https://reactjs.org/docs/hooks-custom.html)
* [React Higher-Order Components in TypeScript](https://medium.com/@jrwebdev/react-higher-order-component-patterns-in-typescript-42278f7590fb)
* [Unit Testing using Jest with TypeScript](https://basarat.gitbooks.io/typescript/docs/testing/jest.html)
* [Testing TypeScript with Jest](https://rjzaworski.com/2016/12/testing-typescript-with-jest)
* [Tutorial: TypeScript, React, and Redux](https://rjzaworski.com/2016/08/typescript-redux-and-react)
* [Testing React Components: Complete Guide](https://www.freecodecamp.org/news/testing-react-hooks/)
25 changes: 25 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
### **Description**:

*[Briefly describe the overall purpose of the included changes and their effect on the overall project.]*

This PR resolves #*[XXXX]*, and signifies the following version changes:
* [ ] MAJOR version increase
* [ ] MINOR version increase
* [ ] PATCH version increase

### **Changes**:

This PR makes the following changes:
* *[Provide a brief descriptive statement for each change, e.g. "Adds `react-hooks/rules-of-hooks` to ESLint for verifying React Rule of Hooks"]*
* *[Include as many descriptive statements as necessary to describe all proposed changes]*

### **Checklist**:

Before submitting this PR, I have verified that my code:
* [ ] Resides on a `fix/` or `feature/` branch that was initially branched off from `development`.
* [ ] Passes code linting (`yarn lint`) and unit testing (`yarn test`).
* [ ] Successfully builds a distribution package (`yarn package`).

Additionally, I have verified that:
* [ ] My name is listed in the [Contributors](README.md#contributors) section, or this PR includes a request to add my name.
* [ ] I have read and am aware of the [CONTRIBUTING](CONTRIBUTING.md) guide for this project.
88 changes: 44 additions & 44 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
# Mac-specific file metadata
# OSX
.DS_Store

# Logs
logs
*.log
npm-debug.log*

# Runtime data
pids
*.pid
*.seed

# Directory for project files generated by IntelliJ Platform tools
.idea/

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules
jspm_packages

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Temporary JavaScript builds
dist
# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
xcshareddata

# Android/IntelliJ
build/
.idea
.gradle
local.properties
*.iml

# node.js
node_modules/
npm-debug.log
yarn-error.log

# Bundle artifact
*.jsbundle

# Electron-Forge
.webpack
out/

# CSS-Modules-Typescript-Loader
*.css.d.ts

# Jest code coverage
coverage/
43 changes: 33 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,45 @@
language: node_js
node_js:
- node
- 8
- 10
os:
- osx
- linux
- osx
- windows
jobs:
allow_failures:
- os: linux
- os: windows
dist: xenial
osx_image: xcode11.3
env:
- TARGET_ARCH=x64

cache:
npm: true
directories:
- $HOME/.cache/electron

addons:
apt:
packages:
- fakeroot
- rpm

# restrict Travis-CI builds to specific branches only
# branches:
# only:
# - master
# - /^v\d+\.\d+\.\d+/

before_install:
- export DISPLAY=:99.0
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
install:
- npm install --no-progress
- yarn install
- yarn upgrade

script:
- npm test
branches:
only:
- master
- development
notifications:
email: false
- yarn lint
- if test -z "$TRAVIS_TAG"; then yarn make; fi
after_success: if test -n "$TRAVIS_TAG"; then yarn publish; fi
26 changes: 26 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"editor.formatOnSave": true,
"eslint.autoFixOnSave": true,
"eslint.validate": [
{
"language": "javascript",
"autoFix": true
},
{
"language": "javascriptreact",
"autoFix": true
},
{
"language": "typescript",
"autoFix": true
},
{
"language": "typescriptreact",
"autoFix": true
}
],
"typescript.tsdk": "node_modules/typescript/lib",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
Loading
0