
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
pldf-interview-engine
Advanced tools
An interactive interview wizard engine that takes parsed interview data from pldf-parser and generates dynamic, user-friendly interview wizards.
${variable} syntax via pldf-templatenpm install pldf-interview-engine
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="node_modules/pldf-interview-engine/css/styles.css">
</head>
<body>
<div id="interview"></div>
<script src="node_modules/pldf-interview-engine/js/state-manager.js"></script>
<script src="node_modules/pldf-interview-engine/js/field-renderer.js"></script>
<script src="node_modules/pldf-interview-engine/js/code-executor.js"></script>
<script src="node_modules/pldf-interview-engine/js/interview-wizard.js"></script>
<script>
// Your parsed interview data from pldf-parser
const interview = { /* ... */ };
const wizard = new InterviewWizard(interview, {
container: '#interview',
onComplete: (answers) => {
console.log('Interview completed:', answers);
}
});
wizard.initialize().then(() => wizard.start());
</script>
</body>
</html>
const InterviewWizard = require('pldf-interview-engine');
const interview = { /* parsed interview data */ };
const wizard = new InterviewWizard(interview, {
onComplete: (answers) => {
console.log('Interview completed:', answers);
}
});
wizard.start();
const { DocassembleParser } = require('pldf-parser');
const InterviewWizard = require('pldf-interview-engine');
// Parse a YAML file
const interview = DocassembleParser.parseFile('interview.yml');
// Create and start the wizard
const wizard = new InterviewWizard(interview, {
container: '#interview',
autoSave: true,
onComplete: (answers) => {
console.log('Answers:', answers);
}
});
wizard.initialize().then(() => wizard.start());
new InterviewWizard(interview, {
container: '#interview',
autoSave: true,
saveKey: 'pldf_interview_state',
onComplete: (answers) => { /* ... */ },
onBlockChange: (block, index) => { /* ... */ },
cssPrefix: 'pldf'
});
The engine expects interview objects with this structure:
{
filePath: 'interview.yml',
blocks: [
{
blockType: 'question',
question: 'What is your name?',
subquestion: 'Optional additional text',
fields: [ /* field objects */ ],
buttons: [ /* button objects */ ],
mandatory: false,
variables: ['var1', 'var2']
}
],
getQuestionOrder: function(definedVars) {
return /* ordered array of blocks */;
}
}
This structure is automatically created by pldf-parser.
initialize(): Initializes the wizard (returns Promise)start(): Starts the interviewnext(): Advances to the next questionprevious(): Goes back to previous questioncomplete(): Marks interview as completerestart(): Resets and restartsgetAnswers(): Returns all collected answersgetState(): Returns current stateloadState(state): Loads a saved stateSee the examples/ directory for complete examples:
basic-usage.js: Simple Node.js examplewith-parser.js: Integration with pldf-parserdemo.html: Interactive browser demonpm test
npm start
# Then open http://localhost:3000/examples/demo.html
This package is part of the PLDF ecosystem:
MIT
FAQs
Interview wizard engine for parsed interviews from pldf-parser
We found that pldf-interview-engine demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.