6.0.2 • Published 3 years ago
@marko/migrate v6.0.2
Utility to migrate Marko templates to avoid using deprecated features.
CLI
Getting Started
npx @marko/migrate ./components/my-component.marko
Options
--indent
: The indent string to use when printing the migrated source (defaults to aString
with four spaces)--noSemi
: If set, will format JS without semicolons when printing the migrated source.--singleQuote
: If set, will prefer single quotes when printing the migrated source.--maxLen
: The max line length to use when printing the migrated source (defaults to80
, set to-1
to disable)--syntax
: The syntax to use when printing the migrated source. Can either be"html"
or"concise"
(defaults to"html"
)--dry-run
: Runs the migration in memory only.--safe
: Run all safe migrations ignoring any prompts.
API
Installation
npm install @marko/migrate
Example
import fs from "fs";
import migrate from "@marko/migrate";
import { prompt } from "enquirer";
migrate({
files: ["./components/**/*.marko"],
prompt(options) {
// This is used for "optional" migrations.
// By default the cli mode uses enquirer to prompt the user via cli.
// The programtic api does not come with this by default and can be overwritten.
return prompt(options);
},
onWriteFile(file, source) {
// A file has been modified, we can save it to disk.
// Note you can also return a promise.
fs.writeFileSync(file, source, "utf-8");
},
onRenameFile(from, to) {
// A file has been renamed, lets move it on the disk.
// Note you can also return a promise.
fs.renameSync(file, fileNames[file]);
},
onUpdateDependents(from, to) {
// This indicates that the dependents of the `from` file need to update
// Their paths to point to the `to` file.
// When running in CLI mode this will use https://github.com/marko-js/utils/tree/master/packages/dependent-path-update
}
}).then(() => {
// Migration has completed.
// Output contains an object with all of the migrated component sources.
console.log("migrated all files");
for (const file in fileContents) {
// Save all updated files to disk.
fs.writeFileSync(file, fileContents[file], "utf-8");
}
for (const file in fileNames) {
// Update locations of moved files on disk.
fs.renameSync(file, fileNames[file]);
}
});
Options
Options are the same as the CLI options.
6.0.2
3 years ago
6.0.1
3 years ago
6.0.0
3 years ago
5.3.4
4 years ago
5.3.3
4 years ago
5.3.2
4 years ago
5.3.1
4 years ago
5.3.0
4 years ago
5.2.0
5 years ago
5.1.0
5 years ago
5.0.8
5 years ago
5.0.7
5 years ago
5.0.6
5 years ago
5.0.5
5 years ago
5.0.4
5 years ago
5.0.3
5 years ago
5.0.2
5 years ago
5.0.1
5 years ago
5.0.0
5 years ago
4.1.1
5 years ago
4.1.0
5 years ago
4.0.0
5 years ago
3.0.0
5 years ago
2.0.0
5 years ago
1.3.0
5 years ago
1.2.0
5 years ago
1.1.0
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago