You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-desktop/test
Scott Nonnenberg c6c3b65bbc
Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219)
Quite a bit of change here.

First, the basics:

- New dependencies were added: react, typescript, tslint, and react-styleguidist
- A new npm script: transpile. It uses typescript to process .tsx files in js/react, putting .js files next to the original file. It's part of the watch functionality of grunt dev as well as the default task run with just grunt (used to build the app prior to release). A lighter-weight to get watch behavior when just working on React components is to run yarn transpile --watch.
- yarn run clean-transpile will remove generated .js files


Style guide via react-styleguidist. Example site: https://react-styleguidist.js.org/examples/basic/

- Start with yarn styleguide
- Component.md files right next to the .tsx file
- jsdoc-style comments are picked up and added to the generated part of the styleguide - the overall summary and a table listing methods and properties of the component
- It has hot-reloading!
- It uses webpack, which means that our app now pulls in webpack though we don't use it to generate anything for the production app.
- I did a bunch of work to enable the use of Backbone views in this context, which will allow us to move smoothly from the old world to the new. First, add all the permutations in the old way, and then slowly start to re-render those same views with React.

A bit of dependency cleanup to enable use in React components:

- moment was moved from our Bower dependencies to our npm dependencies, so it can be used in React components not running in a browser window.
- i18n was moved into the new commonjs format, so it can be used in React components even if window is not available.

Lastly, a bit of Gruntfile cleanup:

- Removal of Chrome App-era modifications of background.js
- Make jshint/jscs watch more targeted, since more and more we'll be using other tools
7 years ago
..
app Add `Attachments.createWriteForExisting` 7 years ago
models Introduce intl-friendly sort order for contact lists (#1900) 7 years ago
modules Rename `createImporter` to `createAttachmentDataWriter` 7 years ago
server/app Security: Replace Unicode order overrides in attachment names 7 years ago
styleguide window.Signal.React -> window.Signal.Components 7 years ago
views issue-2023: introduce unit tests for inbox view 7 years ago
.eslintrc.js Clean logs on start - and eslint/mocha with code coverage (#1945) 7 years ago
_test.js Run migrations before clearing database during tests 7 years ago
backup_test.js Encryption support for backup and restore 7 years ago
blanket_mocha.js Fix blanket popup 11 years ago
conversation_controller_test.js Introduce intl-friendly sort order for contact lists (#1900) 7 years ago
crypto_test.js Encryption support for backup and restore 7 years ago
database_test.js Refactor: db tasks to database.js, log delete to modules/logs.js 7 years ago
emoji_util_test.js Upgrade emoji support (#1482) 8 years ago
fixtures.js Improve fixtures, restore InboxView rendering on the test page (#1562) 8 years ago
fixtures_test.js Improve fixtures, restore InboxView rendering on the test page (#1562) 8 years ago
i18n_test.js Update style of i18n, pull it in via preload instead of .html 7 years ago
index.html Full styleguide now available via `yarn styleguide` 7 years ago
keychange_listener_test.js Rename `createTemporary` to `dangerouslyCreateAndAdd` 7 years ago
libphonenumber_util_test.js Refactor number parsing and validation 9 years ago
manual.txt Add manual test scenarios for remembering window state 8 years ago
reliable_trigger_test.js Override Backbone's trigger with one that catches exceptions 8 years ago
spellcheck_test.js Add spellcheck smoke test 8 years ago
storage_test.js Remove all mention of obsolete safety-number-approval setting 7 years ago