@exercode/problem-utils 1.1.5 → 1.2.0
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 +0 -2
- package/dist/helpers/readProblemMarkdownFrontMatter.cjs +1 -1
- package/dist/helpers/readProblemMarkdownFrontMatter.cjs.map +1 -1
- package/dist/helpers/readProblemMarkdownFrontMatter.js +1 -1
- package/dist/helpers/readProblemMarkdownFrontMatter.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -3,6 +3,4 @@
|
|
|
3
3
|
[](https://github.com/WillBooster/exercode-problem-utils/actions/workflows/test.yml)
|
|
4
4
|
[](https://github.com/semantic-release/semantic-release)
|
|
5
5
|
|
|
6
|
-
[](https://github.com/WillBooster/exercode-problem-utils/actions/workflows/test.yml)
|
|
7
|
-
|
|
8
6
|
:100: A set of utilities for judging programs on Exercode (https://exercode.willbooster.com/).
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("../_virtual/_rollupPluginBabelHelpers.cjs"),r=require("node:fs"),a=require("node:path"),n=require("front-matter"),t=require("../types/problem.cjs");function o(){return(o=e.asyncToGenerator(e.regenerator().m(function o(s){var i,u,c,p,l,f,
|
|
1
|
+
"use strict";var e=require("../_virtual/_rollupPluginBabelHelpers.cjs"),r=require("node:fs"),a=require("node:path"),n=require("front-matter"),t=require("../types/problem.cjs");function o(){return(o=e.asyncToGenerator(e.regenerator().m(function o(s){var i,u,c,p,l,m,f,d;return e.regenerator().w(function(o){for(;;)switch(o.p=o.n){case 0:return f=e.createForOfIteratorHelper,o.n=1,r.promises.readdir(s,{withFileTypes:!0});case 1:i=f(o.v),o.p=2,i.s();case 3:if((u=i.n()).done){o.n=8;break}if((c=u.value).isFile()){o.n=4;break}return o.a(3,7);case 4:if("problem.md"===c.name||c.name.endsWith(".problem.md")){o.n=5;break}return o.a(3,7);case 5:return o.n=6,r.promises.readFile(a.join(c.parentPath,c.name),"utf8");case 6:return p=o.v,l=n(p),m=l.attributes,o.a(2,t.problemMarkdownFrontMatterSchema.parse(m));case 7:o.n=3;break;case 8:o.n=10;break;case 9:o.p=9,d=o.v,i.e(d);case 10:return o.p=10,i.f(),o.f(10);case 11:throw new Error("problem markdown not found: ".concat(s));case 12:return o.a(2)}},o,null,[[2,9,10,11]])}))).apply(this,arguments)}exports.readProblemMarkdownFrontMatter=function(e){return o.apply(this,arguments)};
|
|
2
2
|
//# sourceMappingURL=readProblemMarkdownFrontMatter.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readProblemMarkdownFrontMatter.cjs","sources":["../../src/helpers/readProblemMarkdownFrontMatter.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport parseFrontMatter from 'front-matter';\n\nimport type { ProblemMarkdownFrontMatter } from '../types/problem.js';\nimport { problemMarkdownFrontMatterSchema } from '../types/problem.js';\n\nexport async function readProblemMarkdownFrontMatter(problemDir: string): Promise<ProblemMarkdownFrontMatter> {\n for (const dirent of await fs.promises.readdir(problemDir, { withFileTypes: true })) {\n if (!dirent.isFile()) continue;\n if (!dirent.name.endsWith('.problem.md')) continue;\n\n const markdown = await fs.promises.readFile(path.join(dirent.parentPath, dirent.name), 'utf8');\n\n const { attributes } = (parseFrontMatter as unknown as (markdown: string) => { attributes: unknown })(markdown);\n\n return problemMarkdownFrontMatterSchema.parse(attributes);\n }\n\n throw new Error(`problem markdown not found: ${problemDir}`);\n}\n"],"names":["_readProblemMarkdownFrontMatter","_asyncToGenerator","_regenerator","m","_callee","problemDir","_iterator","_step","dirent","markdown","_ref","attributes","_t","_t2","w","_context","p","n","_createForOfIteratorHelper","fs","promises","readdir","withFileTypes","v","s","done","value","isFile","a","name","endsWith","readFile","path","join","parentPath","parseFrontMatter","problemMarkdownFrontMatterSchema","parse","e","f","Error","concat","apply","this","arguments","_x"],"mappings":"gLAqBC,SAAAA,IAAA,OAAAA,EAAAC,EAAAA,iBAAAC,EAAAA,cAAAC,EAbM,SAAAC,EAA8CC,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAX,gBAAAY,EAAA,SAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,KAAA,EAAA,OAAAL,EAAAM,EAAAA,0BAAAH,EAAAE,EAAA,EAC1CE,EAAGC,SAASC,QAAQhB,EAAY,CAAEiB,eAAe,IAAO,KAAA,EAAAhB,EAAAM,EAAAG,EAAAQ,GAAAR,EAAAC,EAAA,EAAAV,EAAAkB,IAAA,KAAA,EAAA,IAAAjB,EAAAD,EAAAW,KAAAQ,KAAA,CAAAV,EAAAE,EAAA,EAAA,KAAA,CAAlE,IAANT,EAAMD,EAAAmB,OACHC,SAAQ,CAAAZ,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAa,EAAA,EAAA,GAAA,KAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"readProblemMarkdownFrontMatter.cjs","sources":["../../src/helpers/readProblemMarkdownFrontMatter.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport parseFrontMatter from 'front-matter';\n\nimport type { ProblemMarkdownFrontMatter } from '../types/problem.js';\nimport { problemMarkdownFrontMatterSchema } from '../types/problem.js';\n\nexport async function readProblemMarkdownFrontMatter(problemDir: string): Promise<ProblemMarkdownFrontMatter> {\n for (const dirent of await fs.promises.readdir(problemDir, { withFileTypes: true })) {\n if (!dirent.isFile()) continue;\n if (!(dirent.name === 'problem.md' || dirent.name.endsWith('.problem.md'))) continue;\n\n const markdown = await fs.promises.readFile(path.join(dirent.parentPath, dirent.name), 'utf8');\n\n const { attributes } = (parseFrontMatter as unknown as (markdown: string) => { attributes: unknown })(markdown);\n\n return problemMarkdownFrontMatterSchema.parse(attributes);\n }\n\n throw new Error(`problem markdown not found: ${problemDir}`);\n}\n"],"names":["_readProblemMarkdownFrontMatter","_asyncToGenerator","_regenerator","m","_callee","problemDir","_iterator","_step","dirent","markdown","_ref","attributes","_t","_t2","w","_context","p","n","_createForOfIteratorHelper","fs","promises","readdir","withFileTypes","v","s","done","value","isFile","a","name","endsWith","readFile","path","join","parentPath","parseFrontMatter","problemMarkdownFrontMatterSchema","parse","e","f","Error","concat","apply","this","arguments","_x"],"mappings":"gLAqBC,SAAAA,IAAA,OAAAA,EAAAC,EAAAA,iBAAAC,EAAAA,cAAAC,EAbM,SAAAC,EAA8CC,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAX,gBAAAY,EAAA,SAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,KAAA,EAAA,OAAAL,EAAAM,EAAAA,0BAAAH,EAAAE,EAAA,EAC1CE,EAAGC,SAASC,QAAQhB,EAAY,CAAEiB,eAAe,IAAO,KAAA,EAAAhB,EAAAM,EAAAG,EAAAQ,GAAAR,EAAAC,EAAA,EAAAV,EAAAkB,IAAA,KAAA,EAAA,IAAAjB,EAAAD,EAAAW,KAAAQ,KAAA,CAAAV,EAAAE,EAAA,EAAA,KAAA,CAAlE,IAANT,EAAMD,EAAAmB,OACHC,SAAQ,CAAAZ,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAa,EAAA,EAAA,GAAA,KAAA,EAAA,GACE,eAAhBpB,EAAOqB,MAAyBrB,EAAOqB,KAAKC,SAAS,eAAc,CAAAf,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAa,EAAA,EAAA,GAAA,KAAA,EAAA,OAAAb,EAAAE,EAAA,EAElDE,EAAGC,SAASW,SAASC,EAAKC,KAAKzB,EAAO0B,WAAY1B,EAAOqB,MAAO,QAAO,KAAA,EAE5E,OAFZpB,EAAQM,EAAAQ,EAAAb,EAEUyB,EAA8E1B,GAA9FE,EAAUD,EAAVC,WAAUI,EAAAa,EAAA,EAEXQ,EAAAA,iCAAiCC,MAAM1B,IAAW,KAAA,EAAAI,EAAAE,EAAA,EAAA,MAAA,KAAA,EAAAF,EAAAE,EAAA,GAAA,MAAA,KAAA,EAAAF,EAAAC,EAAA,EAAAH,EAAAE,EAAAQ,EAAAjB,EAAAgC,EAAAzB,GAAA,KAAA,GAAA,OAAAE,EAAAC,EAAA,GAAAV,EAAAiC,IAAAxB,EAAAwB,EAAA,IAAA,KAAA,GAAA,MAGrD,IAAIC,MAAK,+BAAAC,OAAgCpC,IAAa,KAAA,GAAA,OAAAU,EAAAa,EAAA,GAAA,EAAAxB,EAAA,KAAA,CAAA,CAAA,EAAA,EAAA,GAAA,KAAA,KAC7DsC,MAAAC,KAAAC,UAAA,wCAbD,SAAoDC,GAAA,OAAA7C,EAAA0C,MAAAC,KAAAC,UAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{asyncToGenerator as r,regenerator as e,createForOfIteratorHelper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import n from"node:fs";import t from"node:path";import o from"front-matter";import{problemMarkdownFrontMatterSchema as s}from"../types/problem.js";function i(r){return p.apply(this,arguments)}function p(){return(p=r(e().m(function r(i){var p,u,c,
|
|
1
|
+
import{asyncToGenerator as r,regenerator as e,createForOfIteratorHelper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import n from"node:fs";import t from"node:path";import o from"front-matter";import{problemMarkdownFrontMatterSchema as s}from"../types/problem.js";function i(r){return p.apply(this,arguments)}function p(){return(p=r(e().m(function r(i){var p,m,u,c,f,l,b,d;return e().w(function(r){for(;;)switch(r.p=r.n){case 0:return b=a,r.n=1,n.promises.readdir(i,{withFileTypes:!0});case 1:p=b(r.v),r.p=2,p.s();case 3:if((m=p.n()).done){r.n=8;break}if((u=m.value).isFile()){r.n=4;break}return r.a(3,7);case 4:if("problem.md"===u.name||u.name.endsWith(".problem.md")){r.n=5;break}return r.a(3,7);case 5:return r.n=6,n.promises.readFile(t.join(u.parentPath,u.name),"utf8");case 6:return c=r.v,f=o(c),l=f.attributes,r.a(2,s.parse(l));case 7:r.n=3;break;case 8:r.n=10;break;case 9:r.p=9,d=r.v,p.e(d);case 10:return r.p=10,p.f(),r.f(10);case 11:throw new Error("problem markdown not found: ".concat(i));case 12:return r.a(2)}},r,null,[[2,9,10,11]])}))).apply(this,arguments)}export{i as readProblemMarkdownFrontMatter};
|
|
2
2
|
//# sourceMappingURL=readProblemMarkdownFrontMatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readProblemMarkdownFrontMatter.js","sources":["../../src/helpers/readProblemMarkdownFrontMatter.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport parseFrontMatter from 'front-matter';\n\nimport type { ProblemMarkdownFrontMatter } from '../types/problem.js';\nimport { problemMarkdownFrontMatterSchema } from '../types/problem.js';\n\nexport async function readProblemMarkdownFrontMatter(problemDir: string): Promise<ProblemMarkdownFrontMatter> {\n for (const dirent of await fs.promises.readdir(problemDir, { withFileTypes: true })) {\n if (!dirent.isFile()) continue;\n if (!dirent.name.endsWith('.problem.md')) continue;\n\n const markdown = await fs.promises.readFile(path.join(dirent.parentPath, dirent.name), 'utf8');\n\n const { attributes } = (parseFrontMatter as unknown as (markdown: string) => { attributes: unknown })(markdown);\n\n return problemMarkdownFrontMatterSchema.parse(attributes);\n }\n\n throw new Error(`problem markdown not found: ${problemDir}`);\n}\n"],"names":["readProblemMarkdownFrontMatter","_x","_readProblemMarkdownFrontMatter","apply","this","arguments","_asyncToGenerator","_regenerator","m","_callee","problemDir","_iterator","_step","dirent","markdown","_ref","attributes","_t","_t2","w","_context","p","n","_createForOfIteratorHelper","fs","promises","readdir","withFileTypes","v","s","done","value","isFile","a","name","endsWith","readFile","path","join","parentPath","parseFrontMatter","problemMarkdownFrontMatterSchema","parse","e","f","Error","concat"],"mappings":"+QAQA,SAAsBA,EAA8BC,GAAA,OAAAC,EAAAC,MAAAC,KAAAC,UAAA,CAanD,SAAAH,IAAA,OAAAA,EAAAI,EAAAC,IAAAC,EAbM,SAAAC,EAA8CC,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAX,IAAAY,EAAA,SAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,KAAA,EAAA,OAAAL,EAAAM,EAAAH,EAAAE,EAAA,EAC1CE,EAAGC,SAASC,QAAQhB,EAAY,CAAEiB,eAAe,IAAO,KAAA,EAAAhB,EAAAM,EAAAG,EAAAQ,GAAAR,EAAAC,EAAA,EAAAV,EAAAkB,IAAA,KAAA,EAAA,IAAAjB,EAAAD,EAAAW,KAAAQ,KAAA,CAAAV,EAAAE,EAAA,EAAA,KAAA,CAAlE,IAANT,EAAMD,EAAAmB,OACHC,SAAQ,CAAAZ,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAa,EAAA,EAAA,GAAA,KAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"readProblemMarkdownFrontMatter.js","sources":["../../src/helpers/readProblemMarkdownFrontMatter.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport parseFrontMatter from 'front-matter';\n\nimport type { ProblemMarkdownFrontMatter } from '../types/problem.js';\nimport { problemMarkdownFrontMatterSchema } from '../types/problem.js';\n\nexport async function readProblemMarkdownFrontMatter(problemDir: string): Promise<ProblemMarkdownFrontMatter> {\n for (const dirent of await fs.promises.readdir(problemDir, { withFileTypes: true })) {\n if (!dirent.isFile()) continue;\n if (!(dirent.name === 'problem.md' || dirent.name.endsWith('.problem.md'))) continue;\n\n const markdown = await fs.promises.readFile(path.join(dirent.parentPath, dirent.name), 'utf8');\n\n const { attributes } = (parseFrontMatter as unknown as (markdown: string) => { attributes: unknown })(markdown);\n\n return problemMarkdownFrontMatterSchema.parse(attributes);\n }\n\n throw new Error(`problem markdown not found: ${problemDir}`);\n}\n"],"names":["readProblemMarkdownFrontMatter","_x","_readProblemMarkdownFrontMatter","apply","this","arguments","_asyncToGenerator","_regenerator","m","_callee","problemDir","_iterator","_step","dirent","markdown","_ref","attributes","_t","_t2","w","_context","p","n","_createForOfIteratorHelper","fs","promises","readdir","withFileTypes","v","s","done","value","isFile","a","name","endsWith","readFile","path","join","parentPath","parseFrontMatter","problemMarkdownFrontMatterSchema","parse","e","f","Error","concat"],"mappings":"+QAQA,SAAsBA,EAA8BC,GAAA,OAAAC,EAAAC,MAAAC,KAAAC,UAAA,CAanD,SAAAH,IAAA,OAAAA,EAAAI,EAAAC,IAAAC,EAbM,SAAAC,EAA8CC,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAX,IAAAY,EAAA,SAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,KAAA,EAAA,OAAAL,EAAAM,EAAAH,EAAAE,EAAA,EAC1CE,EAAGC,SAASC,QAAQhB,EAAY,CAAEiB,eAAe,IAAO,KAAA,EAAAhB,EAAAM,EAAAG,EAAAQ,GAAAR,EAAAC,EAAA,EAAAV,EAAAkB,IAAA,KAAA,EAAA,IAAAjB,EAAAD,EAAAW,KAAAQ,KAAA,CAAAV,EAAAE,EAAA,EAAA,KAAA,CAAlE,IAANT,EAAMD,EAAAmB,OACHC,SAAQ,CAAAZ,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAa,EAAA,EAAA,GAAA,KAAA,EAAA,GACE,eAAhBpB,EAAOqB,MAAyBrB,EAAOqB,KAAKC,SAAS,eAAc,CAAAf,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAa,EAAA,EAAA,GAAA,KAAA,EAAA,OAAAb,EAAAE,EAAA,EAElDE,EAAGC,SAASW,SAASC,EAAKC,KAAKzB,EAAO0B,WAAY1B,EAAOqB,MAAO,QAAO,KAAA,EAE5E,OAFZpB,EAAQM,EAAAQ,EAAAb,EAEUyB,EAA8E1B,GAA9FE,EAAUD,EAAVC,WAAUI,EAAAa,EAAA,EAEXQ,EAAiCC,MAAM1B,IAAW,KAAA,EAAAI,EAAAE,EAAA,EAAA,MAAA,KAAA,EAAAF,EAAAE,EAAA,GAAA,MAAA,KAAA,EAAAF,EAAAC,EAAA,EAAAH,EAAAE,EAAAQ,EAAAjB,EAAAgC,EAAAzB,GAAA,KAAA,GAAA,OAAAE,EAAAC,EAAA,GAAAV,EAAAiC,IAAAxB,EAAAwB,EAAA,IAAA,KAAA,GAAA,MAGrD,IAAIC,MAAK,+BAAAC,OAAgCpC,IAAa,KAAA,GAAA,OAAAU,EAAAa,EAAA,GAAA,EAAAxB,EAAA,KAAA,CAAA,CAAA,EAAA,EAAA,GAAA,KAAA,KAC7DN,MAAAC,KAAAC,UAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exercode/problem-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": ":100: A set of utilities for judging programs on Exercode (https://exercode.willbooster.com/).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"exercode",
|
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
"lint-staged": "16.2.7",
|
|
75
75
|
"micromatch": "4.0.8",
|
|
76
76
|
"pinst": "3.0.0",
|
|
77
|
-
"prettier": "3.7.
|
|
77
|
+
"prettier": "3.7.4",
|
|
78
78
|
"prettier-plugin-java": "2.7.7",
|
|
79
79
|
"semantic-release": "25.0.2",
|
|
80
80
|
"sort-package-json": "3.5.0",
|
|
81
81
|
"typescript": "5.9.3",
|
|
82
|
-
"typescript-eslint": "8.48.
|
|
82
|
+
"typescript-eslint": "8.48.1",
|
|
83
83
|
"vitest": "4.0.14"
|
|
84
84
|
},
|
|
85
85
|
"packageManager": "yarn@4.12.0",
|