@codepress/codepress-engine 0.4.0-dev.tsc.20251014044352 → 0.4.0-dev.tsc.20251014073506
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 +83 -65
- package/dist/cli.js +2 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -7
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/swc/index.d.ts +2 -3
- package/dist/swc/index.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +1 -6
- package/swc/index.js +4 -4
- package/dist/hash-util.d.ts +0 -15
- package/dist/hash-util.js +0 -55
- package/dist/hash-util.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## CodePress Engine
|
|
2
2
|
|
|
3
|
-
TypeScript-powered instrumentation for the CodePress visual editor. The package ships a Babel plugin, SWC
|
|
3
|
+
TypeScript-powered instrumentation for the CodePress visual editor. The package ships a Babel plugin, SWC plugin, development server, and CLI so React or Next.js projects can expose file-level context to the editor.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -20,27 +20,73 @@ TypeScript-powered instrumentation for the CodePress visual editor. The package
|
|
|
20
20
|
npm install @codepress/codepress-engine
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
## SWC plugin (Next.js) usage
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
// next.config.mjs (Next.js 14/15)
|
|
27
|
+
import createSWCPlugin from "@codepress/codepress-engine/swc";
|
|
28
|
+
|
|
29
|
+
const nextConfig = {
|
|
30
|
+
experimental: {
|
|
31
|
+
swcPlugins: [
|
|
32
|
+
// Auto-detects repo/branch; no options required
|
|
33
|
+
createSWCPlugin(),
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default nextConfig;
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The SWC plugin auto-detects your repository and branch from `git` and common CI env vars. WASM selection is automatic based on your Next.js / `@swc/core` version; see the WASM exports below for manual overrides.
|
|
42
|
+
|
|
43
|
+
Optional options for `createSWCPlugin` (all are optional; omit to use auto-detection):
|
|
44
|
+
|
|
45
|
+
| Option | Type | Default | Purpose |
|
|
46
|
+
| ------------- | ------ | ------------------------------- | ---------------------------------------- |
|
|
47
|
+
| `repo_name` | string | auto-detected from `git remote` | Force repository id in `owner/repo` form |
|
|
48
|
+
| `branch_name` | string | auto-detected from env/`git` | Force branch name |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Babel plugin usage
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
// babel.config.mjs
|
|
56
|
+
export default {
|
|
57
|
+
plugins: ["@codepress/codepress-engine"],
|
|
58
|
+
};
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Each JSX element receives a `codepress-data-fp` attribute whose value encodes the relative path and start/end line numbers. On the first root container (`html`, `body`, or `div`), the plugin also injects repository and branch metadata.
|
|
62
|
+
|
|
63
|
+
Optional options for the Babel plugin (all are optional; omit to use auto-detection):
|
|
64
|
+
|
|
65
|
+
| Option | Type | Default | Purpose |
|
|
66
|
+
| ------------- | ------ | ------------------------------- | ---------------------------------------- |
|
|
67
|
+
| `repo_name` | string | auto-detected from `git remote` | Force repository id in `owner/repo` form |
|
|
68
|
+
| `branch_name` | string | auto-detected from env/`git` | Force branch name |
|
|
69
|
+
|
|
23
70
|
Entry points exposed by the package:
|
|
24
71
|
|
|
25
|
-
| Export
|
|
26
|
-
|
|
|
27
|
-
| `@codepress/codepress-engine/babel`
|
|
28
|
-
| `@codepress/codepress-engine/swc`
|
|
29
|
-
| `@codepress/codepress-engine/server`
|
|
30
|
-
| `@codepress/codepress-engine/cli`
|
|
31
|
-
| `@codepress/codepress-engine/hash-util` | Browser utilities for decoding metadata |
|
|
72
|
+
| Export | Description |
|
|
73
|
+
| ------------------------------------ | ---------------------------------- |
|
|
74
|
+
| `@codepress/codepress-engine/babel` | Compiled Babel plugin (CommonJS) |
|
|
75
|
+
| `@codepress/codepress-engine/swc` | SWC plugin factory & WASM helpers |
|
|
76
|
+
| `@codepress/codepress-engine/server` | Fastify development server factory |
|
|
77
|
+
| `@codepress/codepress-engine/cli` | CLI used by the `codepress` binary |
|
|
32
78
|
|
|
33
79
|
---
|
|
34
80
|
|
|
35
81
|
## Project layout
|
|
36
82
|
|
|
37
|
-
| Path | Details
|
|
38
|
-
| ----------------- |
|
|
39
|
-
| `src/` | TypeScript sources for the Babel plugin, CLI, dev server, and utils
|
|
40
|
-
| `dist/` | Compiled JavaScript + declaration files (`npm run build`)
|
|
41
|
-
| `babel/` | Lightweight proxy that re-exports the compiled Babel plugin
|
|
42
|
-
| `swc/` | WASM binaries (`wasm-v42`, `wasm-v26`, `wasm-v0_82_87`) and
|
|
43
|
-
| `tests/`, `test/` | Jest suites covering Babel, SWC, and server helpers
|
|
83
|
+
| Path | Details |
|
|
84
|
+
| ----------------- | ------------------------------------------------------------------------ |
|
|
85
|
+
| `src/` | TypeScript sources for the Babel plugin, CLI, dev server, and utils |
|
|
86
|
+
| `dist/` | Compiled JavaScript + declaration files (`npm run build`) |
|
|
87
|
+
| `babel/` | Lightweight proxy that re-exports the compiled Babel plugin |
|
|
88
|
+
| `swc/` | WASM binaries (`wasm-v42`, `wasm-v26`, `wasm-v0_82_87`) and plugin entry |
|
|
89
|
+
| `tests/`, `test/` | Jest suites covering Babel, SWC, and server helpers |
|
|
44
90
|
|
|
45
91
|
---
|
|
46
92
|
|
|
@@ -61,23 +107,35 @@ The build step must run before publishing or linking locally because Babel and C
|
|
|
61
107
|
|
|
62
108
|
---
|
|
63
109
|
|
|
64
|
-
##
|
|
110
|
+
## Local development
|
|
111
|
+
|
|
112
|
+
Run the local CodePress server alongside your app to visually edit code on disk (no GitHub commits):
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# npm
|
|
116
|
+
npx codepress && npm start
|
|
117
|
+
|
|
118
|
+
# pnpm
|
|
119
|
+
pnpm dlx codepress && pnpm start
|
|
120
|
+
|
|
121
|
+
# yarn
|
|
122
|
+
yarn dlx codepress && yarn start
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Useful commands:
|
|
65
126
|
|
|
66
127
|
```bash
|
|
67
128
|
# Show available commands
|
|
68
129
|
npx codepress help
|
|
69
130
|
|
|
70
|
-
# Launch the
|
|
131
|
+
# Launch the server explicitly on port 4321
|
|
71
132
|
npx codepress server
|
|
72
133
|
|
|
73
|
-
# Scaffold .env entries
|
|
134
|
+
# Scaffold .env entries required by the server
|
|
74
135
|
npx codepress setup
|
|
75
|
-
|
|
76
|
-
# Run your own command with the dev server in the background
|
|
77
|
-
npx codepress npm start
|
|
78
136
|
```
|
|
79
137
|
|
|
80
|
-
Environment variables (
|
|
138
|
+
Environment variables (from `.env` when present):
|
|
81
139
|
|
|
82
140
|
| Variable | Default | Purpose |
|
|
83
141
|
| ------------------------ | ----------- | -------------------------------------------- |
|
|
@@ -86,51 +144,11 @@ Environment variables (loaded from `.env` when present):
|
|
|
86
144
|
| `CODEPRESS_BACKEND_PORT` | `8007` | Backend REST port |
|
|
87
145
|
| `CODEPRESS_API_TOKEN` | _unset_ | API token used for authenticated proxy calls |
|
|
88
146
|
|
|
89
|
-
The server performs git-aware writes
|
|
147
|
+
The server performs git-aware writes and enriches responses with repository metadata. It writes changes to your local filesystem and is not used in production builds.
|
|
90
148
|
|
|
91
149
|
---
|
|
92
150
|
|
|
93
|
-
##
|
|
94
|
-
|
|
95
|
-
```js
|
|
96
|
-
// babel.config.js
|
|
97
|
-
module.exports = {
|
|
98
|
-
plugins: [
|
|
99
|
-
[
|
|
100
|
-
"@codepress/codepress-engine",
|
|
101
|
-
{
|
|
102
|
-
attributeName: "codepress-data-fp",
|
|
103
|
-
repoAttributeName: "codepress-github-repo-name",
|
|
104
|
-
branchAttributeName: "codepress-github-branch",
|
|
105
|
-
},
|
|
106
|
-
],
|
|
107
|
-
],
|
|
108
|
-
};
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Each JSX element receives a `codepress-data-fp` attribute whose value encodes the relative path and start/end line numbers. Repository and branch metadata are attached to container elements (`html`, `body`, `div`) to help the visual editor route updates.
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## SWC transform usage
|
|
116
|
-
|
|
117
|
-
```js
|
|
118
|
-
const {
|
|
119
|
-
transformWithCodePress,
|
|
120
|
-
} = require("@codepress/codepress-engine/swc-plugin");
|
|
121
|
-
|
|
122
|
-
async function transform(source, filePath) {
|
|
123
|
-
const result = await transformWithCodePress(source, filePath, {
|
|
124
|
-
attributeName: "codepress-data-fp",
|
|
125
|
-
repoAttributeName: "codepress-github-repo-name",
|
|
126
|
-
branchAttributeName: "codepress-github-branch",
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
return result.code;
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
`package.json` exports:
|
|
151
|
+
## SWC package exports and WASM selection
|
|
134
152
|
|
|
135
153
|
| Export | Target |
|
|
136
154
|
| --------------------- | -------------------------------------- |
|
|
@@ -146,7 +164,7 @@ The helper automatically selects the correct WASM binary based on detected Next.
|
|
|
146
164
|
|
|
147
165
|
## Feature comparison
|
|
148
166
|
|
|
149
|
-
| Capability | Babel plugin | SWC
|
|
167
|
+
| Capability | Babel plugin | SWC plugin |
|
|
150
168
|
| --------------------- | ------------------------ | ------------------------------- |
|
|
151
169
|
| Git-aware attributes | ✅ | ✅ |
|
|
152
170
|
| Encoded path security | XOR + base64 | XOR + base64 |
|
package/dist/cli.js
CHANGED
|
@@ -108,9 +108,8 @@ function setupDependencies() {
|
|
|
108
108
|
console.log("\x1b[36mℹ Setting up dependencies for Codepress visual editor...\x1b[0m");
|
|
109
109
|
try {
|
|
110
110
|
console.log("\x1b[36mℹ Installing dependencies...\x1b[0m");
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
});
|
|
111
|
+
const npmCmd = process.platform === "win32" ? "npm.cmd" : "npm";
|
|
112
|
+
(0, child_process_1.execFileSync)(npmCmd, ["install", "--save", "prettier@^3.1.0", "node-fetch@^2.6.7"], { stdio: "inherit" });
|
|
114
113
|
console.log("\n\x1b[36mℹ Setting up environment variables...\x1b[0m");
|
|
115
114
|
const envFile = path.join(process.cwd(), ".env");
|
|
116
115
|
let envContent = "";
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type * as Babel from "@babel/core";
|
|
2
|
-
|
|
3
|
-
attributeName?: string;
|
|
4
|
-
repoAttributeName?: string;
|
|
5
|
-
branchAttributeName?: string;
|
|
6
|
-
repo_name?: string;
|
|
7
|
-
branch_name?: string;
|
|
8
|
-
}
|
|
2
|
+
import type { CodePressPluginOptions } from "./types";
|
|
9
3
|
interface CodePressPluginState extends Babel.PluginPass {
|
|
10
4
|
file: Babel.BabelFile & {
|
|
11
5
|
encodedPath?: string;
|
package/dist/index.js
CHANGED
|
@@ -92,15 +92,16 @@ function detectGitRepoName() {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
function codePressPlugin(babel, options = {}) {
|
|
95
|
-
var _a, _b;
|
|
96
95
|
const t = babel.types;
|
|
97
96
|
const currentBranch = detectGitBranch();
|
|
98
97
|
const currentRepoName = detectGitRepoName();
|
|
99
98
|
let globalAttributesAdded = false;
|
|
100
99
|
let processedFileCount = 0;
|
|
101
|
-
const
|
|
102
|
-
const
|
|
103
|
-
const
|
|
100
|
+
const FILE_PATH_ATTRIBUTE_NAME = "codepress-data-fp";
|
|
101
|
+
const REPO_ATTRIBUTE_NAME = "codepress-github-repo-name";
|
|
102
|
+
const BRANCH_ATTRIBUTE_NAME = "codepress-github-branch";
|
|
103
|
+
const repoName = options.repo_name || currentRepoName;
|
|
104
|
+
const branch = options.branch_name || currentBranch;
|
|
104
105
|
return {
|
|
105
106
|
name: "babel-plugin-codepress-html",
|
|
106
107
|
visitor: {
|
|
@@ -128,12 +129,12 @@ function codePressPlugin(babel, options = {}) {
|
|
|
128
129
|
const endLine = (_c = parentLoc === null || parentLoc === void 0 ? void 0 : parentLoc.end.line) !== null && _c !== void 0 ? _c : startLine;
|
|
129
130
|
const attributeValue = `${encodedPath}:${startLine}-${endLine}`;
|
|
130
131
|
const existingAttribute = node.attributes.find((attr) => t.isJSXAttribute(attr) &&
|
|
131
|
-
t.isJSXIdentifier(attr.name, { name:
|
|
132
|
+
t.isJSXIdentifier(attr.name, { name: FILE_PATH_ATTRIBUTE_NAME }));
|
|
132
133
|
if (existingAttribute) {
|
|
133
134
|
existingAttribute.value = t.stringLiteral(attributeValue);
|
|
134
135
|
}
|
|
135
136
|
else {
|
|
136
|
-
node.attributes.push(t.jsxAttribute(t.jsxIdentifier(
|
|
137
|
+
node.attributes.push(t.jsxAttribute(t.jsxIdentifier(FILE_PATH_ATTRIBUTE_NAME), t.stringLiteral(attributeValue)));
|
|
137
138
|
}
|
|
138
139
|
if (!repoName || globalAttributesAdded) {
|
|
139
140
|
return;
|
|
@@ -147,16 +148,16 @@ function codePressPlugin(babel, options = {}) {
|
|
|
147
148
|
return;
|
|
148
149
|
}
|
|
149
150
|
const hasRepoAttribute = node.attributes.some((attr) => t.isJSXAttribute(attr) &&
|
|
150
|
-
t.isJSXIdentifier(attr.name, { name:
|
|
151
|
+
t.isJSXIdentifier(attr.name, { name: REPO_ATTRIBUTE_NAME }));
|
|
151
152
|
if (!hasRepoAttribute) {
|
|
152
153
|
console.log(`\x1b[32m✓ Adding repo attribute globally to <${elementName}> in ${path_1.default.basename((_d = state.file.opts.filename) !== null && _d !== void 0 ? _d : "unknown")}\x1b[0m`);
|
|
153
|
-
node.attributes.push(t.jsxAttribute(t.jsxIdentifier(
|
|
154
|
+
node.attributes.push(t.jsxAttribute(t.jsxIdentifier(REPO_ATTRIBUTE_NAME), t.stringLiteral(repoName)));
|
|
154
155
|
}
|
|
155
156
|
const hasBranchAttribute = node.attributes.some((attr) => t.isJSXAttribute(attr) &&
|
|
156
|
-
t.isJSXIdentifier(attr.name, { name:
|
|
157
|
+
t.isJSXIdentifier(attr.name, { name: BRANCH_ATTRIBUTE_NAME }));
|
|
157
158
|
if (!hasBranchAttribute && branch) {
|
|
158
159
|
console.log(`\x1b[32m✓ Adding branch attribute globally to <${elementName}> in ${path_1.default.basename((_e = state.file.opts.filename) !== null && _e !== void 0 ? _e : "unknown")}\x1b[0m`);
|
|
159
|
-
node.attributes.push(t.jsxAttribute(t.jsxIdentifier(
|
|
160
|
+
node.attributes.push(t.jsxAttribute(t.jsxIdentifier(BRANCH_ATTRIBUTE_NAME), t.stringLiteral(branch)));
|
|
160
161
|
}
|
|
161
162
|
globalAttributesAdded = true;
|
|
162
163
|
console.log("\x1b[36mℹ Repo/branch attributes added globally. Won't add again.\x1b[0m");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/swc/index.d.ts
CHANGED
|
@@ -3,11 +3,10 @@ interface BandSelection {
|
|
|
3
3
|
band?: Band;
|
|
4
4
|
wasmPath?: string;
|
|
5
5
|
}
|
|
6
|
+
import type { CodePressPluginOptions } from "../types";
|
|
6
7
|
interface SWCUserConfig extends Record<string, unknown> {
|
|
7
8
|
}
|
|
8
|
-
interface SWCConfig extends SWCUserConfig {
|
|
9
|
-
repo_name: string | null;
|
|
10
|
-
branch_name: string | null;
|
|
9
|
+
interface SWCConfig extends SWCUserConfig, Required<CodePressPluginOptions> {
|
|
11
10
|
}
|
|
12
11
|
declare function pickBand(): BandSelection;
|
|
13
12
|
declare function resolveWasmFile(selection: BandSelection): string;
|
package/dist/swc/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swc/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swc/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codepress/codepress-engine",
|
|
3
|
-
"version": "0.4.0-dev.tsc.
|
|
3
|
+
"version": "0.4.0-dev.tsc.20251014073506",
|
|
4
4
|
"description": "CodePress engine - Babel and SWC plug-ins",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -15,11 +15,6 @@
|
|
|
15
15
|
"require": "./dist/index.js",
|
|
16
16
|
"default": "./dist/index.js"
|
|
17
17
|
},
|
|
18
|
-
"./hash-util": {
|
|
19
|
-
"types": "./dist/hash-util.d.ts",
|
|
20
|
-
"require": "./dist/hash-util.js",
|
|
21
|
-
"default": "./dist/hash-util.js"
|
|
22
|
-
},
|
|
23
18
|
"./server": {
|
|
24
19
|
"types": "./dist/server.d.ts",
|
|
25
20
|
"require": "./dist/server.js",
|
package/swc/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
|
-
const compiled = require(
|
|
3
|
+
const compiled = require("../dist/swc/index.js");
|
|
4
4
|
const exported = compiled && compiled.default ? compiled.default : compiled;
|
|
5
5
|
|
|
6
6
|
module.exports = exported;
|
|
7
7
|
|
|
8
|
-
if (compiled && typeof compiled ===
|
|
8
|
+
if (compiled && typeof compiled === "object") {
|
|
9
9
|
Object.keys(compiled).forEach((key) => {
|
|
10
|
-
if (key !==
|
|
10
|
+
if (key !== "default") {
|
|
11
11
|
module.exports[key] = compiled[key];
|
|
12
12
|
}
|
|
13
13
|
});
|
package/dist/hash-util.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility functions for handling CodePress hash values
|
|
3
|
-
* To be used by the browser extension for decoding repository and branch info
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Decodes a hashed value created by the plugin
|
|
7
|
-
* @param {string} hashedValue - The hashed value to decode
|
|
8
|
-
* @returns {string|null} The decoded value or null if invalid
|
|
9
|
-
*/
|
|
10
|
-
export declare function decodeHashedValue(hashedValue: string | null): string | null;
|
|
11
|
-
export interface RepositoryInfo {
|
|
12
|
-
repository: string;
|
|
13
|
-
branch: string;
|
|
14
|
-
}
|
|
15
|
-
export declare function extractRepositoryInfo(element: HTMLElement | null): RepositoryInfo | null;
|
package/dist/hash-util.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Utility functions for handling CodePress hash values
|
|
4
|
-
* To be used by the browser extension for decoding repository and branch info
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.decodeHashedValue = decodeHashedValue;
|
|
8
|
-
exports.extractRepositoryInfo = extractRepositoryInfo;
|
|
9
|
-
/**
|
|
10
|
-
* Decodes a hashed value created by the plugin
|
|
11
|
-
* @param {string} hashedValue - The hashed value to decode
|
|
12
|
-
* @returns {string|null} The decoded value or null if invalid
|
|
13
|
-
*/
|
|
14
|
-
function decodeHashedValue(hashedValue) {
|
|
15
|
-
if (!hashedValue) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
const decoded = Buffer.from(hashedValue, "base64").toString();
|
|
20
|
-
const key = "codepress-identifier-key";
|
|
21
|
-
const reversedKey = key.split("").reverse().join("");
|
|
22
|
-
const pattern = new RegExp(`^${key}:(.+):${reversedKey}$`);
|
|
23
|
-
const match = decoded.match(pattern);
|
|
24
|
-
if (match && match[1]) {
|
|
25
|
-
return match[1];
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
console.error("Error decoding hashed value:", error);
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
function extractRepositoryInfo(element) {
|
|
35
|
-
if (!element) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
let target = element;
|
|
39
|
-
while (target && !target.hasAttribute("codepress-github-repo-name")) {
|
|
40
|
-
target = target.parentElement;
|
|
41
|
-
if (!target) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const repository = target.getAttribute("codepress-github-repo-name");
|
|
46
|
-
const branch = target.getAttribute("codepress-github-branch");
|
|
47
|
-
if (!repository) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
repository,
|
|
52
|
-
branch: branch || "main",
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=hash-util.js.map
|
package/dist/hash-util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hash-util.js","sourceRoot":"","sources":["../src/hash-util.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,8CAqBC;AAOD,sDA2BC;AA5DD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,WAA0B;IAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,0BAA0B,CAAC;QACvC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,WAAW,GAAG,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAOD,SAAgB,qBAAqB,CACnC,OAA2B;IAE3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,GAAuB,OAAO,CAAC;IACzC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAE9D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU;QACV,MAAM,EAAE,MAAM,IAAI,MAAM;KACzB,CAAC;AACJ,CAAC"}
|