diff --git a/CHANGELOG.md b/CHANGELOG.md index e65b68ec..b87b7215 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. +## [1.1.0] - 2022-12-19 + +### Features + +- Add builtin rule set for SILE globals (#79) — @alerque +- Implement support for compound operators (#66) — @a2 & @arichard4 + +### Bug Fixes + +- Correct circular reference detection visavis OpSet — @arichard4 +- Remove unnecessary symbol from Playdate std (#84) — @DidierMalenfant + ## v1.0.0 (2022-08-24) ### Documentation diff --git a/README.md b/README.md index 8bb28163..c9a903b3 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ For parallel checking Luacheck additionally requires [LuaLanes](https://github.c ### Windows binary download For Windows there is single-file 64-bit binary distribution, bundling Lua 5.4.4, Luacheck, LuaFileSystem, and LuaLanes using [LuaStatic](https://github.com/ers35/luastatic): -[download](https://github.com/lunarmodules/luacheck/releases/download/v1.0.0/luacheck.exe). +[download](https://github.com/lunarmodules/luacheck/releases/download/v1.1.0/luacheck.exe). ## Basic usage @@ -109,7 +109,7 @@ Documentation can be built using [Sphinx](http://sphinx-doc.org/): `sphinx-build ## Development -Luacheck is currently in development. The latest released version is v1.0.0. The interface of the `luacheck` module may change between minor releases. The command line interface is fairly stable. +Luacheck is currently in development. The latest released version is v1.1.0. The interface of the `luacheck` module may change between minor releases. The command line interface is fairly stable. Use the Luacheck issue tracker on GitHub to submit bugs, suggestions and questions. Any pull requests are welcome, too. diff --git a/action.yml b/action.yml index 0587825b..ffb9b504 100644 --- a/action.yml +++ b/action.yml @@ -7,7 +7,7 @@ inputs: default: "." runs: using: docker - image: docker://ghcr.io/lunarmodules/luacheck:v1.0.0 + image: docker://ghcr.io/lunarmodules/luacheck:v1.1.0 entrypoint: sh args: - -c diff --git a/docsrc/conf.py b/docsrc/conf.py index f1aef94c..cb5f508e 100644 --- a/docsrc/conf.py +++ b/docsrc/conf.py @@ -48,9 +48,9 @@ # built documents. # # The short X.Y version. -version = '1.0.0' +version = '1.1.0' # The full version, including alpha/beta/rc tags. -release = '1.0.0' +release = '1.1.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/rockspecs/luacheck-1.1.0-1.rockspec b/rockspecs/luacheck-1.1.0-1.rockspec new file mode 100644 index 00000000..423a4ac4 --- /dev/null +++ b/rockspecs/luacheck-1.1.0-1.rockspec @@ -0,0 +1,95 @@ +local package_name = "luacheck" +local package_version = "1.1.0" +local rockspec_revision = "1" +local github_account_name = "lunarmodules" +local github_repo_name = package_name + +package = package_name +version = package_version .. "-" .. rockspec_revision + +source = { + url = "git+https://github.com/" .. github_account_name .. "/" .. github_repo_name .. ".git" +} + +if package_version == "dev" then source.branch = "master" else source.tag = "v" .. package_version end + +description = { + summary = "A static analyzer and a linter for Lua", + detailed = [[ + Luacheck is a command-line tool for linting and static analysis of Lua + code. It is able to spot usage of undefined global variables, unused + local variables and a few other typical problems within Lua programs. + ]], + homepage = "https://github.com/lunarmodules/luacheck", + license = "MIT" +} + +dependencies = { + "lua >= 5.1", + "argparse >= 0.6.0", + "luafilesystem >= 1.6.3" +} +build = { + type = "builtin", + modules = { + luacheck = "src/luacheck/init.lua", + ["luacheck.builtin_standards"] = "src/luacheck/builtin_standards/init.lua", + ["luacheck.builtin_standards.love"] = "src/luacheck/builtin_standards/love.lua", + ["luacheck.builtin_standards.playdate"] = "src/luacheck/builtin_standards/playdate.lua", + ["luacheck.builtin_standards.ngx"] = "src/luacheck/builtin_standards/ngx.lua", + ["luacheck.cache"] = "src/luacheck/cache.lua", + ["luacheck.check"] = "src/luacheck/check.lua", + ["luacheck.check_state"] = "src/luacheck/check_state.lua", + ["luacheck.config"] = "src/luacheck/config.lua", + ["luacheck.core_utils"] = "src/luacheck/core_utils.lua", + ["luacheck.decoder"] = "src/luacheck/decoder.lua", + ["luacheck.expand_rockspec"] = "src/luacheck/expand_rockspec.lua", + ["luacheck.filter"] = "src/luacheck/filter.lua", + ["luacheck.format"] = "src/luacheck/format.lua", + ["luacheck.fs"] = "src/luacheck/fs.lua", + ["luacheck.globbing"] = "src/luacheck/globbing.lua", + ["luacheck.lexer"] = "src/luacheck/lexer.lua", + ["luacheck.main"] = "src/luacheck/main.lua", + ["luacheck.multithreading"] = "src/luacheck/multithreading.lua", + ["luacheck.options"] = "src/luacheck/options.lua", + ["luacheck.parser"] = "src/luacheck/parser.lua", + ["luacheck.profiler"] = "src/luacheck/profiler.lua", + ["luacheck.runner"] = "src/luacheck/runner.lua", + ["luacheck.serializer"] = "src/luacheck/serializer.lua", + ["luacheck.stages"] = "src/luacheck/stages/init.lua", + ["luacheck.stages.detect_bad_whitespace"] = "src/luacheck/stages/detect_bad_whitespace.lua", + ["luacheck.stages.detect_compound_operators"] = "src/luacheck/stages/detect_compound_operators.lua", + ["luacheck.stages.detect_cyclomatic_complexity"] = "src/luacheck/stages/detect_cyclomatic_complexity.lua", + ["luacheck.stages.detect_empty_blocks"] = "src/luacheck/stages/detect_empty_blocks.lua", + ["luacheck.stages.detect_empty_statements"] = "src/luacheck/stages/detect_empty_statements.lua", + ["luacheck.stages.detect_globals"] = "src/luacheck/stages/detect_globals.lua", + ["luacheck.stages.detect_reversed_fornum_loops"] = "src/luacheck/stages/detect_reversed_fornum_loops.lua", + ["luacheck.stages.detect_unbalanced_assignments"] = "src/luacheck/stages/detect_unbalanced_assignments.lua", + ["luacheck.stages.detect_uninit_accesses"] = "src/luacheck/stages/detect_uninit_accesses.lua", + ["luacheck.stages.detect_unreachable_code"] = "src/luacheck/stages/detect_unreachable_code.lua", + ["luacheck.stages.detect_unused_fields"] = "src/luacheck/stages/detect_unused_fields.lua", + ["luacheck.stages.detect_unused_locals"] = "src/luacheck/stages/detect_unused_locals.lua", + ["luacheck.stages.linearize"] = "src/luacheck/stages/linearize.lua", + ["luacheck.stages.name_functions"] = "src/luacheck/stages/name_functions.lua", + ["luacheck.stages.parse"] = "src/luacheck/stages/parse.lua", + ["luacheck.stages.parse_inline_options"] = "src/luacheck/stages/parse_inline_options.lua", + ["luacheck.stages.resolve_locals"] = "src/luacheck/stages/resolve_locals.lua", + ["luacheck.stages.unwrap_parens"] = "src/luacheck/stages/unwrap_parens.lua", + ["luacheck.standards"] = "src/luacheck/standards.lua", + ["luacheck.unicode"] = "src/luacheck/unicode.lua", + ["luacheck.unicode_printability_boundaries"] = "src/luacheck/unicode_printability_boundaries.lua", + ["luacheck.utils"] = "src/luacheck/utils.lua", + ["luacheck.vendor.sha1"] = "src/luacheck/vendor/sha1/init.lua", + ["luacheck.vendor.sha1.bit32_ops"] = "src/luacheck/vendor/sha1/bit32_ops.lua", + ["luacheck.vendor.sha1.bit_ops"] = "src/luacheck/vendor/sha1/bit_ops.lua", + ["luacheck.vendor.sha1.common"] = "src/luacheck/vendor/sha1/common.lua", + ["luacheck.vendor.sha1.lua53_ops"] = "src/luacheck/vendor/sha1/lua53_ops.lua", + ["luacheck.vendor.sha1.pure_lua_ops"] = "src/luacheck/vendor/sha1/pure_lua_ops.lua", + ["luacheck.version"] = "src/luacheck/version.lua" + }, + install = { + bin = { + luacheck = "bin/luacheck.lua" + } + } +} diff --git a/src/luacheck/init.lua b/src/luacheck/init.lua index 41359b98..d08cfee1 100644 --- a/src/luacheck/init.lua +++ b/src/luacheck/init.lua @@ -5,7 +5,7 @@ local format = require "luacheck.format" local utils = require "luacheck.utils" local luacheck = { - _VERSION = "1.0.0" + _VERSION = "1.1.0" } local function raw_validate_options(fname, opts, stds, context)