<% for (index in data) { var b = data[index]; %>
diff --git a/src/template/random.js b/src/template/random.mjs
similarity index 98%
rename from src/template/random.js
rename to src/template/random.mjs
index 2501550..16a76f6 100644
--- a/src/template/random.js
+++ b/src/template/random.mjs
@@ -2,7 +2,7 @@
* {ManagedBanner} banner
* {BannerData} data
*/
-module.exports = `
+export default `
diff --git a/src/template/single.js b/src/template/single.mjs
similarity index 98%
rename from src/template/single.js
rename to src/template/single.mjs
index 3cce6c9..c9dc0f3 100644
--- a/src/template/single.js
+++ b/src/template/single.mjs
@@ -2,7 +2,7 @@
* {ManagedBanner} banner
* {BannerData} data
*/
-module.exports = `
+export default `
diff --git a/src/utils/internal-state.js b/src/utils/internal-state.js
deleted file mode 100644
index 31d4f4b..0000000
--- a/src/utils/internal-state.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const properties = new WeakMap();
-
-module.exports = (key) => {
- if (!properties.has(key)) {
- properties.set(key, {});
- }
-
- return properties.get(key);
-};
diff --git a/src/utils/randomizer.js b/src/utils/randomizer.mjs
similarity index 92%
rename from src/utils/randomizer.js
rename to src/utils/randomizer.mjs
index 48b01b6..2e6d4f1 100644
--- a/src/utils/randomizer.js
+++ b/src/utils/randomizer.mjs
@@ -1,4 +1,4 @@
-class Randomizer {
+export class Randomizer {
static randomByWeights(items, weightProperty = 'weight') {
const distributions = {};
@@ -25,5 +25,3 @@ class Randomizer {
return items[key] ? items[key] : items[0];
}
}
-
-module.exports = Randomizer;
diff --git a/src/utils/sequence-generator.js b/src/utils/sequence-generator.js
deleted file mode 100644
index 5c5981d..0000000
--- a/src/utils/sequence-generator.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const internal = require('./internal-state');
-
-class SequenceGenerator {
-
- constructor (start = 1) {
- internal(this).lastId = start -1;
- }
-
- getNextIdentifier() {
- return ++internal(this).lastId;
- }
-}
-
-module.exports = SequenceGenerator;
diff --git a/src/utils/sequence-generator.mjs b/src/utils/sequence-generator.mjs
new file mode 100644
index 0000000..e065f4f
--- /dev/null
+++ b/src/utils/sequence-generator.mjs
@@ -0,0 +1,11 @@
+export class SequenceGenerator {
+ #lastId;
+
+ constructor (start = 1) {
+ this.#lastId = start -1;
+ }
+
+ getNextIdentifier() {
+ return ++this.#lastId;
+ }
+}
diff --git a/webpack.config.dev.js b/webpack.config.dev.js
index de65823..ea1ea5f 100644
--- a/webpack.config.dev.js
+++ b/webpack.config.dev.js
@@ -4,7 +4,7 @@ module.exports = {
mode: 'development',
entry: {
standard: {
- import: './index.js',
+ import: './index.mjs',
filename: 'amp-client.js',
library: {
type: 'var',
@@ -13,7 +13,7 @@ module.exports = {
}
},
embed: {
- import: './index.js',
+ import: './index.mjs',
filename: 'amp-client.embed.js',
library: {
type: 'var',
@@ -29,7 +29,7 @@ module.exports = {
rules: [
{
loader: 'babel-loader',
- test: /\.js$/,
+ test: /\.mjs$/,
include: [
path.resolve(__dirname, 'src'),
],
diff --git a/webpack.config.prod.js b/webpack.config.prod.js
index 2f6f874..d5fd5e5 100644
--- a/webpack.config.prod.js
+++ b/webpack.config.prod.js
@@ -3,12 +3,12 @@ const TerserWebpackPlugin = require('terser-webpack-plugin');
const config = {
mode: 'production',
- entry: './index.js',
+ entry: './index.mjs',
module: {
rules: [
{
loader: 'babel-loader',
- test: /\.js$/,
+ test: /\.mjs$/,
include: [
path.resolve(__dirname, 'src')
],
@@ -60,8 +60,8 @@ const standaloneConfig = Object.assign({}, config,{
},
},
externals: {
- 'lodash/template': '_.template',
- 'lodash/merge': '_.merge',
+ 'lodash/template.js': '_.template',
+ 'lodash/merge.js': '_.merge',
}
});