Skip to content

Commit 6c59951

Browse files
author
Manga Download
committed
Reset Commit History
0 parents  commit 6c59951

3,288 files changed

Lines changed: 218745 additions & 0 deletions

File tree

Some content is hidden

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

.azure/pipelines/ci.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
pr: none
2+
trigger:
3+
batch: true
4+
branches:
5+
include:
6+
- master
7+
8+
jobs:
9+
- job: 'CI'
10+
strategy:
11+
matrix: {
12+
Windows: { agent: windows-latest },
13+
Ubuntu: { agent: ubuntu-latest },
14+
macOS: { agent: macOS-latest },
15+
}
16+
pool:
17+
vmImage: $(agent)
18+
variables:
19+
display: ':99' # This will also set the environment variable 'DISPLAY=:99' required for apps to connect to the X-Server
20+
steps:
21+
22+
# Running electron on Ubuntu requires an X-server:
23+
# https://github.com/Microsoft/azure-pipelines-image-generation/issues/239
24+
# It is also possible to use X-Server for just a single command:
25+
# https://manpages.ubuntu.com/manpages/trusty/man1/xvfb-run.1.html
26+
# This snippet was partially stolen from VSCode to support running electron on Ubuntu
27+
- script: |
28+
#sudo apt-get update
29+
#sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgconf-2-4
30+
sudo /usr/bin/Xvfb -ac $(display) -screen 0 1920x1080x24 > /dev/null 2>&1 &
31+
disown -ar # remove all running jobs (e.g. xvfb) from the job table of this bash process
32+
condition: startsWith(variables['agent'], 'ubuntu')
33+
displayName: 'Starting X Virtual Frame Buffer (Port 99)'
34+
35+
- task: NodeTool@0
36+
inputs:
37+
versionSpec: '10.x'
38+
displayName: 'Install NodeJS'
39+
40+
- task: Npm@1
41+
inputs:
42+
command: install
43+
displayName: 'Install NPM Packages'
44+
45+
- script: npm run lint
46+
displayName: 'Lint'
47+
48+
- script: npm run build:web
49+
displayName: 'Build (web)'
50+
51+
- script: npm run test
52+
continueOnError: true
53+
displayName: 'Test'
54+
55+
- task: PublishTestResults@2
56+
inputs:
57+
testResultsFormat: 'JUnit'
58+
testResultsFiles: '**/junit.xml'
59+
mergeTestResults: true
60+
testRunTitle: 'TestResults_$(Agent.OS)'
61+
buildConfiguration: $(Agent.OS)
62+
buildPlatform: $(Agent.OSArchitecture)
63+
displayName: 'Publish Test Results'
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Microsoft Azure Build Pipeline Templates/Jobs
2+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops
3+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/artifacts-overview?view=azure-devops
4+
5+
steps:
6+
7+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops
8+
#- script: echo '##vso[task.setvariable variable=SourceVersionShort]$(Build.SourceVersion | cut -c 1-8)'
9+
10+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/node-js?view=azure-devops
11+
- task: NodeTool@0
12+
displayName: 'Install NodeJS'
13+
inputs:
14+
versionSpec: '10.x'
15+
16+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/npm?view=azure-devops
17+
- task: Npm@1
18+
displayName: 'Install NPM Packages'
19+
inputs:
20+
command: install
21+
22+
- script: npm run lint
23+
displayName: 'Lint'
24+
25+
- script: npm run build:app
26+
displayName: 'Build (app)'
27+
28+
- script: npm run build:web
29+
displayName: 'Build (web)'
30+
31+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/archive-files?view=azure-devops
32+
- task: ArchiveFiles@2
33+
displayName: 'Copy Artifacts (web)'
34+
inputs:
35+
rootFolderOrFile: '$(Build.SourcesDirectory)/build/web'
36+
includeRootFolder: false
37+
archiveType: 'tar'
38+
tarCompression: 'xz'
39+
archiveFile: '$(Build.ArtifactStagingDirectory)/web-$(Build.SourceVersion).tar.xz'
40+
replaceExistingArchive: true
41+
42+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/copy-files?view=azure-devops
43+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/file-matching-patterns
44+
- task: CopyFiles@2
45+
displayName: 'Copy Artifacts (app)'
46+
inputs:
47+
contents: hakuneko-*@(.exe|.zip|.deb|.rpm|.dmg)
48+
sourceFolder: '$(Build.SourcesDirectory)/build'
49+
targetFolder: '$(Build.ArtifactStagingDirectory)'
50+
cleanTargetFolder: false
51+
overWrite: true
52+
flattenFolders: false
53+
54+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/publish-build-artifacts?view=azure-devops
55+
- task: PublishBuildArtifacts@1
56+
displayName: 'Publish Build Artifacts'
57+
inputs:
58+
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
59+
artifactName: '$(Agent.OS)-$(Agent.OSArchitecture)_$(Build.BuildNumber)'
60+
61+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact?view=azure-devops
62+
#- task: PublishPipelineArtifact@1
63+
# displayName: 'Publish Pipeline Artifacts'
64+
# inputs:
65+
# path: '$(Build.ArtifactStagingDirectory)'
66+
# artifact: '$(Agent.JobName)-$(Build.BuildNumber)'
67+
68+
# Difference between Build and Pipeline Artifacts:
69+
# https://github.com/MicrosoftDocs/vsts-docs/issues/2341#issuecomment-439483135

.azure/pipelines/nightly.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Microsoft Azure Build Pipeline
2+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
3+
4+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops
5+
pr: none
6+
trigger: none
7+
schedules:
8+
- cron: '0 0 * * *'
9+
displayName: 'Nightly Build'
10+
branches:
11+
include:
12+
- master
13+
always: false
14+
15+
jobs:
16+
17+
- job: Windows
18+
pool:
19+
vmImage: 'windows-latest'
20+
steps:
21+
- template: nightly-template.yml
22+
23+
- job: Ubuntu
24+
pool:
25+
vmImage: 'ubuntu-latest'
26+
steps:
27+
- script: sudo apt-get -y install dpkg rpm fakeroot lintian
28+
- template: nightly-template.yml
29+
30+
- job: macOS
31+
pool:
32+
vmImage: 'macOS-10.13'
33+
steps:
34+
- template: nightly-template.yml
35+
36+
- job: Deploy
37+
dependsOn:
38+
- Windows
39+
- Ubuntu
40+
- macOS
41+
steps:
42+
- script: date '+##vso[task.setvariable variable=ISODateTime;]%FT%T%Z'
43+
displayName: 'Generate ISO Date/Time Environment Variable'
44+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/download-build-artifacts?view=azure-devops
45+
- task: DownloadBuildArtifacts@0
46+
displayName: 'Get Build Artifacts'
47+
inputs:
48+
buildType: 'current'
49+
downloadType: 'specific'
50+
itemPattern: '**'
51+
artifactName: 'Windows-$(Build.BuildNumber)'
52+
downloadPath: '$(System.ArtifactsDirectory)'
53+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/download-pipeline-artifact?view=azure-devops
54+
# alternative to build artifacts, pipeline artifacts could be used ...
55+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/github-release?view=azure-devops
56+
- task: GithubRelease@0
57+
displayName: 'GitHub Release'
58+
inputs:
59+
# NOTE: The service connection to GitHub must be configured to use Personal Aaccess Token
60+
# OAuth regsitered application seems not to work (404 not found when creating release tag)
61+
gitHubConnection: 'hakuneko-bot@github'
62+
repositoryName: 'manga-download/hakuneko'
63+
action: 'create'
64+
target: '$(Build.SourceVersion)'
65+
tagSource: 'manual'
66+
tag: 'nightly-$(Build.BuildNumber)'
67+
title: 'nightly($(Build.SourceBranchName)) • $(ISODateTime)'
68+
releaseNotesSource: 'input'
69+
releaseNotes: |
70+
This is an automated repository snapshot build.
71+
It is untested and not intended for use in production.
72+
isDraft: false
73+
isPreRelease: true
74+
addChangeLog: false
75+
assets: |
76+
$(System.ArtifactsDirectory)/*/*.exe
77+
$(System.ArtifactsDirectory)/*/*.zip
78+
$(System.ArtifactsDirectory)/*/*.deb
79+
$(System.ArtifactsDirectory)/*/*.rpm
80+
$(System.ArtifactsDirectory)/*/*.dmg

.eslintrc.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"env": {
3+
"es6": true,
4+
"node": true,
5+
"browser": true,
6+
"jest": true
7+
},
8+
"extends": [
9+
"eslint:recommended"
10+
],
11+
"globals": {
12+
"protobuf":"readonly",
13+
"CryptoJS":"readonly",
14+
"JSZip":"readonly",
15+
"OAuth":"readonly",
16+
"PDFDocument":"readonly",
17+
"HakuNeko": "readonly",
18+
"Engine": "readonly",
19+
"EventListener": "readonly",
20+
"Connector": "readonly",
21+
"ClipboardConnector": "readonly",
22+
"EXIF": "readonly"
23+
},
24+
"parserOptions": {
25+
"ecmaVersion": 2018,
26+
"sourceType": "module"
27+
},
28+
"rules": {
29+
"semi": ["error", "always"],
30+
"semi-spacing": "error",
31+
"comma-spacing": "error",
32+
"brace-style": "error",
33+
"no-extra-parens": "error",
34+
"space-before-blocks": "error",
35+
//"object-curly-spacing": "error",
36+
"indent": ["error", 4, { "SwitchCase": 1 }],
37+
"no-trailing-spaces": "error",
38+
"no-multiple-empty-lines": ["error", {"max": 1, "maxBOF": 0, "maxEOF": 0}],
39+
"no-multi-spaces": "error"
40+
}
41+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: ❗ Connector/Website not working
2+
description: Notify that a connector is not working
3+
title: "[<NameOfConnector>] Connector not working"
4+
labels: ["Website Change"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
> [!CAUTION]
10+
> Do **NOT** report that **MangaLife** or **MangaSee** moved to **WeebCentral**, it will not be fixed!
11+
> See: [#7407](https://github.com/manga-download/hakuneko/issues/7407) for info.
12+
- type: checkboxes
13+
attributes:
14+
label: Is there an existing issue for this connector?
15+
description: Do not create duplicate of an existing issue related to the connector
16+
options:
17+
- label: I have searched the existing issues
18+
required: true
19+
- type: checkboxes
20+
attributes:
21+
label: Did you read the troubleshooting guide ?
22+
description: Please check [the troubleshooting guide](https://hakuneko.download/docs/troubleshoot/) if your issue might not be related to some known cases.
23+
options:
24+
- label: I read it but nothing seems related
25+
required: true
26+
- type: checkboxes
27+
attributes:
28+
label: Is the website of the connector working properly ?
29+
description: If the website isn't working, hakuneko will not solve the issue.
30+
options:
31+
- label: Yes i'm able to see the manga within my standard browser
32+
required: true
33+
- type: checkboxes
34+
attributes:
35+
label: Make sure to try Nightly Build
36+
description: The [nightly build](https://github.com/manga-download/hakuneko/releases) contains latest fixes. Perhaps your problem is already solved.
37+
options:
38+
- label: Yes nightly build didn't fix the issue
39+
required: true
40+
- type: dropdown
41+
attributes:
42+
label: What kind of issue are you encountering
43+
options:
44+
- Manga list isn't refreshing
45+
- Chapter list isn't refreshing
46+
- Downloads aren't working
47+
- Images are missing in the embeded viewer
48+
- Other
49+
validations:
50+
required: true
51+
- type: textarea
52+
attributes:
53+
label: Describe the bug
54+
description: A clear and concise description of what the bug is.
55+
validations:
56+
required: true
57+
- type: textarea
58+
attributes:
59+
label: To Reproduce
60+
description: Steps to reproduce the behavior
61+
value: |
62+
1. Name of connector
63+
2. Name of manga (if connector update is working)
64+
3. Name of chapter (if manga update is working)
65+
4. Copy any relevant error message that appears in a popup or (advanced) within the console (press F12)
66+
validations:
67+
required: true
68+
- type: markdown
69+
attributes:
70+
value: |
71+
**Screenshots**
72+
If complex to describe, add screenshots to help explain your problem.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
name: ✍ Suggest a new Connector/Website
3+
about: Want a new website to be added in hakuneko ?
4+
title: "[Site Request] thewebsitename"
5+
labels: Website Suggestion
6+
assignees: ''
7+
8+
---
9+
10+
> [!CAUTION]
11+
> Do **NOT** request **WeebCentral**, it will not be added!
12+
> See: [#7407](https://github.com/manga-download/hakuneko/issues/7407) for info.
13+
14+
**Name of the website**
15+
thewebsitename
16+
17+
**Website urls (examples below)**
18+
- Site: https://thewebsiteurl/
19+
- Manga List: https://thewebsiteurl/mangalist.html
20+
- Manga example: https://thewebsiteurl/manga/themanganame.html
21+
- Chapter online viewer example: https://thewebsiteurl/manga/0012/view.html
22+
23+
**Languages**
24+
List of languages supported by the website
25+
26+
**Website relationship*
27+
If applicable describe the relation with any other website (eg : "alternative domain, copy of ...").
28+
29+
**Additional details**
30+
Add any other context details that you may have found (like template to reuse)

0 commit comments

Comments
 (0)