Skip to content

Commit 67f418c

Browse files
committed
Merge branch 'release/18.0.0'
2 parents a23fc71 + 888e7c6 commit 67f418c

File tree

778 files changed

+24766
-6314
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

778 files changed

+24766
-6314
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
**/dist
44
**/node_modules
55
**/tmp
6+
public/assets/osf-assets

.eslintrc.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ module.exports = {
2121
'class-methods-use-this': 'off',
2222
'max-len': ['error', { code: 120 }],
2323
strict: 'off',
24-
'ember/named-functions-in-promises': 'off',
2524
'function-paren-newline': ['error', 'consistent'],
2625
'prefer-rest-params': 'error',
2726
'generator-star-spacing': ['error', 'before'],
@@ -31,6 +30,12 @@ module.exports = {
3130
ImportDeclaration: { multiline: true, consistent: true },
3231
ExportDeclaration: { multiline: true, consistent: true },
3332
}],
33+
'ember/named-functions-in-promises': 'off',
34+
'ember/new-module-imports': 'error',
35+
'ember/no-attrs-in-components': 'error',
36+
'ember/no-old-shims': 'error',
37+
'import/prefer-default-export': 'off',
38+
'no-restricted-globals': 'off',
3439
},
3540
overrides: [
3641
{
@@ -52,8 +57,8 @@ module.exports = {
5257
{
5358
files: ['**/*.d.ts'],
5459
rules: {
55-
'no-restricted-globals': 'off',
5660
'no-useless-constructor': 'off',
61+
'space-infix-ops': 'off',
5762
},
5863
},
5964
{
@@ -62,5 +67,11 @@ module.exports = {
6267
'max-len': 'off',
6368
},
6469
},
70+
{
71+
files: ['tests/**/*'],
72+
rules: {
73+
'no-await-in-loop': 'off',
74+
},
75+
},
6576
],
6677
};

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,44 @@
1-
<!-- Before you submit your Pull Request, make sure you picked the right branch:
1+
<!--
2+
Before you submit your Pull Request, make sure you picked the right branch:
3+
- For hotfixes, select "master" as the target branch
4+
- For new features and non-hotfix bugfixes, select "develop" as the target branch
5+
- For release feature fixes, select the relevant release branch (release/X.Y.Z) as the target branch
26
3-
- For hotfixes, select "master" as the target branch
4-
- For new features and non-hotfix bugfixes, select "develop" as the target branch
5-
- For release feature fixes, select the relevant release branch (release/X.Y.Z) as the target branch -->
7+
Ticketd PRs should be prefixed with the ticket id, e.g. `[EMB-123] some really great stuff`
8+
-->
69

710
## Purpose
811

9-
12+
<!-- Describe the purpose of your changes. -->
1013

1114
## Summary of Changes
1215

16+
<!-- Briefly describe or list your changes. -->
17+
18+
## Side Effects
1319

20+
<!-- Any possible side effects? (https://en.wikipedia.org/wiki/Side_effect_%28computer_science%29) -->
1421

15-
## Side Effects / Testing Notes
22+
## Feature Flags
1623

24+
<!--
25+
Please list any feature flags that need to be enabled for these changes to go into effect.
26+
For each flag, what is the expected behavior with the flag enabled vs disabled?
27+
-->
28+
29+
## QA Notes
1730

31+
<!--
32+
Does this change need QA? If so, this section is required.
33+
- What pages should be tested?
34+
- Is cross-browser testing required/recommended?
35+
- What edge cases should QA be aware of?
36+
- What level of risk would you expect these changes to have?
37+
-->
1838

1939
## Ticket
2040

41+
<!-- Link to JIRA ticket. Please indicate unticketed PRs with: `N/A` -->
2142
https://openscience.atlassian.net/browse/EMB-
2243

2344
# Reviewer Checklist

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "public/assets/osf-assets"]
2+
path = public/assets/osf-assets
3+
url = https://github.com/CenterForOpenScience/osf-assets.git

.template-lintrc.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ module.exports = {
77

88
rules: {
99
'block-indentation': 4,
10-
'bare-strings': true,
11-
'nested-interactive': false,
10+
'no-bare-strings': true,
11+
'no-nested-interactive': false,
1212
},
1313

1414
ignore: [

.travis.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ jobs:
3434
- cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
3535

3636
- stage: "deploy handbook"
37-
if: branch = develop AND type != pull_request
37+
if: |
38+
branch = develop AND \
39+
type != pull_request AND \
40+
fork = false
3841
before_install:
3942
- curl -o- -L https://yarnpkg.com/install.sh | bash
4043
- export PATH=$HOME/.yarn/bin:$PATH
@@ -45,8 +48,11 @@ jobs:
4548
- MIRAGE_ENABLED=1
4649
- ROOT_URL=/ember-osf-web/
4750
- ASSETS_PREFIX=/ember-osf-web/
51+
- A11Y_AUDIT=0
4852
script:
49-
- ember build --environment=production && cp dist/index.html dist/404.html
53+
# TODO: switch back to prod build when ember-cli-mirage is fixed: https://github.com/samselikoff/ember-cli-mirage/pull/1376
54+
#- ember build --environment=production && cp dist/index.html dist/404.html
55+
- ember build && cp dist/index.html dist/404.html
5056
deploy:
5157
provider: pages
5258
skip-cleanup: true

.vscode/launch.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@
44
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
55
"version": "0.2.0",
66
"configurations": [
7+
{
8+
"type": "chrome",
9+
"request": "launch",
10+
"name": "Launch Chrome",
11+
"url": "http://localhost:4200/",
12+
"webRoot": "${workspaceFolder}"
13+
},
14+
{
15+
"type": "chrome",
16+
"request": "attach",
17+
"name": "Attach to Chrome",
18+
"port": 9222,
19+
"webRoot": "${workspaceFolder}"
20+
},
721
{
822
"type": "node",
923
"request": "launch",

.vscode/settings.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,16 @@
55
"**/.DS_Store": true,
66
"tmp/**": true,
77
},
8+
"files.watcherExclude": {
9+
"**/.git/**": true,
10+
"**/node_modules/**": true,
11+
"**/tmp/**": true
12+
},
813
"search.exclude": {
914
"**/node_modules": true,
1015
"**/bower_components": true,
1116
"tmp/**": true,
1217
},
18+
"javascript.preferences.importModuleSpecifier": "non-relative",
19+
"typescript.preferences.importModuleSpecifier": "non-relative",
1320
}

CHANGELOG.md

Lines changed: 169 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,152 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7+
## [18.0.0] - 2018-10-24
8+
### Added
9+
- Models:
10+
- `registration-schema` (including related adapter & serializer)
11+
- `token`
12+
- `scope`
13+
- Components:
14+
- `search-help-modal` - you know, the search help modal but as it's own component
15+
- `draft-registration-card` - summary card for draft registrations
16+
- `node-list` - produce a paginated list of nodes from a relationship
17+
- `copyable-text` - display some read-only text with a button to copy it
18+
- `validated-input/checkboxes` - list of checkboxes to choose what belongs in a has-many relation
19+
- `paginated-list/all` - list of all models of a given type
20+
- `osf-header` - the OSF navbar, various banners, and secondary navbar wormhole all wrapped up.
21+
- `hyper-link` - combined `a` and `{{link-to}}` based off the `route` passed in. Supports analytics as well.
22+
- `delete-button` - configurable delete button, including a confirmation modal and scientist name
23+
- `tags-widget` - you know, for tags
24+
- Routes:
25+
- `guid-node/registrations` - registrations tab
26+
- `settings` - includes the settings side nav
27+
- `settings/tokens` - list of personal access tokens
28+
- `settings/tokens/edit`
29+
- `settings/tokens/create`
30+
- `register` - sign up page
31+
- Transforms:
32+
- `fixstringarray` - similar to `fixstring` transform (unencodes special characters), but for string arrays
33+
- Utils:
34+
- `param` - drop-in replacement for jQuery.param
35+
- Helpers:
36+
- `math` - A helper to render TeX statements using KaTeX
37+
- Engines:
38+
- `ember-osf-registries` - moved/upgraded into the registries engine
39+
- `collections` - Add collections engine
40+
- Tests:
41+
- `guid-node/registrations` acceptance test
42+
- `tags-widget` component integration test
43+
- `register` route acceptance test
44+
- `param` util unit test
45+
- Blueprints:
46+
- `osf-model` - creates model, adapter, and serializer for an OSF model
47+
- Types:
48+
- `ember-cli-mirage` - the 70% that seems possible to express in typescript
49+
- Handbook:
50+
- `tags-widget` - added to the handbook
51+
52+
### Changed
53+
- Models:
54+
- `osf-model` - add `relatedCounts` attribute and `loadRelatedCounts()` method
55+
- `registration` - add `archiving` attribute and `registrationSchema` relationship, typed `registeredMeta`
56+
- `draft-registration`
57+
- change `registrationSchema` relationship type to be `registration-schema`
58+
- define inverse for `node` relationship as `draftRegistrations` instead of `null` (required by ember-data 3.4)
59+
- `node`
60+
- added attributes: `preprint: boolean`, `subjects: string[]`, and `currentUserCanComment: boolean`
61+
- use `fixstringarray` transform for `tags` attribute
62+
- `user` - made `middleNames` `string` (was `string[]`), added `suffix: string`, `active: boolean`, `social: {}`
63+
- `file` - use `fixstringarray` transform for `tags` attribute
64+
- `preprint` - define inverse for `node` relationship as `preprints` instead of `null` (required by ember-data 3.4)
65+
- Adapters:
66+
- `draft-registration` - override `urlForCreateRecord()` to `POST` to `nodes/{guid}/draft_registrations`
67+
- Serializers:
68+
- `osf-serializer`:
69+
- populate `relatedCounts` attribute from relationship meta
70+
- allow setting `serialize: true` for an attribute in `FooSerializer.attrs` to guarantee the attribute
71+
will always be serialized, even when not dirty
72+
- Services:
73+
- `route-context` - added ability to pass query params to `setGuid()`/`loadModel()`
74+
- Components:
75+
- `file-renderer` - remove initialWidth MFR parameter
76+
- `node-blurb` - renamed to `node-card`
77+
- `node-card`
78+
- add `registration` type
79+
- add optional tags display
80+
- use placeholder when `node` is not set
81+
- made tagless
82+
- use `tags-widget` component instead of `ember-tag-input` directly
83+
- `encodeURIComponent(tag)` when constructing tags search url
84+
- add `readOnly` argument to force-hide the dropdown controls
85+
- `node-navbar` - use `linkTo` for registrations
86+
- `paginated-relation` renamed to `paginated-list/has-many`
87+
- refactored to allow sharing functionality among different types of list
88+
- add ability to specify placeholders, and pass actions to items for reloading the list
89+
- `paginated-list/layout`, the shared layout component for the other `paginated-list/*`
90+
- `paginated-list/all`, for listing all models of a given type
91+
- `validated-input` - replaced `{{validated-input type='foo'}}` with `{{validated-input/foo}}`,
92+
since the interface varies by type
93+
- `validated-input/checkbox`
94+
- `validated-input/checkboxes` (new!)
95+
- `validated-input/date`
96+
- `validated-input/recaptcha` - added ability to bind action to reset recaptcha
97+
- `validated-input/text`
98+
- `validated-input/textarea`
99+
- `osf-navbar` - modified to yield a list home links for engines to override, if required
100+
- `sign-up-form` - added submit task & user-registration model creation
101+
- `osf-navbar/auth-dropdown` - make Sign Up button transition to register route, if enabled
102+
- Routes:
103+
- `guid-node` - request `forks`, `registrations`, and `draft_registrations` related counts when resolving guid
104+
- `guid-node/forks` - use placeholder for forks list
105+
- `guid-registration` - request `forks` related count when resolving guid
106+
- `guid-registration/forks` - use placeholder for forks list
107+
- `resolve-guid/resolved-guid-route` - pass-through query params to `routeContext.setGuid()`
108+
- `guid-file` - use `tags-widget` component instead of `ember-tag-input` directly
109+
- `home` - remove submit task & user-registration model creation (moved to `sign-up-form` component)
110+
- Engines:
111+
- `analytics-page` - set `readOnly=true` for node-cards in "links to this project" modal
112+
- Tests:
113+
- Removed captcha visibility assertions from logged-out home page test
114+
- Handbook:
115+
- Fix link styling, remove double underline
116+
- Update ember-cli-addon-docs dependency
117+
- Add info for dev-env, testing, visual style, and written style
118+
- Misc:
119+
- install `@cos-forks/ember-content-placeholders`
120+
- upgrade to ember(-(cli|data))@~3.4.0
121+
- don't strip ember-test-selectors from production builds
122+
- DX:
123+
- Have guid-like IDs for mirage factories (nodes and users to start)
124+
- Disabled `space-infix-ops` eslint rule for .d.ts
125+
- Disabled `no-await-in-loop` eslint rule for tests
126+
- Made mirage factories TypeScript and type check them against Ember models
127+
- TypeScripted mirage serializers
128+
- Refactored mirage `node` views relationship lists into single `relationshipList` function
129+
- Augmented mirage types
130+
- Exported `AttributesFor` from `ember-data` types
131+
- Defined `ember-data` `AttributesFor` and `RelationshipsFor` such that they only include `string` keys.
132+
- Improved osf-api types
133+
- Fixed up types for `faker.list.cycle`/`faker.list.random`
134+
- Disable `max-classes-per-file` tslint rule globally
135+
- Increase mirage support for:
136+
- Non-relationship links
137+
- Guid files
138+
- Root user
139+
- Mirage: pass through all requests on current domain
140+
- Fix up template-lint rules for `ember-cli-template-lint` 1.0
141+
- Configure the `attribute-indentation` rule to use 4 spaces and prevent lines > 120 chars
142+
- Enable `no-bare-strings` in place of the deprecated `bare-strings` rule
143+
- Disable `no-nested-interactive` which has replaced `nested-interactive` in the recommended ruleset
144+
145+
### Removed
146+
- Models:
147+
- `metaschema` (including related adapter & serializer)
148+
- Services:
149+
- `file-manager` (including skipped tests and one unused reference)
150+
- Components:
151+
- `search-dropdown` (Unused)
152+
7153
## [0.7.0] - 2018-08-07
8154
### Added
9155
- Models:
@@ -16,7 +162,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
16162
- images for home page
17163
- images for dashboard
18164
- Third-party Packages:
19-
- `qunit-dom` - Better test assetions (especially for hidden things)
165+
- `qunit-dom` - Better test assertions (especially for hidden things)
20166
- `ember-test-selectors` - Find things in your dom without messing everything up
21167
- Tests:
22168
- `dashboard` - more application tests
@@ -204,7 +350,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
204350
- Node navbar: to accompany all node pages
205351
- Status Banner: shows status messages
206352
- Maintenance Banner: shows maintenance messages
207-
- TypeScript: Add ember-cli-typscript and ember-cli-tslint
353+
- TypeScript: Add ember-cli-typescript and ember-cli-tslint
208354
- CSS: Add `_typography.scss` with responsive font styling and `_accessibility.scss` for accessibility-related styling
209355
- Addon: ember-a11y-testing
210356
- Test: make sure all translations files contain all terms
@@ -253,3 +399,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
253399
## [0.1.0] - 2018-02-07
254400
### Added
255401
- Quick Files
402+
403+
[Unreleased]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.7.0...HEAD
404+
[0.7.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.6.1...0.7.0
405+
[0.6.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.6.0...0.6.1
406+
[0.6.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.5.2...0.6.1
407+
[0.5.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.5.1...0.5.2
408+
[0.5.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.5.0...0.5.1
409+
[0.5.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.4.1...0.5.0
410+
[0.4.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.4.0...0.4.1
411+
[0.4.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.7...0.4.0
412+
[0.3.7]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.6...0.3.7
413+
[0.3.6]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.5...0.3.6
414+
[0.3.5]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.4...0.3.5
415+
[0.3.4]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.3...0.3.4
416+
[0.3.3]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.2...0.3.3
417+
[0.3.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.1...0.3.2
418+
[0.3.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.0...0.3.1
419+
[0.3.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.2.0...0.3.0
420+
[0.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.1.1...0.2.0
421+
[0.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.1.0...0.1.1
422+
[0.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/7dad0d13c0253de88720dd058e96e11905d56911...0.1.0

Dockerfile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ RUN yarn --frozen-lockfile
66

77
COPY ./ ./
88

9+
ARG ASSETS_BRANCH='master'
910
ARG GIT_COMMIT=
10-
ENV GIT_COMMIT ${GIT_COMMIT}
1111

12-
RUN yarn build --environment=production
12+
ENV GIT_COMMIT=${GIT_COMMIT}
13+
14+
RUN git clone https://github.com/CenterForOpenScience/osf-assets.git ./public/assets/osf-assets/ \
15+
--branch ${ASSETS_BRANCH} \
16+
--single-branch \
17+
&& yarn build --environment=production
1318

1419
### Dist
1520
FROM node:8-alpine AS dist

0 commit comments

Comments
 (0)