@activepieces/pieces-framework 0.18.5 → 0.19.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/package.json +1 -2
- package/src/lib/i18n.d.ts +4 -1
- package/src/lib/i18n.js +3 -31
- package/src/lib/i18n.js.map +1 -1
- package/src/lib/piece.d.ts +4 -0
- package/src/lib/piece.js +58 -0
- package/src/lib/piece.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/pieces-framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@sinclair/typebox": "0.34.11",
|
|
7
7
|
"deepmerge-ts": "7.1.0",
|
|
8
|
-
"fast-glob": "3.3.3",
|
|
9
8
|
"nanoid": "3.3.8",
|
|
10
9
|
"semver": "7.6.0",
|
|
11
10
|
"@activepieces/shared": "0.20.0",
|
package/src/lib/i18n.d.ts
CHANGED
|
@@ -2,6 +2,9 @@ import { I18nForPiece, PieceMetadataModel, PieceMetadataModelSummary } from "./p
|
|
|
2
2
|
import { LocalesEnum } from "@activepieces/shared";
|
|
3
3
|
export declare const pieceTranslation: {
|
|
4
4
|
translatePiece: <T extends PieceMetadataModelSummary | PieceMetadataModel>(piece: T, locale?: LocalesEnum) => T;
|
|
5
|
-
initializeI18n: (pieceName
|
|
5
|
+
initializeI18n: ({ pieceName, pieceSource }: {
|
|
6
|
+
pieceName: string;
|
|
7
|
+
pieceSource: string;
|
|
8
|
+
}) => Promise<I18nForPiece | undefined>;
|
|
6
9
|
pathsToValuesToTranslate: string[];
|
|
7
10
|
};
|
package/src/lib/i18n.js
CHANGED
|
@@ -6,6 +6,7 @@ const shared_1 = require("@activepieces/shared");
|
|
|
6
6
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
7
|
const promises_1 = tslib_1.__importDefault(require("fs/promises"));
|
|
8
8
|
const translation_keys_json_1 = tslib_1.__importDefault(require("../../translation-keys.json"));
|
|
9
|
+
const piece_1 = require("./piece");
|
|
9
10
|
/**This function translates a property inside a piece, i.e description, displayName, etc...
|
|
10
11
|
*
|
|
11
12
|
* @param pieceModelOrProperty - The piece model or property to translate
|
|
@@ -60,35 +61,6 @@ const readLocaleFile = (locale, pieceOutputPath) => tslib_1.__awaiter(void 0, vo
|
|
|
60
61
|
return null;
|
|
61
62
|
}
|
|
62
63
|
});
|
|
63
|
-
const extractPiecePath = (pieceName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
-
try {
|
|
65
|
-
if (yield fileExists(`/node_modules/${pieceName}`)) {
|
|
66
|
-
return `/node_modules/${pieceName}`;
|
|
67
|
-
}
|
|
68
|
-
console.log(`extractPiecePath: /node_modules/${pieceName} does not exist`);
|
|
69
|
-
const distPath = path_1.default.resolve('dist/packages/pieces');
|
|
70
|
-
const fastGlob = (yield Promise.resolve().then(() => tslib_1.__importStar(require('fast-glob')))).default;
|
|
71
|
-
const packageJsonFiles = yield fastGlob('**/package.json', { cwd: distPath, ignore: ['**/node_modules/**'] });
|
|
72
|
-
for (const relativeFile of packageJsonFiles) {
|
|
73
|
-
const fullPath = path_1.default.join(distPath, relativeFile);
|
|
74
|
-
try {
|
|
75
|
-
const packageJson = JSON.parse(yield promises_1.default.readFile(fullPath, 'utf-8'));
|
|
76
|
-
if (packageJson.name === pieceName) {
|
|
77
|
-
const piecePath = path_1.default.dirname(fullPath);
|
|
78
|
-
return piecePath;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
console.log(`Error reading package.json at ${fullPath}:`, err);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
console.log(`Error extracting piece path for ${pieceName}:`, err);
|
|
88
|
-
}
|
|
89
|
-
console.log(`Piece path not found for ${pieceName}`);
|
|
90
|
-
return undefined;
|
|
91
|
-
});
|
|
92
64
|
const translatePiece = (piece, locale) => {
|
|
93
65
|
var _a;
|
|
94
66
|
if (!locale) {
|
|
@@ -111,11 +83,11 @@ const translatePiece = (piece, locale) => {
|
|
|
111
83
|
}
|
|
112
84
|
};
|
|
113
85
|
/**Gets the piece metadata regardles of piece location (node_modules or dist), wasn't included inside piece.metadata() for backwards compatibility issues (if an old ap version installs a new piece it would fail)*/
|
|
114
|
-
const initializeI18n = (
|
|
86
|
+
const initializeI18n = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ pieceName, pieceSource }) {
|
|
115
87
|
try {
|
|
116
88
|
const locales = Object.values(shared_1.LocalesEnum);
|
|
117
89
|
const i18n = {};
|
|
118
|
-
const pieceOutputPath = yield
|
|
90
|
+
const pieceOutputPath = yield (0, piece_1.getPiecePath)({ packageName: pieceName, pieceSource });
|
|
119
91
|
if (!pieceOutputPath) {
|
|
120
92
|
return undefined;
|
|
121
93
|
}
|
package/src/lib/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/community/framework/src/lib/i18n.ts"],"names":[],"mappings":";;;;AACA,iDAA8E;AAC9E,wDAAwB;AACxB,mEAA6B;AAC7B,gGAAkE;
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/community/framework/src/lib/i18n.ts"],"names":[],"mappings":"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"}
|
package/src/lib/piece.d.ts
CHANGED
|
@@ -52,4 +52,8 @@ type BackwardCompatiblePieceMetadata = Omit<PieceMetadata, 'name' | 'version' |
|
|
|
52
52
|
authors?: PieceMetadata['authors'];
|
|
53
53
|
i18n?: PieceMetadata['i18n'];
|
|
54
54
|
};
|
|
55
|
+
export declare function getPiecePath({ packageName, pieceSource }: {
|
|
56
|
+
packageName: string;
|
|
57
|
+
pieceSource: string;
|
|
58
|
+
}): Promise<string>;
|
|
55
59
|
export {};
|
package/src/lib/piece.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPiece = exports.Piece = void 0;
|
|
4
|
+
exports.getPiecePath = getPiecePath;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
|
+
const promises_1 = tslib_1.__importDefault(require("fs/promises"));
|
|
4
8
|
class Piece {
|
|
5
9
|
constructor(displayName, logoUrl, authors, events, actions, triggers, categories, auth, minimumSupportedRelease, maximumSupportedRelease, description = '') {
|
|
6
10
|
this.displayName = displayName;
|
|
@@ -50,4 +54,58 @@ const createPiece = (params) => {
|
|
|
50
54
|
return new Piece(params.displayName, params.logoUrl, (_a = params.authors) !== null && _a !== void 0 ? _a : [], params.events, params.actions, params.triggers, (_b = params.categories) !== null && _b !== void 0 ? _b : [], (_c = params.auth) !== null && _c !== void 0 ? _c : undefined, params.minimumSupportedRelease, params.maximumSupportedRelease, params.description);
|
|
51
55
|
};
|
|
52
56
|
exports.createPiece = createPiece;
|
|
57
|
+
const folderExists = (filePath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
yield promises_1.default.access(filePath);
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch (_a) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
function getPiecePath(_a) {
|
|
67
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ packageName, pieceSource }) {
|
|
68
|
+
const rootDir = path_1.default.parse(__dirname).root;
|
|
69
|
+
if (pieceSource === 'FILE') {
|
|
70
|
+
const distPath = path_1.default.resolve('dist/packages/pieces');
|
|
71
|
+
const groupDirs = yield promises_1.default.readdir(distPath, { withFileTypes: true });
|
|
72
|
+
for (const group of groupDirs) {
|
|
73
|
+
if (!group.isDirectory())
|
|
74
|
+
continue;
|
|
75
|
+
const groupPath = path_1.default.join(distPath, group.name);
|
|
76
|
+
const pieceDirs = yield promises_1.default.readdir(groupPath, { withFileTypes: true });
|
|
77
|
+
for (const pieceFolder of pieceDirs) {
|
|
78
|
+
if (!pieceFolder.isDirectory())
|
|
79
|
+
continue;
|
|
80
|
+
const pkgPath = path_1.default.join(groupPath, pieceFolder.name, 'package.json');
|
|
81
|
+
try {
|
|
82
|
+
const packageJson = JSON.parse(yield promises_1.default.readFile(pkgPath, 'utf-8'));
|
|
83
|
+
if (packageJson.name === packageName) {
|
|
84
|
+
return path_1.default.join(groupPath, pieceFolder.name);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (_b) {
|
|
88
|
+
// ignore non-package folders
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
throw new Error(`Piece path not found for ${packageName}`);
|
|
93
|
+
}
|
|
94
|
+
// this code works because engine gets bundled with the framework in it, so we can use __dirname to get the path to the pieces folder
|
|
95
|
+
let currentDir = __dirname;
|
|
96
|
+
const maxIterations = currentDir.split(path_1.default.sep).length;
|
|
97
|
+
for (let i = 0; i < maxIterations; i++) {
|
|
98
|
+
const piecePath = path_1.default.resolve(currentDir, 'pieces', packageName, 'node_modules', packageName);
|
|
99
|
+
if (yield folderExists(piecePath)) {
|
|
100
|
+
return piecePath;
|
|
101
|
+
}
|
|
102
|
+
const parentDir = path_1.default.dirname(currentDir);
|
|
103
|
+
if (parentDir === currentDir || currentDir === rootDir) {
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
currentDir = parentDir;
|
|
107
|
+
}
|
|
108
|
+
throw new Error(`Piece path not found for package: ${packageName}`);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
53
111
|
//# sourceMappingURL=piece.js.map
|
package/src/lib/piece.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piece.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/community/framework/src/lib/piece.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"piece.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/community/framework/src/lib/piece.ts"],"names":[],"mappings":"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"}
|