diff --git a/.editorconfig b/.editorconfig
index fec6292..4a7ea30 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -5,8 +5,8 @@ indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
-trim_trailing_whitespace = false
+trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
-trim_trailing_whitespace = false
\ No newline at end of file
+trim_trailing_whitespace = false
diff --git a/README.md b/README.md
index 0b8aaf1..7bb0f5a 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
diff --git a/package.json b/package.json
index 9aef143..e21363f 100644
--- a/package.json
+++ b/package.json
@@ -85,7 +85,11 @@
"define",
"describe",
"it",
- "expect"
+ "expect",
+ "before",
+ "beforeEach",
+ "after",
+ "afterEach"
]
}
}
diff --git a/src/$meta.js b/src/$meta.js
new file mode 100644
index 0000000..908a537
--- /dev/null
+++ b/src/$meta.js
@@ -0,0 +1,11 @@
+import inject from './inject'
+
+/**
+ * Returns an injector for server-side rendering.
+ * @this {Object} - the Vue instance (a root component)
+ * @return {Object} - injector
+ */
+export default function $meta () {
+ // bind inject method to this component
+ return { inject: inject.bind(this) }
+}
diff --git a/src/generateServerInjector.js b/src/generateServerInjector.js
new file mode 100644
index 0000000..d303812
--- /dev/null
+++ b/src/generateServerInjector.js
@@ -0,0 +1,34 @@
+import { VUE_META_ATTRIBUTE } from './constants'
+
+/**
+ * Converts a meta info property to one that can be stringified on the server
+ *
+ * @param {String} type - the type of data to convert
+ * @param {(String|Object|Array