Skip to content

Directory structure

eWizard CLI creates the files and directories within your email project directory.

The eWizard.js project has a robust directory structure. We strongly recommend sticking to it during the development process.

.
├─.ewizard/
|  └─settings.json
├─build/
|  └─dev/
|    ├─app.js
|    ├─editor.js
|    ├─index.js
|    └─state.js
├─common/
|  ├─blocks/
|  |  └─readme.md
|  ├─blocks-library/
|  |  └─blocks.json
|  ├─components/
|  |  └─components.json
|  ├─i18n/
|  |  └─localization.json
|  ├─media/
|  |  ├─fonts/
|  |  ├─images/
|  |  ├─pdfs/
|  |  ├─signature/
|  |  └─videos/
|  └─styles/
|     └─main.css
├─extensions/
|  └─common.js
├─node_modules/
├─themes/
├─.gitignore
├─App.vue
├─icon.png
├─index.html
├─package.json
├─package-lock.json
├─preview.jpg
├─readme.md
└─settings.json

The project directory structure may differ depending on the selected project template and initialization options.

Source file or directoryDescription
.ewizard/settings.jsonSpecifies the project template type, the path configuration for all the directories, plugin settings, and the template repository.
build/dev/Stores the compiled project source files. This directory appears after you run the wiz dev command.
build/dev/app.jsThe JavaScript bundle created upon the development build. This file is referenced in index.html.
build/dev/editor.jsThe JavaScript bundle used in eWizard Editor.
build/dev/index.jsThe project's JavaScript entry point created upon the development build. This file is referenced in index.html.
build/dev/state.jsStores all changes applied to the project in eWizard Editor.
common/Contains all common components, styles, localization, and media resources.
common/blocks/Stores local blocks.
common/blocks-library/Contains blocks available for adding to the project in eWizard Editor.
common/components/Stores local Vue components files.
common/components/components.jsonContains the list of components displayed on the eWizard Editor Components panel.
common/i18n/localization.jsonContains localizations in the email.
common/media/Contains the common media resources—fonts, images, PDF files, signature, videos—stored in the dedicated directories.
common/styles/main.cssStores common styles for the project.
extensions/common.jsStores the project common components registered globally.
node_modules/The npm packages installed for the project. You can install the project dependencies by running the wiz install command.
themes/Contains the project template themes stored in the dedicated directories. The directory name is the same as its theme. For more information, see Dynamic themes.
.gitignoreSpecifies intentionally untracked files and directories that Git must ignore.
App.vueContains the email template markup.
icon.pngThe default project icon in your eWizard account.
index.htmlThe main HTML file that serves as an entry point of the entire project and allows you to run the project as a single-page application. It includes the main project view and contains the JavaScript bundles produced by eWizard CLI.
package.jsonStores the general information about the project and contains the list of the project npm dependencies.
package-lock.jsonAn automatically generated file for tracking versions of all packages installed into node_modules by the npm client.
preview.jpgThe created project preview.
readme.mdContains the project description, useful development information, and hints.
settings.jsonSpecifies the project settings depending on the template type.