diff --git a/Makefile b/Makefile index f1d91fe..2694578 100644 --- a/Makefile +++ b/Makefile @@ -105,9 +105,10 @@ dist: build source: rm -rf $(source_build_directory) mkdir -p $(source_build_directory) - tar --exclude-vcs \ + tar + --exclude-vcs \ --exclude="../$(app_name)/build" \ - --exclude="../$(app_name)/js/node_modules" \ + --exclude="../$(app_name)/node_modules" \ --exclude="../$(app_name)/node_modules" \ --exclude="../$(app_name)/*.log" \ --exclude="../$(app_name)/js/*.log" \ @@ -118,14 +119,15 @@ source: appstore: rm -rf $(appstore_build_directory) mkdir -p $(appstore_build_directory) - tar --exclude-vcs \ + tar + --exclude-vcs \ --exclude="../$(app_name)/build" \ --exclude="../$(app_name)/tests" \ --exclude="../$(app_name)/Makefile" \ --exclude="../$(app_name)/*.log" \ --exclude="../$(app_name)/phpunit*xml" \ --exclude="../$(app_name)/composer.*" \ - --exclude="../$(app_name)/js/node_modules" \ + --exclude="../$(app_name)/node_modules" \ --exclude="../$(app_name)/js/tests" \ --exclude="../$(app_name)/js/test" \ --exclude="../$(app_name)/js/*.log" \ @@ -133,10 +135,20 @@ appstore: --exclude="../$(app_name)/js/bower.json" \ --exclude="../$(app_name)/js/karma.*" \ --exclude="../$(app_name)/js/protractor.*" \ - --exclude="../$(app_name)/package.json" \ + --exclude="../$(app_name)/package*.json" \ --exclude="../$(app_name)/bower.json" \ --exclude="../$(app_name)/karma.*" \ --exclude="../$(app_name)/protractor\.*" \ --exclude="../$(app_name)/.*" \ --exclude="../$(app_name)/js/.*" \ + --exclude="../$(app_name)/src" \ + --exclude="../$(app_name)/stubs" \ + --exclude="../$(app_name)/vendor" \ -cvzf $(appstore_package_name).tar.gz ../$(app_name) + +# Start a nextcloud server on Docker to kickstart developement +.PHONY: appstore +dev: build + docker build -t repod . + docker run -itd -v $(CURDIR):/var/www/html/apps/repod -p 80:80 repod + npm run watch diff --git a/README.md b/README.md index 0242614..8f4e1ee 100644 --- a/README.md +++ b/README.md @@ -1,52 +1,2 @@ -# Re Pod -Place this app in **nextcloud/apps/** +# RePod Nextcloud App -## Building the app - -The app can be built by using the provided Makefile by running: - - make - -This requires the following things to be present: -* make -* which -* tar: for building the archive -* curl: used if phpunit and composer are not installed to fetch them from the web -* npm: for building and testing everything JS, only required if a package.json is placed inside the **js/** folder - -The make command will install or update Composer dependencies if a composer.json is present and also **npm run build** if a package.json is present in the **js/** folder. The npm **build** script should use local paths for build systems and package managers, so people that simply want to build the app won't need to install npm libraries globally, e.g.: - -**package.json**: -```json -"scripts": { - "test": "node node_modules/gulp-cli/bin/gulp.js karma", - "prebuild": "npm install && node_modules/bower/bin/bower install && node_modules/bower/bin/bower update", - "build": "node node_modules/gulp-cli/bin/gulp.js" -} -``` - - -## Publish to App Store - -First get an account for the [App Store](http://apps.nextcloud.com/) then run: - - make && make appstore - -The archive is located in build/artifacts/appstore and can then be uploaded to the App Store. - -## Running tests -You can use the provided Makefile to run all tests by using: - - make test - -This will run the PHP unit and integration tests and if a package.json is present in the **js/** folder will execute **npm run test** - -Of course you can also install [PHPUnit](http://phpunit.de/getting-started.html) and use the configurations directly: - - phpunit -c phpunit.xml - -or: - - phpunit -c phpunit.integration.xml - -for integration tests diff --git a/appinfo/info.xml b/appinfo/info.xml index e117e8e..a362f02 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -7,12 +7,11 @@ - 0.0.1 +You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]> + 1.0.0 agpl Xéfir Destiny RePod diff --git a/package-lock.json b/package-lock.json index 598f09f..c9f8fa9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "repod", - "version": "0.0.1", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "repod", - "version": "0.0.1", + "version": "1.0.0", "license": "agpl", "dependencies": { "@nextcloud/axios": "^2.4.0", @@ -83,11 +83,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "engines": { @@ -460,9 +460,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -473,9 +473,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", - "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz", + "integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -6769,9 +6769,9 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.4.503", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.503.tgz", - "integrity": "sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA==" + "version": "1.4.504", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.504.tgz", + "integrity": "sha512-cSMwIAd8yUh54VwitVRVvHK66QqHWE39C3DRj8SWiXitEpVSY3wNPD9y1pxQtLIi4w3UdzF9klLsmuPshz09DQ==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -8376,16 +8376,16 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -12825,15 +12825,15 @@ } }, "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, diff --git a/package.json b/package.json index 99c8dc1..2378dfb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "repod", "description": "🔊 Browse, manage and listen to podcasts", - "version": "0.0.1", + "version": "1.0.0", "bugs": { "url": "https://git.crystalyx.net/Xefir/RePod/issues" },