Install scaffolding for Peggy grammar generator
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -144,3 +144,5 @@ dist
|
||||
.svelte-kit
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/node
|
||||
|
||||
src/generated
|
||||
@@ -4,7 +4,6 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
flake-utils.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
||||
1
grammar/task.pegjs
Normal file
1
grammar/task.pegjs
Normal file
@@ -0,0 +1 @@
|
||||
start = ('a' / 'b')+
|
||||
62
package-lock.json
generated
62
package-lock.json
generated
@@ -8,6 +8,9 @@
|
||||
"name": "obsidian-tasks-reminder",
|
||||
"version": "0.0.1",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"peggy": "^4.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"obsidian-tasks-reminder": "dist/index.js"
|
||||
},
|
||||
@@ -464,6 +467,18 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@peggyjs/from-mem": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/@peggyjs/from-mem/-/from-mem-1.3.5.tgz",
|
||||
"integrity": "sha512-oRyzXE7nirAn+5yYjCdWQHg3EG2XXcYRoYNOK8Quqnmm+9FyK/2YWVunwudlYl++M3xY+gIAdf0vAYS+p0nKfQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"semver": "7.6.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "22.10.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
|
||||
@@ -828,6 +843,32 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/peggy": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/peggy/-/peggy-4.2.0.tgz",
|
||||
"integrity": "sha512-ZjzyJYY8NqW8JOZr2PbS/J0UH/hnfGALxSDsBUVQg5Y/I+ZaPuGeBJ7EclUX2RvWjhlsi4pnuL1C/K/3u+cDeg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@peggyjs/from-mem": "1.3.5",
|
||||
"commander": "^12.1.0",
|
||||
"source-map-generator": "0.8.0"
|
||||
},
|
||||
"bin": {
|
||||
"peggy": "bin/peggy.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/peggy/node_modules/commander": {
|
||||
"version": "12.1.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
|
||||
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||
@@ -943,6 +984,18 @@
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.6.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
|
||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
@@ -953,6 +1006,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-generator": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/source-map-generator/-/source-map-generator-0.8.0.tgz",
|
||||
"integrity": "sha512-psgxdGMwl5MZM9S3FWee4EgsEaIjahYV5AzGnwUvPhWeITz/j6rKpysQHlQ4USdxvINlb8lKfWGIXwfkrgtqkA==",
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
"description": "The utility which scans Obsidian Tasks and triggers proper notification about them",
|
||||
"main": "index.ts",
|
||||
"scripts": {
|
||||
"start": "tsx src/index.ts",
|
||||
"build": "tsc && tsc-alias"
|
||||
"grammar": "peggy grammar/task.pegjs --dts -o src/generated/grammar/task.js",
|
||||
"start": "npm run grammar && tsx src/index.ts",
|
||||
"build": "npm run grammar && tsc && tsc-alias"
|
||||
},
|
||||
"author": "Bartłomiej Pluta <noreply.git@mx.bartlomiejpluta.com>",
|
||||
"license": "ISC",
|
||||
@@ -19,5 +20,6 @@
|
||||
"typescript": "^5.6.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"peggy": "^4.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
{buildNpmPackage, ...}:
|
||||
{
|
||||
buildNpmPackage,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
buildNpmPackage {
|
||||
pname = "obsidian-tasks-reminder";
|
||||
version = "0.0.1";
|
||||
src = ./.;
|
||||
npmDepsHash = "sha256-aUNhG2ntgUC14fQyad01nMoV2EY4gg3e6UvPOEhd8vU=";
|
||||
npmDepsHash = "sha256-rhwGWuw/X7YGdPwIrgkIGukFNpAwpx/a6H3D/2cVP5Y=";
|
||||
}
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
console.log("Hello, world!");
|
||||
import {parse} from "./generated/grammar/task";
|
||||
|
||||
console.log(parse("aabbabab"));
|
||||
@@ -4,6 +4,7 @@
|
||||
"module": "commonjs",
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src",
|
||||
"allowJs": true,
|
||||
"strict": true,
|
||||
"esModuleInterop": true,
|
||||
"typeRoots": [
|
||||
@@ -14,7 +15,7 @@
|
||||
"@types": ["./src/types"]
|
||||
}
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"include": ["src/**/*"],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"src/types"
|
||||
|
||||
Reference in New Issue
Block a user