hana-linter 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
Naming-convention lint for SAP HANA artifacts in CAP projects.
|
|
9
9
|
|
|
10
|
+
> **⚠️ Work in progress.** This project is under active development. APIs, configuration options, and supported artifact types may change between releases. See [Parser Status](#parser-status) for the current state of content extraction support.
|
|
11
|
+
|
|
10
12
|
[NPM package](https://www.npmjs.com/package/hana-linter) • [Report issue](https://github.com/qualiture/hana-linter/issues) • [Releases](https://github.com/qualiture/hana-linter/releases)
|
|
11
13
|
|
|
12
14
|
Lint SAP HANA artifact file names and content identifiers in CAP projects using configurable regex-based naming rules.
|
|
@@ -40,6 +42,29 @@ You can define `extension: "*"` as a shared rule set. Its rules are applied to e
|
|
|
40
42
|
|
|
41
43
|
Content-based linting uses [Chevrotain](https://chevrotain.io)-powered lexers and CST parsers to reliably extract identifiers from HANA artifact files. This approach correctly handles block and line comments, multi-line definitions, quoted identifiers, and HANA-specific DDL constructs — without the false positives and false negatives that ad-hoc regex scanning produces.
|
|
42
44
|
|
|
45
|
+
## Parser Status
|
|
46
|
+
|
|
47
|
+
> **Work in progress.** Not all artifact types have been migrated to the Chevrotain-based parsing infrastructure yet.
|
|
48
|
+
|
|
49
|
+
| Artifact extension | Content extractor | Status |
|
|
50
|
+
| ------------------------- | ---------------------- | ------------------ |
|
|
51
|
+
| `.hdbtable` | Chevrotain lexer + CST | ✅ Migrated |
|
|
52
|
+
| `.hdbview` | Chevrotain lexer + CST | ✅ Migrated |
|
|
53
|
+
| `.hdbprocedure` | Chevrotain lexer + CST | ✅ Migrated |
|
|
54
|
+
| `.hdbfunction` | Inline regex | ⚠️ Needs migration |
|
|
55
|
+
| `.hdbtabletype` | — | ❌ Not implemented |
|
|
56
|
+
| `.hdbcalculationview` | — | ❌ Not implemented |
|
|
57
|
+
| `.hdbanalyticalprivilege` | — | ❌ Not implemented |
|
|
58
|
+
| `.hdbrole` | — | ❌ Not implemented |
|
|
59
|
+
| `.hdbsequence` | — | ❌ Not implemented |
|
|
60
|
+
| `.hdbconstraint` | — | ❌ Not implemented |
|
|
61
|
+
| `.hdbschedulerjob` | — | ❌ Not implemented |
|
|
62
|
+
| `.hdbindex` | — | ❌ Not implemented |
|
|
63
|
+
| `.hdbtrigger` | — | ❌ Not implemented |
|
|
64
|
+
|
|
65
|
+
- **Needs migration**: uses an ad-hoc regex scan, subject to false positives from body keywords, multi-line definitions, and block comments.
|
|
66
|
+
- **Not implemented**: `contentRuleSets` targeting these extensions will silently return no results — no identifiers are extracted and no content issues are raised.
|
|
67
|
+
|
|
43
68
|
## Install
|
|
44
69
|
|
|
45
70
|
### Local (recommended for projects)
|