codespell-project / actions-codespell Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
The stuff that was added in #2 :
https://github.com/ingydotnet/git-subrepo/blob/master/Intro.pod
This is a bug because it doubles the amount of work needed to maintain the codespell settings for a project.
On success, the action prints:
Codespell found no problems
However it will print the same message if it did not check any files at all due to, for example, an issue in the path specification. It would be nice if it also printed how many files it checked to avoid any doubts, e.g.:
Codespell found no problems in 123 files
It would be nice to be able specify the --regex
flag since codespell-project/codespell#1482 still hasn't landed.
Sometimes we'd like to specify the version of Codespell to control dictionaries. c.f. this commit in Rails.
Could we add the ability to specify the version of Codespell to install?
Please cut a new release so that fixes such as #60 become available in a released form. Otherwise we are doomed to use @master
version.
This action has been very useful. Thanks!
The lack of releases may give the impression that it's not ready for production use, but it seems to be pretty good. It would be helpful for interested parties to have some understanding of the development roadmap of this project.
For me, the ideal is to be able to pin the major version ref of an action (e.g., uses: codespell-project/actions-codespell@v1
) in my workflows, which provides the stability of release versions while also allowing the workflow to benefit from ongoing development work by always using the latest release unless there have been breaking changes (and thus a major version bump).
My codespell actions started to fail around 30mins ago with the following error (example run: https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519).
##[debug]Evaluating condition for step: 'Run codespell'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Run codespell
##[debug]Loading inputs
##[debug]Loading env
Run codespell-project/[email protected]
with:
check_filenames: true
skip: ./.git,yarn.lock
/usr/bin/docker run --name a5c76b7655e0d7e78b4e1499b[2](https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519#step:4:2)6442c82d2c24_a02[3](https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519#step:4:3)ed --label a5c76b --workdir /github/workspace --rm -e "INPUT_CHECK_FILENAMES" -e "INPUT_SKIP" -e "INPUT_CHECK_HIDDEN" -e "INPUT_EXCLUDE_FILE" -e "INPUT_BUILTIN" -e "INPUT_IGNORE_WORDS_FILE" -e "INPUT_IGNORE_WORDS_LIST" -e "INPUT_URI_IGNORE_WORDS_LIST" -e "INPUT_PATH" -e "INPUT_ONLY_WARN" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "RUNNER_DEBUG" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/snekmate/snekmate":"/github/workspace" a5c76b:7655e0d7e78b[4](https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519#step:4:4)e1499b26442c82d2c24
::add-matcher::/home/runner/work/_temp/_github_workflow/codespell-matcher.json
##[debug]Added matchers: 'codespell-matcher-default', 'codespell-matcher-specified'. Problem matchers scan action output for known warning or error strings and report these inline.
Running codespell on '' with the following options...
Check filenames? 'true'
Checking filenames
Check hidden? ''
Exclude file ''
Skipping './.git,yarn.lock'
Builtin dictionaries ''
Ignore words file ''
Ignore words list ''
Ignore URI words list ''
Resulting CLI options --check-filenames --skip ./.git,yarn.lock
Traceback (most recent call last):
File "/usr/local/bin/codespell", line 8, in <module>
sys.exit(_script_main())
File "/usr/local/lib/python3.8/site-packages/codespell_lib/_codespell.py", line 987, in _script_main
return main(*sys.argv[1:])
File "/usr/local/lib/python3.8/site-packages/codespell_lib/_codespell.py", line 992, in main
options, parser, used_cfg_files = parse_options(args)
File "/usr/local/lib/python3.8/site-packages/codespell_lib/_codespell.py", line [5](https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519#step:4:5)[6](https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519#step:4:6)[8](https://github.com/pcaversaccio/snekmate/actions/runs/4367178830/jobs/7638639519#step:4:8), in parse_options
data = tomllib.load(f).get("tool", {})
UnboundLocalError: local variable 'tomllib' referenced before assignment
Codespell found one or more problems
::remove-matcher owner=codespell-matcher-default::
##[debug]Removed matchers: 'codespell-matcher-default'
::remove-matcher owner=codespell-matcher-specified::
##[debug]Removed matchers: 'codespell-matcher-specified'
##[debug]Docker Action run completed with exit code 1
##[debug]Finishing: Run codespell
Running codespell
locally with the latest version works.
ATM not available AFAIK
For a PR it would be a commit to the same branch. (we do similar for adding changelog entries to PRs upon a specific label being present: https://github.com/datalad/release-action/blob/master/add-changelog-snippet/action.yml#L23 )
For a run within a non-PR branch - would be a new PR against that branch.
Since the last commit, it seems, codespell started flagging the word hasTable
as a typo of hashable
.
I added that word to my .codespellrc
ignore-words-list, but to no avail. I trhen added it with
- name: Run Codespell
uses: codespell-project/actions-codespell@master
with:
ignore_words_list: hasTable
but it's still being flagged. How can I ignore this error? this action run shows the mistake,
Greetings team, can we get a new tag?
The latest one v2 is from 1 year ago and since then there's been a few changes. Most notably the switch to node20.
Thanks in advance
I don't understand the documentation of exclude_file
:
File with lines that should not be checked for spelling mistakes.
This parameter is optional; by default
codespell
will check all lines.uses: codespell-project/actions-codespell@master with: exclude_file: src/foo
Does it exclude lines or files? If it excludes specific lines, please give an example how to achieve that. If it excludes files, remove any reference to line and explain how skip
and exclude_file
are different.
I know the action replies on the commit with typos it finds but would it be possible for it to reply with the full results as a comment on the actual pull request rather than the commit? Or even both?
reincarnated #62 since there were no follow up to #62 (comment) so I don't forget:
https://github.com/codespell-project/actions-codespell#parameter-builtin is about "builtin dictionaries to use.", so I guess --builtin, I need --dictionary
to point to a local custom dictionary file and I believe that option is not exposed in the action yet.
Action configured to whitelist UpToDate
- name: Check spelling
uses: codespell-project/actions-codespell@master
with:
check_hidden: true
check_filenames: true
skip: ./.git,./.gitignore
ignore_words_list: UpToDate
I am getting the error. The action does notwork.
Error: [...]/UiControls/Test.xaml.cs:59: UpToDate ==> up-to-date
The same happens when I use the ignore_words_file
param and a file. It logs that the params are there, but it does not work.
Resulting CLI options --check-filenames --check-hidden --skip ./.git,./.gitignore --ignore-words-list UpToDate
Does it make sense? Seems useful to share words between developers running codespell locally and CI.
As mentioned in the official documentation, it is common practice for the maintainers of GitHub Actions actions to provide a Git ref for each major version series that always points to the latest tag in that series.
For example, for the 1.x.x major version series, a ref named v1
should be created, and moved to the tagged commit at each release (currently 22ff5a2).
There are several possible approaches to controlling the version of an action dependency that will be used in a GitHub Actions workflow
This approach causes the specific version of the action is used by the workflow.
Example:
- uses: codespell-project/actions-codespell@22ff5a2e4b591290baf82d47c9feadac31c65441
This may be appropriate when it is important to ensure an audited version of an action is used for security purposes. However, it also means that the workflow will either require frequent maintenance to keep it up to date, or more likely end up using an outdated version of the action.
This approach causes the version of the action from the current tip of the branch to be used by the workflow.
Example:
- uses: codespell-project/actions-codespell@master
This is appropriate for beta testing, and unavoidable in the case where an action doesn't have releases. However, it is not ideal for use in a production workflow because it subjects it to an unstable version of the action which may introduce bugs or breaking changes at any moment
This approach causes the latest release of the action from within the given major version series to be used by the workflow.
Example:
- uses: codespell-project/actions-codespell@v1
The major version ref offers a balance between the two extremes of the other alternatives by allowing a workflow configuration that will automatically use the latest stable version of the action up to such a time as the major version is bumped due to a breaking change.
GitHub Actions supports the use of any Git ref in the jobs.<job_id>.steps[*].uses
fields of the workflow. This means there are two options for the creation of a major version ref.
These are functionally identical from the user's perspective, so the choice is a matter of the maintainer's preference or philosophy.
This is the most common approach. For example:
It is maybe questionable whether it is generally considered best practices to change a Git tag after pushing it to a shared repository, as would be inherent to the nature of a major ref tag. Some discussion about that here.
Although less common, this is used in some prominent actions. For example:
Hi is it possible to add an option so that this action only checks files changed in the current pull request?
thanks
we use codespell in haproxy, I tried to ignore uri:
uri are still detected:
https://github.com/chipitsine/haproxy/actions/runs/3670466510/jobs/6205020701
particularly
text is
>>> Aug 9 20:30:46 localhost \
haproxy[2022]: 127.0.0.1:34020 [09/Aug/2004:20:30:46] proxy-out \
proxy-out/cache1 0/0/0/182/+182 200 +279 - - ---- 0/0/0/0/0 0/0 \
{w.ods.org||} {Formilux/0.1.8|3495|||} \
"GET http://trafic.1wt.eu/ HTTP/1.1"
Add all the new options that are in the action.yml file
docker pull docker.pkg.github.com/codespell-project/actions-codespell/master:latest
It should pull the image
Error response from daemon: Get https://docker.pkg.github.com/v2/codespell-project/actions-codespell/master/manifests/latest: no basic auth credentials
I guess finds some uncompressed objects it identifies as text files and starts checking them
this basic workflow https://github.com/datalad/tutorials/pull/20/files#diff-ce84a1b2c9eb4ab3ea22f610cad7111cb9a2f66365c3b24679901376a2a73ab2 lead to
Resulting CLI options --skip *.svg
Warning: WARNING: Decoding file using encoding=utf-8 failed: ./.git/objects/1e/a4a450299271c0a5e69bc79e1cb4a8771b34da
Error: ./.git/objects/1e/a4a450299271c0a5e69bc79e1cb4a8771b34da:755: ot ==> to, of, or, not
WARNING: Trying next encoding iso-8859-1
Warning: WARNING: Decoding file using encoding=utf-8 failed: ./.git/objects/78/f14c2775affc5ed4fcd819b66ff5bfd[15](https://github.com/datalad/tutorials/actions/runs/3696668759/jobs/6260675265#step:4:16)92806
WARNING: Trying next encoding iso-8859-1
Warning: WARNING: Decoding file using encoding=utf-8 failed: ./.git/objects/fb/52afd8fb6f45744569797c8ef1d1b7b1dbace0
WARNING: Trying next encoding iso-8859-1
3
Error: ./.git/objects/1e/a4a450299271c0a5e69bc79e1cb4a8771b34da:838: Te ==> The, Be, We, To
Error: ./.git/objects/1e/a4a450299271c0a5e69bc79e1cb4a8771b34da:911: nd ==> and, 2nd
Codespell found one or more problems
doesn't happen for me locally... but looking at strace -- indeed codespell
does go under .git/
to "sniff around":
❯ strace -f -o /tmp/codespell.strace codespell --skip '*.svg' >/dev/null
❯ grep '\.git/objects' /tmp/codespell.strace
1918302 newfstatat(AT_FDCWD, "./.git/objects", {st_mode=S_IFDIR|0700, st_size=16, ...}, AT_SYMLINK_NOFOLLOW) = 0
1918302 openat(AT_FDCWD, "./.git/objects", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
1918302 newfstatat(AT_FDCWD, "./.git/objects/pack", {st_mode=S_IFDIR|0700, st_size=198, ...}, AT_SYMLINK_NOFOLLOW) = 0
1918302 openat(AT_FDCWD, "./.git/objects/pack", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
1918302 newfstatat(AT_FDCWD, "./.git/objects/pack/pack-5d46e9abf8de8270def5b70004db30dcaa17bda3.pack", {st_mode=S_IFREG|0400, st_size=97786, ...}, 0) = 0
1918302 openat(AT_FDCWD, "./.git/objects/pack/pack-5d46e9abf8de8270def5b70004db30dcaa17bda3.pack", O_RDONLY|O_CLOEXEC) = 3
1918302 newfstatat(AT_FDCWD, "./.git/objects/pack/pack-5d46e9abf8de8270def5b70004db30dcaa17bda3.idx", {st_mode=S_IFREG|0400, st_size=13756, ...}, 0) = 0
1918302 openat(AT_FDCWD, "./.git/objects/pack/pack-5d46e9abf8de8270def5b70004db30dcaa17bda3.idx", O_RDONLY|O_CLOEXEC) = 3
1918302 newfstatat(AT_FDCWD, "./.git/objects/info", {st_mode=S_IFDIR|0700, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0
1918302 openat(AT_FDCWD, "./.git/objects/info", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
ideally should be fixed in codespell
itself (to not consider at least .git/objects
, some scripts might be under .git/
) but I think it should be safe to assume that codespell
action for github should not check anything in .git/ since there should be nothing committed / to fix there.
edit: workaround -- add .git
to --skip
i.e.
❯ strace -f -o /tmp/codespell.strace codespell --skip '*.svg,.git' >/dev/null
❯ grep '\.git/' /tmp/codespell.strace
comes out empty handed
I may be doing something stupid, but this does not seem to be working, codespell does not detect any errors:
6 Running codespell on '' with the following options...
7 Check filenames? 'true'
8 Checking filenames
9 Check hidden? ''
10 Exclude file ''
11 Skipping 'spelling.txt,LICENSE.OpenSSL'
12 Builtin dictionaries ''
13 Ignore words file ''
14 Ignore words list ''
15 Resulting CLI options --check-filenames --skip spelling.txt,LICENSE.OpenSSL
16 0
17 Codespell found no problems
See pull request adrienverge/openfortivpn#921 and the .github/workflos/codespell.yml
file
---
name: Codespell
on:
push:
pull_request:
branches:
- master
jobs:
codespell:
name: Codespell
runs-on: ubuntu-latest
steps:
- name: Run Codespell
uses: codespell-project/actions-codespell@master
with:
check_filenames: true
skip: spelling.txt,LICENSE.OpenSSL
It'd be nice if the annotations could be limited to files that changed or were added as part of the PR. If understand correctly right now, I can only limit the action to a single folder (path
), or filter files out with globs (skip
) which does not quite cover this.
If you are running with only_warn
then its possible you'll end up with the same unaddressed misspells being annotated on every pull request (which could become quite noisy in a large monorepo).
Use the following action
name: codespell
on: pull_request
jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: codespell-project/actions-codespell@master
with:
ignore_words_file: './.codespellignore'
check_filenames: true
check_hidden: true
skip: ./.git,*.png,*.csv,./archive,./legacy_submissions
only_warn: 1
The words listed in the .codespellignore
file should not appear in the action results. The file looks like so
upto
Upto
leapYears
leapYear
The action just runs and errors out on these words despite putting them in this file or even in ignore_words_list
. I'm not sure if I've got something wrong in my setup, so I'm hoping someone can provide some advice. It just looks like the job isn't using the file.
I have a PR up in a forked repo where I'm encountering this. The job is running on only_warn
at the moment: ZachBaird/curriculum#1
The job: https://github.com/ZachBaird/curriculum/runs/3136242643?check_suite_focus=true
I don't know why this is being annotated at line 289 rather than 269, any ideas @larsoner ? It has the right number when I use git master on the raw file:
https://github.com/codespell-project/codespell/runs/758602736?check_suite_focus=true#step:4:13
It's another false positive apostrophe thing though, see e.g. #651
Originally posted by @peternewman in https://github.com/_render_node/MDExOlB1bGxSZXF1ZXN0Mzg2NzcwNTUx/pull_requests/unread_timeline
Github has a neat feature to suggest code changes on PR lines: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request
For simple misspells where there is only 1 correction option, it'd be convenient to have them as a suggestion which the reviewer can simply click "Commit suggestion" on.
option is not available in codespell-action :(
Hi!
I noticed that words that are on my ignore-list are still detected when they are inside a markdown-codeblock:
My config:
- name: Perform spell check
uses: codespell-project/actions-codespell@master
with:
path: '**/*.md'
check_filenames: true
ignore_words_list: tekst,Widgits
Leads to:
Error: docs/simplesamlphp-googleapps.md:41: Widgits ==> Widgets
See file: simplesamlphp/simplesamlphp@7356307#annotation_14814240076
Use the following action
codespell:
name: Codespell
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Codespell test
uses: codespell-project/actions-codespell@master
with:
skip: vendor, ./lokoctl, *.png, assets/charts/components/*, docs/images/*
ignore_words_file: './.codespell.ignorewords'
check_filenames: true
check_hidden: true
It should find the file
It says Error: ERROR: cannot find ignore-words file: ./.codespell.ignorewords
The file crearly exists at base path. I even tried using relative path. Can you please tell if I am doing anything wrong?
For more information https://github.com/knrt10/lokomotive/runs/1252079699?check_suite_focus=true
Now all messages show as ::error regardless of only_warn value.
Looks like it should be possible by passing args into the Dockerfile
https://help.github.com/en/actions/creating-actions/creating-a-docker-container-action#creating-an-action-metadata-file
And here:
https://docs.docker.com/engine/reference/builder/
I keep having this happen and I'd like to add this to a number of open source projects. Any chance someone could spot what I'm doing wrong with suppressing known weird words? https://github.com/schwehr/earthengine-catalog/blob/codespell/.github/workflows/codespell.yml ?
Run codespell-project/actions-codespell@master
/usr/bin/docker run --name ec39d3[5](https://github.com/schwehr/earthengine-catalog/actions/runs/3803822601/jobs/6470508769#step:4:6)adf[6](https://github.com/schwehr/earthengine-catalog/actions/runs/3803822601/jobs/6470508769#step:4:7)545898b2dcdc020e27dda_f5e7d4 --label 290506 --workdir /github/workspace --rm -e "INPUT_IGNORE_WORDS_LIST" -e "INPUT_CHECK_FILENAMES" -e "INPUT_CHECK_HIDDEN" -e "INPUT_EXCLUDE_FILE" -e "INPUT_SKIP" -e "INPUT_BUILTIN" -e "INPUT_IGNORE_WORDS_FILE" -e "INPUT_URI_IGNORE_WORDS_LIST" -e "INPUT_PATH" -e "INPUT_ONLY_WARN" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/earthengine-catalog/earthengine-catalog":"/github/workspace" 290506:ec39d35adf6545898b2dcdc020e27dda
Running codespell on '' with the following options...
Check filenames? ''
Check hidden? ''
Exclude file ''
Skipping './.git'
Builtin dictionaries ''
Ignore words file ''
Ignore words list 'Ake,ALOS,DOAS,Fallow,GES,ISTS,Markey,METDATA,nd,NED,Ot,pervious,PRES,REGIO,ro,Ser,vas,waterMask,Wich'
Ignore URI words list ''
Resulting CLI options --skip ./.git --ignore-words-list Ake,ALOS,DOAS,Fallow,GES,ISTS,Markey,METDATA,nd,NED,Ot,pervious,PRES,REGIO,ro,Ser,vas,waterMask,Wich
Error: ./examples/JAXA_ALOS_PALSAR_YEARLY_FNF4.js:1: ALOS ==> ALSO
Error: ./examples/JAXA_ALOS_PALSAR_YEARLY_SAR_EPOCH.js:1: ALOS ==> ALSO
Error: ./examples/JAXA_ALOS_AW3D30_V1_1.js:1: ALOS ==> ALSO
Error: ./examples/JAXA_ALOS_AW3D30_V2_2.js:1: ALOS ==> ALSO
Error: ./examples/JAXA_ALOS_AVNIR-2_ORI.js:1: ALOS ==> ALSO
Error: ./examples/JAXA_ALOS_PALSAR-2_Level2_2_ScanSAR.js:1: ALOS ==> ALSO
Error: ./examples/JAXA_ALOS_PALSAR_YEARLY_SAR.js:1: ALOS ==> ALSO
Error: ./examples/MODIS_006_MOD44W.js:3: waterMask ==> watermark
Error: ./examples/MODIS_006_MOD44W.js:10: waterMask ==> watermark
Error: ./examples/JAXA_ALOS_PALSAR_YEARLY_FNF.js:1: ALOS ==> ALSO
[SNIP]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.