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

Vue rewrite #748

Merged
merged 135 commits into from
Oct 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
b036d30
Vue Rewrite
May 15, 2022
40d9c35
[Vue Rewrite] Fix CI Jobs (#1816)
devlinjunker Jun 9, 2022
f1668df
[Vue Rewrite] Enable Typescript Vue Components (#1831)
devlinjunker Jul 4, 2022
42e9b47
change linting rule from spaces to tabs to match typical vue linting
devlinjunker Jul 1, 2022
a59f0fd
remove unecessary eslint rule
devlinjunker Jul 1, 2022
56ffba7
revert feeds.en.json
devlinjunker Sep 30, 2022
a71fc67
fix editor config and spaces inside of quotes
devlinjunker Oct 3, 2022
d248289
move all components to typescript 'Vue.extend({ ... ' syntax
devlinjunker Jul 1, 2022
fe62ff2
move types to separate files
devlinjunker Jul 1, 2022
08d12e5
running single test
devlinjunker Sep 30, 2022
a81cd40
clean up linting errors
devlinjunker Oct 3, 2022
902ff04
outline Sidebar specs
devlinjunker Oct 3, 2022
6557bb2
test file for each component
devlinjunker Oct 7, 2022
2be4f28
use newer libraries and clean up eslint
devlinjunker Oct 27, 2022
182897b
clean up dependencies
devlinjunker Oct 27, 2022
431236b
more package cleanup and some basic tests for Sidebar
devlinjunker Oct 27, 2022
3bf3bc1
fix tests with proper mocking
devlinjunker Oct 27, 2022
3138412
import -> require
devlinjunker Oct 27, 2022
d7aa5e1
fix linting
devlinjunker Oct 27, 2022
0fe2d49
update changelog
devlinjunker Oct 27, 2022
760c442
remove unecessary lines
devlinjunker Nov 1, 2022
c6b4bcc
upmerging master into vue-rewrite
devlinjunker Nov 10, 2022
7753837
ensure admin settings page is working
devlinjunker Nov 10, 2022
e4ada33
run npm install with node 18
devlinjunker Nov 10, 2022
234b975
fix linting
devlinjunker Nov 11, 2022
095176f
fix extraneous import error
devlinjunker Nov 11, 2022
167e7b6
Merge branch 'master' into vue-rewrite
Grotax Nov 21, 2022
8351293
update language files from master
Grotax Nov 21, 2022
01d15ae
fix admin page getRequestToken() call
devlinjunker Nov 17, 2022
a12e334
add unit tests for admin settings
devlinjunker Nov 21, 2022
208cfa8
add unit tests for admin settings
devlinjunker Nov 22, 2022
5bf6407
add back translate to admin main js file
devlinjunker Nov 22, 2022
c61d4bb
use single quotes
devlinjunker Nov 22, 2022
b77284d
clean
devlinjunker Nov 22, 2022
db8b4af
move to dev dependencies
devlinjunker Nov 23, 2022
604e4e0
moved store to separate file and started using constants for action/m…
devlinjunker Nov 28, 2022
83fe713
split store into multiple files
devlinjunker Nov 29, 2022
c522bac
cleanup and renaming
devlinjunker Nov 29, 2022
c0bc5ec
clean
devlinjunker Nov 29, 2022
28ead9d
modularize store files and fix unit tests
devlinjunker Nov 29, 2022
f657698
working unit test for local computed state
devlinjunker Nov 29, 2022
8131604
lint the .ts and spec.ts files also
devlinjunker Dec 1, 2022
4899be3
add more tests
devlinjunker Dec 3, 2022
2c32ea0
start on state/store tests
devlinjunker Dec 3, 2022
e61fb48
basic tests for store
devlinjunker Dec 4, 2022
404b636
clean
devlinjunker Dec 4, 2022
4fb5426
clean up linting warnings
devlinjunker Dec 4, 2022
c975b93
clean
devlinjunker Dec 4, 2022
d9532e3
clean up commented out lines
devlinjunker Dec 4, 2022
05ad544
lint
devlinjunker Dec 4, 2022
cec1827
fix admin tests
devlinjunker Dec 4, 2022
f517bc3
split out routing and add another route
devlinjunker Dec 4, 2022
450047e
rename to typescript file
devlinjunker Dec 15, 2022
923f986
upmerged from master
devlinjunker Aug 6, 2023
eeb0638
fix unit test and linting errors
devlinjunker Aug 6, 2023
b9a5887
resolve build issues
devlinjunker Aug 7, 2023
9a047cb
minimum nextcloud version supported is 27
devlinjunker Aug 8, 2023
10c8917
add feed pretty much works
devlinjunker Aug 6, 2023
67d687c
cleanup of angular directives
devlinjunker Aug 7, 2023
9b11141
clean up
devlinjunker Aug 7, 2023
0b4232c
fix formatting
devlinjunker Aug 7, 2023
9377e89
finished unit tests
devlinjunker Aug 8, 2023
8fe0bb2
fix indentation
devlinjunker Aug 8, 2023
770720a
clean up comments
devlinjunker Aug 8, 2023
da782c0
fix indentation
devlinjunker Aug 8, 2023
2287835
use eslint --fix to clean up linting errors
devlinjunker Aug 8, 2023
3f1fb5b
fix add + create folder
devlinjunker Aug 8, 2023
790701a
fix wrong property
devlinjunker Aug 9, 2023
e559cb3
fix linting errors
devlinjunker Aug 9, 2023
9c79d64
fix php unit test
devlinjunker Aug 9, 2023
0dd27dd
started on fetching starred items from backend and displaying with fo…
devlinjunker Aug 9, 2023
6693681
basic starred items list with VirtualScroll component
devlinjunker Aug 15, 2023
05e2e73
some cleanup and improvements
devlinjunker Aug 15, 2023
41213ad
css effects
devlinjunker Aug 15, 2023
d14dbe3
match style from current app
devlinjunker Aug 15, 2023
99a08b3
start on user actions and some more cleanup
devlinjunker Aug 16, 2023
4fa0a87
connect actions to backend
devlinjunker Aug 16, 2023
0bfb616
cleanup unused stuff
devlinjunker Aug 16, 2023
efb1ac2
basic unit tests
devlinjunker Aug 16, 2023
9272190
add unread route and component
devlinjunker Aug 21, 2023
726c157
cleanup and rename FeedItemRow component
devlinjunker Aug 21, 2023
fd72a20
add logic to fetch more starred
devlinjunker Aug 21, 2023
26488e8
Add FeedItemDisplayList component
devlinjunker Aug 22, 2023
3f34e3d
css tweaks
devlinjunker Aug 23, 2023
8183510
More cleanup and started on unit tests
devlinjunker Aug 24, 2023
d4d20e9
Add more unit tests and all passing
devlinjunker Aug 25, 2023
bb154d0
add Feed component and filtering in FeedItemDisplayList
devlinjunker Aug 25, 2023
83f99de
basic unit tests
devlinjunker Aug 27, 2023
a3077f1
fix loading bug and move to feed-display directory
devlinjunker Aug 31, 2023
6111aca
add comments and remove start parameter
devlinjunker Aug 31, 2023
e2e8ae5
move backend call details to services
devlinjunker Sep 1, 2023
5caefba
add routes for folder items and all items
devlinjunker Sep 1, 2023
7e21dc8
cleanup sidebar and translations
devlinjunker Sep 3, 2023
dce0701
add unit tests and little more cleanup of uncessary lines
devlinjunker Sep 4, 2023
fe03478
start hooking up actions to backend
devlinjunker Sep 7, 2023
9d629b9
adding pinned feeds
devlinjunker Sep 14, 2023
4b24d05
3 more feed actions
devlinjunker Sep 14, 2023
ac33e7c
remaining feed actions
devlinjunker Sep 14, 2023
4f5004e
all sidebar actions working
devlinjunker Sep 15, 2023
eb9dd0a
confirm mark all read and feed counter inside folder
devlinjunker Sep 15, 2023
b234f33
start on tests
devlinjunker Sep 15, 2023
6aa282d
store tests
devlinjunker Sep 16, 2023
84e891b
finish unit tests
devlinjunker Sep 16, 2023
a2ad3df
add all icons
devlinjunker Sep 16, 2023
2ebd898
ignore vue files for stylelint (probably need to remove old css files…
devlinjunker Sep 18, 2023
b7179b5
working share component
devlinjunker Sep 26, 2023
816ef83
reuse ShareItem component in FeedItemDisplay
devlinjunker Sep 26, 2023
74eb315
use translation method params for relative timestamp
devlinjunker Sep 26, 2023
ba9d512
tests
devlinjunker Sep 26, 2023
e16ab4a
add warning message generated with PHP, also check for subcribe_to pa…
devlinjunker Sep 25, 2023
2c7ffa8
fix tests
devlinjunker Sep 27, 2023
e6f5edb
fix whitespace
devlinjunker Sep 28, 2023
0aa4b10
Merge branch 'vue-rewrite' into share-item
devlinjunker Oct 1, 2023
883b7b5
fix length of line
devlinjunker Oct 3, 2023
bcb3dcb
Merge pull request #2361 from devlinjunker/share-item
devlinjunker Oct 4, 2023
ed69499
tested with audio and video feeds
devlinjunker Sep 28, 2023
b6a4293
add unit tests
devlinjunker Sep 28, 2023
06e373b
start on mobile view
devlinjunker Oct 5, 2023
2ed0df3
add box-shadow and other cleanups
devlinjunker Oct 5, 2023
2309c80
remove unecessary class
devlinjunker Oct 5, 2023
e737236
smaller date font size
devlinjunker Oct 5, 2023
00d1d65
display vue errors and axios errors in top right popover
devlinjunker Oct 4, 2023
498c001
cleanup
devlinjunker Oct 4, 2023
991facf
tests and some cleanup
devlinjunker Oct 5, 2023
60f319f
make ActionParams generic to make it clear what is available in each …
devlinjunker Oct 5, 2023
f576eb4
fix flex properties to avoid media queries
devlinjunker Oct 10, 2023
dff06a4
Merge branch 'vue-rewrite' into mobile-friendly-styles
devlinjunker Oct 10, 2023
ed62d3e
cleaning up explore page
devlinjunker Oct 4, 2023
30e4e9b
copy files from explore.scss file
devlinjunker Oct 10, 2023
0a2ecc2
Merge pull request #2371 from devlinjunker/mobile-friendly-styles
devlinjunker Oct 16, 2023
ab4f941
start documentation rewrite
devlinjunker Oct 16, 2023
9cab235
fix bug using php template for warning message
devlinjunker Oct 16, 2023
94f04d4
cleanup old cron stuff and make cron-warning.js part of build so it c…
devlinjunker Oct 16, 2023
3e35d78
Merge remote-tracking branch 'nextcloud/master' into master-merge
devlinjunker Oct 22, 2023
02c9fff
Merge pull request #2385 from devlinjunker/master-merge
Grotax Oct 24, 2023
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
7 changes: 6 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,16 @@ trim_trailing_whitespace = true
end_of_line = lf
insert_final_newline = true

[*.{js,php,html}]
[*.{php,html,css}]
indent_style = space
indent_size = 4
charset = utf-8

[*.{js,ts,vue}]
indent_style = tab
indent_size = 4
charset = utf-8

[*.bats]
indent_style = space
indent_size = 2
Expand Down
51 changes: 48 additions & 3 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,52 @@
// SPDX-FileCopyrightText: Carl Schwan <[email protected]>
// SPDX-License-Identifier: AGPL-3.0-or-later
module.exports = {
root: true,
parser: 'vue-eslint-parser',
parserOptions: {
parser: {
ts: '@typescript-eslint/parser',
},
ecmaVersion: 2020,
},
env: {
jest: true,
},
extends: [
'eslint:recommended',
'plugin:vue/base',
'plugin:vue/essential',
'@vue/standard',
'@vue/typescript/recommended',
'@nextcloud',
]
'plugin:@typescript-eslint/recommended',
],
ignorePatterns: ['*.d.ts', 'l10n/*.js'],
rules: {
'no-console': 'warn',
'@typescript-eslint/no-var-requires': 'off',

// TODO: Trouble importing .ts files into .vue files for some reason?
'import/extensions': 'off',
'n/no-missing-import': 'off',
},
settings: {
'import/resolver': {
node: {
extensions: ['.ts'],
},
},
},
overrides: [
{
files: ['*spec.ts', 'tests/javascript/unit/setup.ts'],
rules: {
'@typescript-eslint/no-explicit-any': 'off',
},
},
{
files: ['src/store/*.ts'],
rules: {
'function-paren-newline': ['error', 'multiline'],
},
},
],
}
6 changes: 1 addition & 5 deletions .github/workflows/api-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.0', '8.1']
nextcloud: ['stable26', 'stable27']
nextcloud: ['stable27']
database: ['sqlite', 'pgsql', 'mysql']
experimental: [false]
include:
Expand All @@ -41,10 +41,6 @@ jobs:
nextcloud: pre-release
database: sqlite
experimental: true
- php-versions: 8.2
nextcloud: stable26
database: sqlite
experimental: false
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/api-php-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1']
nextcloud: ['stable26', 'stable27']
nextcloud: ['stable27']
database: ['sqlite']
experimental: [false]
codecoverage: [false]
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Lint

on:
pull_request:
push:
branches:
- master

jobs:
eslint:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x]

name: eslint node${{ matrix.node-versions }}
steps:
- uses: actions/checkout@v2

- name: Set up node ${{ matrix.node-versions }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-versions }}

- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

stylelint:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x]

name: stylelint node${{ matrix.node-versions }}
steps:
- uses: actions/checkout@v2

- name: Set up node ${{ matrix.node-versions }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-versions }}

- name: Install dependencies
run: npm ci

- name: Lint
run: npm run stylelint
14 changes: 11 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@
composer.phar
node_modules/
vendor/
js/build
*.log
/build/
/js/coverage/
js/*.xml
js/
.rvm
*.clover
.phpunit.result.cache
site/
coverage

#bats
tests/api/helpers/settings-override.bash
tests/test_helper/feeds/test.xml
tests/test_helper/feeds/feed1.xml
tests/test_helper/feeds/feed2.xml

#bats
tests/api/helpers/settings-override.bash
Expand Down Expand Up @@ -55,6 +60,9 @@ RCS/*
# netbeans
nbproject

# vscode
.vscode

# phpStorm
.idea

Expand Down
2 changes: 2 additions & 0 deletions .stylelintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
vendor/
coverage/
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
The format is mostly based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), older entries don't fully match.

# Unreleased
## [25.x.x]
### Changed
- Vue Rewrite
# Releases
## [24.x.x]
### Changed
- Set User Agent for curl in Scraper
Expand Down
13 changes: 4 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ npm:
$(npm) ci
$(npm) run build
ifneq (, $(npm))
cd js && $(npm) run build
$(npm) run build
else
@echo "npm command not available, please install nodejs first"
@exit 1
Expand Down Expand Up @@ -173,7 +173,7 @@ appstore:
# on macOS there is no option "--parents" for the "cp" command
mkdir -p $(appstore_sign_dir)/$(app_name)/js/build $(appstore_sign_dir)/$(app_name)/js/admin
cp js/build/app.min.js $(appstore_sign_dir)/$(app_name)/js/build
cp js/build/news-admin-settings.js* $(appstore_sign_dir)/$(app_name)/js/build
cp js/nextcloud-news-admin-settings.js* $(appstore_sign_dir)/$(app_name)/js/build

# export the key and cert to a file
@if [ ! -f $(cert_dir)/$(app_name).key ] || [ ! -f $(cert_dir)/$(app_name).crt ]; then \
Expand Down Expand Up @@ -205,12 +205,7 @@ php-test-dependencies:

.PHONY: unit-test
unit-test:
@if [ "$(CODECOVERAGE)" = "true" ]; then \
./vendor/phpunit/phpunit/phpunit -c phpunit.xml --coverage-clover build/php-unit.clover; \
else \
./vendor/phpunit/phpunit/phpunit -c phpunit.xml --no-coverage; \
fi

./vendor/phpunit/phpunit/phpunit -c phpunit.xml --coverage-clover build/php-unit.clover

# Command for running JS and PHP tests. Works for package.json files in the js/
# and root directory. If phpunit is not installed systemwide, a copy is fetched
Expand All @@ -233,4 +228,4 @@ feed-server:

.PHONY: nextcloud-server
nextcloud-server:
php -S 127.0.0.1:8080 -t $(CURDIR)/../../.
php -S 127.0.0.1:8080 -t $(CURDIR)/../../.
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Report a [feed issue](https://github.com/nextcloud/news/discussions/new)
<lib>json</lib>

<owncloud max-version="0" min-version="0"/>
<nextcloud min-version="26" max-version="27"/>
<nextcloud min-version="27" max-version="27"/>
</dependencies>

<background-jobs>
Expand Down
11 changes: 6 additions & 5 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// SPDX-FileCopyrightText: Carl Schwan <[email protected]>
// SPDX-License-Identifier: AGPL-3.0-or-later
const babelConfig = require('@nextcloud/babel-config')

module.exports = babelConfig
module.exports = {
plugins: [
'@babel/plugin-syntax-dynamic-import',
],
presets: ['@babel/preset-env', '@babel/preset-typescript'],
}
File renamed without changes.
File renamed without changes.
Loading
Loading