vbapm 0.6.14 → 0.6.15
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/addins/build/vbapm.xlam +0 -0
- package/lib/_commonjsHelpers-Bjf42z7h.js +1 -0
- package/lib/build-project-BczswKQl.js +3 -0
- package/lib/build-target-D6L5nsgt.js +9 -0
- package/lib/crc32-Cc3OMFYk.js +1 -0
- package/lib/create-project-CPIRr0DV.js +10 -0
- package/lib/debug.js +1 -1
- package/lib/export-project-DQ3bfvbV.js +4 -0
- package/lib/export-target-CN6RA_mA.js +4 -0
- package/lib/{get-target-e760a439.js → get-target-CH6IpAa1.js} +1 -1
- package/lib/index-BlteXxjY.js +1 -0
- package/lib/index-CEojr58e.js +2 -0
- package/lib/index-D-khpcjL.js +54 -0
- package/lib/index-DSgWshzu.js +2 -0
- package/lib/index-DXFu_Z-o.js +6 -0
- package/lib/index-Dg07BXJE.js +14 -0
- package/lib/index.js +1 -1
- package/lib/init-project-dRuDA4YO.js +15 -0
- package/lib/installer-CJlDenLg.js +9 -0
- package/lib/{load-from-project-acf7400a.js → load-from-project-Bpb6Ne_i.js} +1 -1
- package/lib/once-fkpTAKD3.js +1 -0
- package/lib/project-C3bWzV0O.js +29 -0
- package/lib/run-macro-D_9-BO3U.js +1 -0
- package/lib/sat-solver-5AniWyxz.js +1 -0
- package/lib/string_decoder-CW-j4E6X.js +1 -0
- package/lib/test-project-BTkTNZXs.js +1 -0
- package/lib/tmp-C7yJT4iq.js +8 -0
- package/lib/toml-patch.es-CxrbsPnB.js +3 -0
- package/lib/transform-target-Doak2S1q.js +2 -0
- package/lib/vbapm-build-B1OOy6VL.js +9 -0
- package/lib/vbapm-export-vvUDCDqi.js +7 -0
- package/lib/{vbapm-init-5c8eb026.js → vbapm-init-csKsZ87H.js} +2 -2
- package/lib/vbapm-new-Dt0tX1xQ.js +17 -0
- package/lib/{vbapm-run-2f17fb22.js → vbapm-run-Ccciwg2y.js} +1 -1
- package/lib/{vbapm-test-a7b30592.js → vbapm-test-u7AWC-AV.js} +1 -1
- package/lib/vbapm-version-Bsb-cWCD.js +8 -0
- package/lib/vbapm.js +10 -10
- package/package.json +12 -12
- package/lib/_commonjsHelpers-553b27b3.js +0 -1
- package/lib/build-project-eb8454f0.js +0 -3
- package/lib/build-target-dbcc69c7.js +0 -9
- package/lib/create-project-3154aace.js +0 -10
- package/lib/export-project-bc13c1ae.js +0 -4
- package/lib/export-target-5d28d188.js +0 -4
- package/lib/index-4ce3d28b.js +0 -6
- package/lib/index-72c1a91d.js +0 -3
- package/lib/index-c5b5f6d1.js +0 -2
- package/lib/index-ddd39b65.js +0 -5
- package/lib/init-project-ceecd718.js +0 -15
- package/lib/installer-dbc2c34a.js +0 -21
- package/lib/once-5205b917.js +0 -1
- package/lib/project-43370ed3.js +0 -29
- package/lib/run-macro-4f1375ca.js +0 -1
- package/lib/sat-solver-f9155891.js +0 -1
- package/lib/test-project-669dfcfb.js +0 -1
- package/lib/tmp-14f9d850.js +0 -9
- package/lib/toml-patch.es-6bd2145d.js +0 -3
- package/lib/vbapm-build-8ff58485.js +0 -9
- package/lib/vbapm-export-96798f4f.js +0 -7
- package/lib/vbapm-new-cd174cbb.js +0 -17
- package/lib/vbapm-version-c5f3d55a.js +0 -8
- package/lib/workbook-xml-a61269f4.js +0 -2
package/lib/once-5205b917.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var n=function n(e,r){if(e&&r)return n(e)(r);if("function"!=typeof e)throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(n){t[n]=e[n]}),t;function t(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var t=e.apply(this,n),o=n[n.length-1];return"function"==typeof t&&t!==o&&Object.keys(o).forEach(function(n){t[n]=o[n]}),t}};var e=n(t),r=n(o);function t(n){var e=function(){return e.called?e.value:(e.called=!0,e.value=n.apply(this,arguments))};return e.called=!1,e}function o(n){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=n.apply(this,arguments)},r=n.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}t.proto=t(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return t(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return o(this)},configurable:!0})}),e.strict=r,exports.once_1=e;
|
package/lib/project-43370ed3.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./installer-dbc2c34a.js"),t=require("assert"),n=require("path"),r=require("querystring"),i=require("fs");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var o=a(i);function s(e){return Array.from(new Set(e))}async function c(e,t){const n=e.root.dependencies.concat(e.root.devDependencies);await u(n,t);const r=[],i=[];for(const[e,n]of t){const e=p(n);e?r.push(e):i.push(n)}if(i.length)throw new Error("Unable to resolve dependency graph for given manifest");return r}async function u(e,t){const n=await Promise.all(e.map(e=>t.get(e)));for(const e of n){const{registered:n}=e,r=p(e)||n[n.length-1];await u(r.dependencies,t)}}function p(t){const n=s(t.range).join(" "),r=t.registered.slice().reverse();return n?r.find(t=>e.semver.satisfies(t.version,n)):r[0]}const d='Example vbaproject.toml:\n\n [dependencies]\n a = "^1.0.0"\n b = { version = "^0.1.0" }\n c = { path = "packages/c" }\n d = { git = "https://github.com/author/d" }\n e = { git = "https://github.com/author/e", branch = "next" }\n f = { git = "https://github.com/author/f", tag = "v1.0.0" }\n g = { git = "https://github.com/author/g", rev = "a1b2c3d4" }\n\n [dependencies.h]\n version = "^2.0.0"';function l(t,n){return Object.entries(t).map(([t,r])=>function(t,n,r){e.isString(n)&&(n={version:n});let{registry:i="vba-blocks",version:a,path:o,git:s,tag:c,branch:u="master",rev:p}=n;return e.manifestOk(a||o||s,`Invalid dependency "${t}", no version, path, or git specified. \n\n${d}`),a?{name:t,registry:i,version:a}:o?{name:t,path:e.trailing(e.join(r,o))}:(s=v(s),p?{name:t,git:s,rev:p}:c?{name:t,git:s,tag:c}:{name:t,git:s,branch:u})}(t,r,n))}function f(t){return e.has(t,"registry")}function g(t){return e.has(t,"path")}function h(t){return e.has(t,"git")}function m(t,n){const r={};return t.forEach(t=>{if(f(t)){const{name:e,registry:n,version:i}=t;r[e]="vba-blocks"!==n?{version:i,registry:n}:i}else if(g(t)){let{name:i,path:a}=t;a=e.relative(n,a),r[i]={path:a}}else{const{name:e,git:n,tag:i,branch:a,rev:o}=t;r[e]={name:e,git:n},i&&(r[e].tag=i),a&&(r[e].branch=a),o&&(r[e].rev=o)}}),r}function v(e){return".git"===n.extname(e)?e:`${e}.git`}const y=e.dedent`
|
|
2
|
-
git dependencies are not currently supported.
|
|
3
|
-
|
|
4
|
-
Upgrade to Professional Edition (coming soon) for git dependencies and more.
|
|
5
|
-
`;class w{resolve(t){throw new e.CliError(e.ErrorCode.SourceUnsupported,y)}fetch(t){throw new e.CliError(e.ErrorCode.SourceUnsupported,y)}}async function b(e){const{parse:t}=await Promise.resolve().then(function(){return require("./toml-patch.es-6bd2145d.js")});return t(e)}function k(t,n=0){if(e.isString(t))return`"${t}"`;if(e.isNumber(t))return`${t}`;if(e.isBoolean(t))return t?"true":"false";if(e.isDate(t))return t.toISOString();if(e.isObject(t)){let e="";if(0===n)for(const[r,i]of Object.entries(t))Array.isArray(i)?i.forEach(t=>{e+=`[[${r}]]\n${k(t,n+1)}\n`}):e+=`[${r}]\n${k(i,n+1)}\n`;else if(1===n)for(const[r,i]of Object.entries(t))if(Array.isArray(i)){const t=0===i.length;e+=`${r} = [\n`,e+=i.map(e=>` ${k(e,n+1)}`).join(",\n"),e+=t?"]\n":",\n]\n"}else e+=`${r} = ${k(i,n+1)}\n`;return e}throw new Error("Unsupported type passed to toLockfile. Only String, Number, Boolean, Date, Array, and Object are supported")}const j=/^(\d+)\.(\d+)$/,$=/\{.{8}-.{4}-.{4}-.{4}-.{12}\}/,E=e=>parseInt(e,10),x='Example vbaproject.toml:\n\n [references.Scripting]\n version = "1.0"\n guid = "{420B2830-E718-11CF-893D-00A0C9054228}"';function S(t){return Object.entries(t).map(([t,n])=>function(t,n){const{version:r,guid:i}=n;e.manifestOk((e=>j.test(e))(r),`Reference "${t}" has an invalid version "${r}". \n\n${x}.`),e.manifestOk((e=>$.test(e))(i),`Reference "${t}" has an invalid guid "${i}". \n\n${x}'`);const{major:a,minor:o}=(e=>{const[t,n]=e.split(".",2).map(E);return{major:t,minor:n}})(r);return{name:t,guid:i,major:a,minor:o}}(t,n))}function C(e){const t={};return e.forEach(e=>{const{name:n,guid:r,major:i,minor:a}=e,o=`${i}.${a}`;t[n]={version:o,guid:r}}),t}const O='Example vbaproject.toml:\n\n [src]\n A = "src/a.bas"\n B = { path = "src/b.cls" }';function D(t,n){return Object.entries(t).map(([t,r])=>function(t,n,r){e.isString(n)&&(n={path:n});const{path:i,binary:a}=n;e.manifestOk(i,`src "${t}" is missing path. \n\n${O}`);const o=e.join(r,i),s={name:t,path:o};a&&(s.binary=e.join(r,a));return s}(t,r,n))}function q(t,n){const r={};return t.forEach(t=>{let{name:i,path:a}=t;a=e.relative(n,a),r[i]=a}),r}const P=["xlsx","xlsm","xlam"];function F(t,n,r){e.isString(t)&&(t={type:t}),e.has(t,"name")||(t={name:n,...t});const{type:i,name:a,path:o="target"}=t;e.manifestOk(e.isString(i),'Target is missing "type". \n\nExample vbaproject.toml:\n\n [project]\n target = "xlsm"\n\nExample vbaproject.toml with alternative path:\n\n [project]\n target = { type = "xlsm", path = "target/xlsm" }.'),e.manifestOk(function(t){return e.isString(t)&&P.includes(t)}(i),`Unsupported target type "${i}". Only "xlsx", "xlsm", and "xlam" are supported currently.`);return{name:a,type:i,path:e.join(r,o),filename:`${e.sanitize(a)}.${i}`}}const R="UNVERSIONED",_='Example vbaproject.toml for a package (e.g. library to be shared):\n\n [package]\n name = "my-package"\n version = "0.0.0"\n authors = ["..."]\n\nExample vbaproject.toml for a project (e.g. workbook, document, etc.):\n\n [project]\n name = "my-project"\n target = "xlsm"';function N(t,n){let r,i,a,o,s,c;e.manifestOk(t&&(t.package||t.project),`A [package] or [project] section is required. \n\n${_}`),t.project?(r="project",i=t.project.name,a=t.project.version||R,o=t.project.authors,e.manifestOk(i,`[project] name is a required field. \n\n${_}`),e.manifestOk(t.project.target,`[project] target is a required field. \n\n${_}`),c=F(t.project.target,i,n)):(r="package",i=t.package.name,a=t.package.version,o=t.package.authors,s=t.package.publish,e.manifestOk(i,`[package] name is a required field. \n\n${_}`),e.manifestOk(a,`[package] version is a required field. \n\n${_}`),e.manifestOk(o,`[package] authors is a required field. \n\n${_}`),c=t.package.target&&F(t.package.target,i,n));return{type:r,name:i,version:a,metadata:{authors:o,publish:s},src:D(t.src||{},n),dependencies:l(t.dependencies||{},n),references:S(t.references||{}),devSrc:D(t["dev-src"]||{},n),devDependencies:l(t["dev-dependencies"]||{},n),devReferences:S(t["dev-references"]||{}),target:c}}async function M(t){let n=e.join(t,"vbaproject.toml");if(!await e.pathExists_1.pathExists(n)){const r=e.join(t,"vba-block.toml");if(!await e.pathExists_1.pathExists(r))throw new e.CliError(e.ErrorCode.ManifestNotFound,e.dedent`
|
|
6
|
-
vbaproject.toml not found in "${t}".
|
|
7
|
-
|
|
8
|
-
Try "vbapm init" to start a new project in this directory
|
|
9
|
-
or "cd YOUR_PROJECTS_DIRECTORY" to change to a folder that contains an existing project.
|
|
10
|
-
`);n=r}const r=await e.readFile(n);let i;try{i=await b(r.toString())}catch(t){throw new e.CliError(e.ErrorCode.ManifestInvalid,e.dedent`
|
|
11
|
-
vbaproject.toml is invalid:
|
|
12
|
-
|
|
13
|
-
Syntax Error: ${n} (${null==t?void 0:t.line}:${null==t?void 0:t.column})\n\n${(null==t?void 0:t.message)||t}
|
|
14
|
-
`)}return N(i,e.normalize(t))}function A(t,n){return e.isString(t)||(n=t.version,t=t.name),`${t}@${n}`}function U(e,t,n){let r=`${e}+${t}`;return n&&(r+=`#${n}`),r}function z(e){const[t,...n]=e.split("#"),[r,...i]=t.split("+");return{type:r,value:i.join("+"),details:n.join("#")}}function I(t){const{name:n,version:i,source:a}=t,{type:o,value:s,details:c}=z(a);if("registry"===o)return{name:n,version:i,registry:s};if("git"===o){return{name:n,git:s,...r.parse(c)}}if("path"===o)return{name:n,path:s,version:i};throw new e.CliError(e.ErrorCode.SourceUnrecognizedType,e.dedent`
|
|
15
|
-
Unrecognized source type "${o}" in registration.
|
|
16
|
-
("registry", "path", and "git" are supported)
|
|
17
|
-
`)}class T{async resolve(t){const{name:n,path:r}=t;if(!e.pathExists_1.pathExists(r))throw new e.CliError(e.ErrorCode.DependencyPathNotFound,`Path not found for dependency "${n}" (${r}).`);const i=await M(r),{version:a,dependencies:o}=i;return[{id:A(i),source:U("path",r),name:n,version:a,dependencies:o}]}async fetch(e){const{value:t}=z(e.source);return t}}const L=e.env.debug("vbapm:git"),B={name:"vbapm",email:"vbapm@local"};async function W(){const e=await Promise.resolve().then(function(){return require("./installer-dbc2c34a.js")}).then(function(e){return e.index});global.fetch=e.default;return{git:await Promise.resolve().then(function(){return require("./index-4ce3d28b.js")}),http:(await Promise.resolve().then(function(){return require("./index-c5b5f6d1.js")})).default}}async function J(e,t,n){const r=function(e){return"default"in e?e.default:e}(await Promise.resolve().then(function(){return require("./index-ddd39b65.js")}).then(function(e){return e.index}));await r(e,t,n)}const Y=e.env.debug("vbapm:registry-source");class V{constructor({name:t,index:n,packages:r}){this.name=t,this.local={index:e.join(e.env.registry,t),packages:e.join(e.env.packages,t)},this.remote={index:n,packages:r},this.sources=e.join(e.env.sources,t),this.upToDate=!1}async resolve(t){this.upToDate||await this.pull();const{name:n}=t,r=function(t,n){return e.join(t,G(n))}(this.local.index,n);if(!await e.pathExists_1.pathExists(r))throw new e.CliError(e.ErrorCode.DependencyNotFound,`Dependency "${n}" not found in registry "${this.name}".`);const i=(await e.readFile(r,"utf8")).split(/\r?\n/).filter(e=>!!e).map(e=>JSON.parse(e)).filter(e=>e&&!e.yanked).map(e=>function(e,t){const{name:n,vers:r,cksum:i}=t,a=t.deps.map(t=>{const{name:n,req:r}=t;return{name:n,registry:e,version:r}});return{id:A(n,r),source:U("registry",e,i),name:n,version:r,dependencies:a}}(this.name,e));return i}async fetch(t){const r=function(e,t){const{name:n,version:r}=t;return`${e}/${G(n)}-v${r}.block`}(this.remote.packages,t),a=function(t,n){const{name:r,version:i}=n;return e.join(t,`${G(r)}-v${i}.block`)}(this.local.packages,t),[o,s]=t.source.split("#",2),[c,u]=s.split("-");if(!await e.pathExists_1.pathExists(a)){const o=await e.tmpFile();try{await async function(t,r){return await e.mkdirs_1.ensureDir(n.dirname(r)),e.fetch(t).then(e=>{const t=i.createWriteStream(r);return new Promise((n,r)=>{e.body.pipe(t).on("finish",()=>n()).on("error",r)})})}(r,o)}catch(n){throw new e.CliError(e.ErrorCode.SourceDownloadFailed,`Failed to download "${t.source}".`,n)}const s=await e.checksum(o,c);if(s!==u)throw Y(`Checksum failed for ${o}`),Y(`Expected ${u} (${c}), received ${s}`),new e.CliError(e.ErrorCode.DependencyInvalidChecksum,e.dedent`
|
|
18
|
-
Dependency "${t.name}" failed validation.
|
|
19
|
-
|
|
20
|
-
The downloaded file signature for ${t.id}
|
|
21
|
-
does not match the signature in the registry.
|
|
22
|
-
`);await e.move_1.move(o,a)}const p=function(t,n){const{name:r,version:i}=n;return e.join(t,`${G(r)}-v${i}`)}(this.sources,t);await e.mkdirs_1.ensureDir(p),await J(a,p);const d=e.join(p,"vba-block.toml"),l=e.join(p,"vbaproject.toml");return i.existsSync(d)&&(i.existsSync(l)?i.unlinkSync(d):i.renameSync(d,l)),p}async pull(){if(this.pulling)return this.pulling;this.pulling=async function(t,r){const i=await e.pathExists_1.pathExists(t);if(i&&!async function(t){return await e.pathExists_1.pathExists(e.join(t,".git"))}(t))return void e.env.reporter.log(e.Message.RegistrySourceLocalOnly,"(local registry is not a git repository, skipping pull)");if(!i){await e.mkdirs_1.ensureDir(n.dirname(t));try{await async function(t,n,r){const{git:i,http:a}=await W(),s=e.join(r,n);L(`clone: ${t} to ${s}`),await i.clone({fs:o,http:a,dir:s,url:t,depth:1})}(r,n.basename(t),n.dirname(t))}catch(t){throw new e.CliError(e.ErrorCode.RegistryCloneFailed,`Failed to clone registry from ${r}`,t)}}try{await async function(e){const{git:t,http:n}=await W(),r=await t.currentBranch({fs:o,dir:e,fullname:!1});L(`pull: ${e}${r?` (${r})`:""}`),await t.pull({fs:o,http:n,dir:e,ref:r||void 0,author:B,committer:B})}(t)}catch(t){Y("Pull failed",t),e.env.reporter.log(e.Message.RegistrySourceSkipPull,"(failed to update local registry, resolving with previously loaded values)")}}(this.local.index,this.remote.index),await this.pulling,this.upToDate=!0,this.pulling=void 0}}function G(t){return e.sanitize(t.replace("/","--"))}async function H(n,r){if(f(r)){const{registry:e}=r,i=n.registry[e];return t.ok(i,Q(e)),i.resolve(r)}if(g(r))return n.path.resolve(r);if(h(r))return n.git.resolve(r);throw new e.CliError(e.ErrorCode.DependencyUnknownSource,`No source matches dependency "${r.name}".`)}async function K(n,r){const{type:i,value:a}=z(r.source);if("registry"===i){const e=n.registry[a];return t.ok(e,Q(a)),n.registry[a].fetch(r)}if("path"===i)return n.path.fetch(r);if("git"===i)return n.git.fetch(r);throw new e.CliError(e.ErrorCode.SourceNoneMatching,e.dedent`
|
|
23
|
-
No source matches given registration type "${i}"
|
|
24
|
-
(source = "${r.source}").
|
|
25
|
-
`)}function Q(t){return new e.CliError(e.ErrorCode.SourceMisconfiguredRegistry,`No matching registry configured for "${t}".`)}class X{constructor(e){this.config=e,this.graph=new Map,this.loading=new Map,this.preferred=new Map}async get(e){const{name:t}=e;this.loading.has(t)&&await this.loading.get(t);let n=this.graph.get(t);if(!n){const r=H(this.config.sources,e);this.loading.set(t,r);n={name:t,range:[],registered:await r},this.preferred.has(t)&&(n.preferred=this.preferred.get(t)),this.loading.delete(t),this.graph.set(t,n)}return f(e)&&n.range.push(e.version),n}getRegistration(e){const[t,n]=e.split("@",2);if(!this.graph.has(t))return;const{registered:r}=this.graph.get(t);return r.find(e=>e.version===n)}prefer(e){for(const t of e)this.preferred.set(t.name,t)}[Symbol.iterator](){return this.graph.entries()}}const Z=e.env.debug("vbapm:resolve");async function ee(t,n,r=[]){e.env.reporter.log(e.Message.DependenciesResolving,"Resolving dependencies");const i=new X(t);i.prefer(r);try{return await c(n,i)}catch(e){Z(`solveLatest failed with ${e}`)}try{const{solveSat:e}=await Promise.resolve().then(function(){return require("./sat-solver-f9155891.js")});return await e(n,i)}catch(e){Z(`solveSat failed with ${e}`)}throw new e.CliError(e.ErrorCode.ResolveFailed,e.dedent`
|
|
26
|
-
Unable to resolve dependency graph for project.
|
|
27
|
-
|
|
28
|
-
There are dependencies that cannot be satisfied.
|
|
29
|
-
`)}async function te(e,t){return e.name===t.name&&await async function(e,t){const n=e.dependencies.concat(e.devDependencies);if(n.length!==t.dependencies.length)return!1;const r={};n.forEach(e=>{r[e.name]=e});for(const e of t.dependencies){const t=r[e.name];if(!t)return!1;if(!await ne(t,e))return!1}return!0}(e,t)}async function ne(t,n){if(f(n))return f(t)&&e.semver.satisfies(n.version,t.version);if(g(n)){if(!g(t))return!1;if(t.path!==n.path)return!1;return(await M(t.path)).version===n.version}if(h(n)){if(!h(t))return!1;if(e.has(t,"rev")&&e.has(n,"rev"))return t.rev===n.rev;if(e.has(t,"tag")&&e.has(n,"tag"))return t.tag===n.tag;if(e.has(t,"branch")&&e.has(n,"branch"))return t.branch===n.branch}return!1}const re=e.env.debug("vbapm:lockfile");async function ie(n){const r=e.join(n,"vbaproject.lock");if(re(`Reading lockfile from ${r}`),!await e.pathExists_1.pathExists(r))return re("Not found"),null;try{const i=await e.readFile(r,"utf8");return await async function(n,r){const i=await b(n);t.ok(e.has(i,"root"),"vbaproject.lock is missing [root] field");const a=i.metadata,o=new Map,s=(i.packages||[]).map(e=>{const{name:n,version:i,source:a,dependencies:s}=e;t.ok(n&&i&&a&&Array.isArray(s),"Invalid package in lockfile");const c={id:A(n,i),name:n,version:i,source:ce(a,r),dependencies:s};return o.set(n,I(c)),c});s.forEach(e=>{e.dependencies=e.dependencies.map(e=>pe(e,o))});const c=ae(i.root,o),u=(i.members||[]).map(e=>ae(e,o));return{metadata:a,workspace:{root:c,members:u},packages:s}}(i,n)}catch(e){return re("Error reading/parsing"),re(e),null}}function ae(e,n){const{name:r}=e;t.ok(r&&Array.isArray(e.dependencies),"Invalid manifest in lockfile");return{name:r,dependencies:e.dependencies.map(e=>pe(e,n))}}function oe(e,t,n){const{name:r,version:i}=e;return{name:r,dependencies:e.dependencies.concat(e.devDependencies).map(e=>ue(e,t,n))}}function se(t,n){const{type:r,value:i,details:a}=z(t);if("path"!==r)return t;return U(r,e.trailing(e.relative(n,i)),a)}function ce(t,n){const{type:r,value:i,details:a}=z(t);if("path"!==r)return t;return U(r,e.join(n,i),a)}function ue(n,r,i){const a=function(e,t){return e.find(e=>e.name===t.name)}(r,n);t.ok(a,`No package found for dependency "${n.name}"`);let{version:o,source:s}=a;const{type:c,value:u,details:p}=z(s);if("path"===c){s=U(c,e.trailing(e.relative(i,u)),p)}return`${n.name} ${o} ${s}`}function pe(e,n){const[r]=e.split(" ",1),i=n.get(r);return t.ok(i,`Package not found in lockfile, "${e}"`),i}function de(e,t){return e.name<t.name?-1:e.name>t.name?1:0}const le={registry:{},flags:{}},fe={"vba-blocks":{index:"https://github.com/vba-blocks/registry",packages:"https://packages.vba-blocks.com"}},ge={};async function he(){const t={...le,...await me(e.env.config)||{}},n=await async function(){return}(e.env.cwd),r={...le,...n?await me(n):{}},i={},a={...fe,...t.registry,...r.registry,...i.registry},o={...ge,...t.flags,...r.flags,...i.flags},s={registry:{},git:new w,path:new T};for(const[e,{index:t,packages:n}]of Object.entries(a))s.registry[e]=new V({name:e,index:t,packages:n});return{registry:a,flags:o,sources:s}}async function me(t){const n=e.join(t,"config.toml");if(!await e.pathExists_1.pathExists(n))return{};const r=await e.readFile(n);return await b(r.toString())}async function ve(e,t){return{paths:{root:t,members:[]},root:e,members:[]}}const ye=e.env.debug("vbapm:project");exports.fetch=K,exports.fetchDependencies=async function(t){const n=await e.parallel(t.packages,async e=>{const n=await K(t.config.sources,e);return await M(n)},{progress:e.env.reporter.progress("Fetching dependencies")});return n},exports.init=async function(e){const{git:t}=await W();L(`init: ${e}`),await t.init({fs:o,dir:e})},exports.initProject=async function(t,n,r={}){n=e.normalize(n);const{type:i="project"}=r,a=await he(),o={type:i,name:t,version:"0.0.0",metadata:{authors:[],license:"UNLICENSED"},src:[],dependencies:[],references:[],devSrc:[],devDependencies:[],devReferences:[]},s=await ve(o,n);return{manifest:o,workspace:s,packages:[],config:a,paths:{root:s.paths.root,dir:n,build:e.join(n,"build"),backup:e.join(n,"build",".backup"),staging:await e.tmpFolder({dir:e.env.staging})},hasDirtyLockfile:!0}},exports.isRegistryDependency=f,exports.loadConfig=he,exports.loadProject=async function(t=e.env.cwd){const n=await M(t),r=await he(),i=await ve(n,t),a=await ie(i.paths.root),o=!a||!await async function(e,t){if(!e.metadata||"1"!==e.metadata.version)return!1;if(!await te(t.root,e.workspace.root))return!1;if(e.workspace.members.length!==t.members.length)return!1;const n={};t.members.forEach(e=>n[e.name]=e);for(const t of e.workspace.members){const e=n[t.name];if(!e)return!1;if(!await te(e,t))return!1}return!0}(a,i);return ye(o?"Resolving packages":"Loading packages from lockfile"),{manifest:n,workspace:i,packages:o?await ee(r,i,a?a.packages:[]):a.packages,config:r,paths:{root:i.paths.root,dir:t,build:e.join(t,"build"),backup:e.join(t,"build",".backup"),staging:await e.tmpFolder({dir:e.env.staging})},hasDirtyLockfile:o}},exports.loadWorkspace=ve,exports.parseManifest=N,exports.resolve=ee,exports.resolve$1=H,exports.toDependency=I,exports.unique=s,exports.unzip=J,exports.writeLockfile=async function(t,n){const r=e.join(t,"vbaproject.lock");re(`Writing lockfile to ${r}`);try{const i=function(e,t){const n=oe(e.workspace.root,e.packages,t),r=e.workspace.members.map(n=>oe(n,e.packages,t)),i=e.packages.sort(de).map(n=>{const{name:r,version:i,source:a}=n,o=n.dependencies.map(n=>ue(n,e.packages,t));return{name:r,version:i,source:se(a,t),dependencies:o}}),a=k({metadata:{version:"1"},root:n,members:r,packages:i});return`${a}`}(n,t);await e.writeFile(r,i)}catch(t){throw re("Error converting/writing"),re(t),new e.CliError(e.ErrorCode.LockfileWriteFailed,`Failed to write lockfile to "${r}".`)}},exports.writeManifest=async function(t,n){const r=function(t,n){const{type:r,name:i,version:a,metadata:{authors:o,publish:s,...c}}=t,u={name:i};a!==R&&(u.version=a);null!=o&&(u.authors=o);null!=s&&(u.publish=s);Object.assign(u,c);const p={[r]:u};t.target&&(p[r].target=function(t,n,r){let i,{name:a,type:o,path:s}=t;return s=e.relative(r,s),a!==n||"target"!==s?(i={type:o},a!==n&&(i.name=a),"target"!==s&&(i.path=s)):i=o,i}(t.target,t.name,n));p.src=q(t.src,n),t.dependencies.length&&(p.dependencies=m(t.dependencies,n));t.references.length&&(p.references=C(t.references));t.devSrc.length&&(p["dev-src"]=q(t.devSrc,n));t.devDependencies.length&&(p["dev-dependencies"]=m(t.devDependencies,n));t.devReferences.length&&(p["dev-references"]=C(t.devReferences));return p}(t,n),i=e.join(n,"vbaproject.toml");let a;if(await e.pathExists_1.pathExists(i)){const t=await e.readFile(i,"utf8");a=await async function(e,t){const{patch:n}=await Promise.resolve().then(function(){return require("./toml-patch.es-6bd2145d.js")});return n(e,t)}(t,r)}else a=await async function(e){const{stringify:t}=await Promise.resolve().then(function(){return require("./toml-patch.es-6bd2145d.js")});return t(e)}(r);await e.writeFile(i,a)},exports.zip=async function(e,t){const{create:n}=(await Promise.resolve().then(function(){return a(require("archiver"))})).default;return new Promise((r,a)=>{try{const o=i.createWriteStream(t),s=n("zip");o.on("close",()=>r()),o.on("error",a),s.pipe(o),s.on("error",a),s.directory(e,"/"),s.finalize()}catch(e){a(e)}})};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var r=require("./workbook-xml-a61269f4.js"),e=require("./installer-dbc2c34a.js"),i=require("./project-43370ed3.js");require("assert"),require("fs");var a=require("./get-target-e760a439.js"),o=require("path");exports.runMacro=async function(t){let{target:n,file:s,macro:u,args:l=[""]}=t;if(!s){const r=await i.loadProject(),{target:o}=a.getTarget(r,n);s=e.join(r.paths.dir,"build",o.filename)}if(!s)throw new e.CliError(e.ErrorCode.RunMissingFile,"file is required for vbapm run (e.g. vbapm run --file FILE <macro> <arg>...).");if(!u)throw new e.CliError(e.ErrorCode.RunMissingMacro,"macro is required for vbapm run (e.g. vbapm run --file FILE <macro> <arg>...).");const c=r.extensionToApplication(o.extname(s)),g=await e.run(c,e.resolve(s),u,l),{stdout:f}=g;return f&&f.trim().length&&console.log(f),g};
|