UNPKG

create-tensorify-plugin

Version:

Create Tensorify plugins with the latest SDK - Linear layer template

81 lines (68 loc) โ€ข 2.37 kB
const plugin = require("./dist/index.js"); console.log("๐Ÿงช Testing {{projectName}} Plugin\n"); // Test plugin loading try { console.log("โœ… Plugin loaded successfully"); console.log("๐Ÿ“ฆ Plugin name:", plugin.default.prototype.name); console.log("๐Ÿ”ง Plugin type:", plugin.default.prototype.nodeType); } catch (error) { console.error("โŒ Failed to load plugin:", error.message); process.exit(1); } // Test plugin instantiation let pluginInstance; try { pluginInstance = new plugin.default(); console.log("โœ… Plugin instantiated successfully"); } catch (error) { console.error("โŒ Failed to instantiate plugin:", error.message); process.exit(1); } // Test code generation with different settings const testCases = [ {}, // Default settings { exampleSetting: "custom-value" }, { exampleSetting: "another-value" }, ]; console.log("\n๐Ÿ”ง Testing code generation...\n"); for (let i = 0; i < testCases.length; i++) { const testCase = testCases[i]; console.log(`Test ${i + 1}: ${JSON.stringify(testCase)}`); try { // Test validation pluginInstance.validateSettings(testCase); console.log(" โœ… Settings validation passed"); // Test code generation const code = pluginInstance.getTranslationCode(testCase); console.log(" โœ… Code generation successful"); console.log(" ๐Ÿ“ Generated code:"); console.log( code .split("\n") .map((line) => " " + line) .join("\n") ); // Test dependencies const deps = pluginInstance.getDependencies(); console.log( " ๐Ÿ“ฆ Dependencies:", deps.length > 0 ? deps.join(", ") : "none" ); // Test imports const imports = pluginInstance.getImports(); console.log(" ๐Ÿ“ฅ Imports:", imports.length, "statements"); } catch (error) { console.error(" โŒ Test failed:", error.message); process.exit(1); } console.log(""); } console.log( "๐ŸŽ‰ All tests passed! Your {{projectName}} plugin is working correctly." ); console.log("\nNext steps:"); console.log("1. Implement your plugin logic in src/index.ts"); console.log("2. Update the settings interface for your specific use case"); console.log("3. Add proper validation and code generation logic"); console.log("4. Build and test: pnpm run build && npm test"); console.log("5. Publish your plugin to the Tensorify registry");