diff --git a/.gitignore b/.gitignore
index ff6590d..71a906a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -115,5 +115,7 @@ dist
.yarn/build-state.yml
.pnp.*
-
-/dist
\ No newline at end of file
+/database.js
+/database.js.map
+/picker.js
+/picker.js.map
\ No newline at end of file
diff --git a/README.md b/README.md
index 1840a95..088fca4 100644
--- a/README.md
+++ b/README.md
@@ -144,8 +144,8 @@ In general, it's not a problem to create multiple `Database` objects with the sa
If you want to import the `Database` without the `Picker`, or you want to import them separately, then do:
```js
-import Picker from 'lite-emoji-picker/dist/es/Picker.js';
-import Database from 'lite-emoji-picker/dist/es/Database.js';
+import Picker from 'lite-emoji-picker/picker';
+import Database from 'lite-emoji-picker/database';
```
The reason for this is that `Picker` automatically registers itself as a custom element, following [web component best practices](https://justinfagnani.com/2019/11/01/how-to-publish-web-components-to-npm/). But this adds side effects, so bundlers do not tree-shake as well unless the modules are imported from completely separate files.
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..aa23cc4
--- /dev/null
+++ b/index.js
@@ -0,0 +1,3 @@
+import Picker from './picker.js'
+import Database from './database.js'
+export { Picker, Database }
diff --git a/package.json b/package.json
index 4c12bac..dd0f3cc 100644
--- a/package.json
+++ b/package.json
@@ -2,19 +2,17 @@
"name": "lite-emoji-picker",
"version": "1.0.0",
"description": "Lightweight emoji picker based on IndexedDB",
- "main": "dist/cjs/index.js",
- "module": "dist/es/index.js",
+ "main": "index.js",
+ "module": "index.js",
+ "type": "module",
"files": [
- "dist"
+ "database.js",
+ "index.js",
+ "picker.js"
],
"scripts": {
- "build:clean": "rm -fr dist && mkdir -p dist/cjs dist/es",
- "build:copy": "cp src/index.cjs.js dist/cjs/index.js && cp src/index.es.js dist/es/index.js",
- "build:static": "run-s build:clean build:copy",
- "build:rollup": "NODE_ENV=production rollup -c",
- "dev:rollup": "NODE_ENV=development rollup -c -w",
- "build": "run-s build:static build:rollup",
- "dev": "run-s build:static dev:rollup",
+ "build": "NODE_ENV=production rollup -c",
+ "dev": "NODE_ENV=development rollup -c -w",
"lint": "standard && stylelint '**/*.scss'",
"lint:fix": "standard --fix && stylelint --fix '**/*.scss'",
"test": "echo \"Error: no test specified\" && exit 1"
@@ -60,6 +58,11 @@
"svelte-preprocess": "^3.7.4"
},
"standard": {
+ "ignore": [
+ "/database.js",
+ "/index.js",
+ "/picker.js"
+ ],
"global": [
"btoa",
"crypto",
diff --git a/rollup.config.js b/rollup.config.js
index ca4e5f7..744f493 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -21,7 +21,7 @@ const baseConfig = {
'process.env.VERSIONS_AND_TEST_EMOJI': JSON.stringify(versionsAndTestEmoji)
}),
replace({
- '../../../database/Database.js': './Database.js',
+ '../../../database/Database.js': './database.js',
delimiters: ['', '']
}),
svelte({
@@ -36,24 +36,23 @@ const baseConfig = {
]
}
-const formats = ['es', 'cjs']
const entryPoints = [
{
- input: './src/svelte/components/Picker/Picker.svelte',
- output: 'Picker.js'
+ input: './src/picker/components/Picker/Picker.svelte',
+ output: './picker.js'
},
{
input: './src/database/Database.js',
- output: 'Database.js'
+ output: './database.js'
}
]
-export default formats.map(format => (entryPoints.map(({ input, output }) => ({
+export default entryPoints.map(({ input, output }) => ({
...baseConfig,
input,
output: {
- format,
- file: `dist/${format}/${output}`,
+ format: 'es',
+ file: output,
sourcemap: dev
}
-})))).flat()
+}))
diff --git a/src/index.cjs.js b/src/index.cjs.js
deleted file mode 100644
index 6bcb4c4..0000000
--- a/src/index.cjs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// Directly copied into dist/cjs/index.js
-
-Object.defineProperty(exports, '__esModule', { value: true })
-
-exports.Picker = require('./Picker.js')
-exports.Database = require('./Database.js')
diff --git a/src/index.es.js b/src/index.es.js
deleted file mode 100644
index 45c54b5..0000000
--- a/src/index.es.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// Directly copied into dist/es/index.js
-
-import Picker from './Picker.js'
-import Database from './Database.js'
-export { Picker, Database }
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index 10d1b59..0000000
--- a/src/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Picker from './svelte/components/Picker/Picker.svelte'
-import { Database } from './database/Database'
-
-export {
- Picker,
- Database
-}
diff --git a/src/svelte/categories.js b/src/picker/categories.js
similarity index 100%
rename from src/svelte/categories.js
rename to src/picker/categories.js
diff --git a/src/svelte/components/Picker/Picker.html b/src/picker/components/Picker/Picker.html
similarity index 100%
rename from src/svelte/components/Picker/Picker.html
rename to src/picker/components/Picker/Picker.html
diff --git a/src/svelte/components/Picker/Picker.js b/src/picker/components/Picker/Picker.js
similarity index 100%
rename from src/svelte/components/Picker/Picker.js
rename to src/picker/components/Picker/Picker.js
diff --git a/src/svelte/components/Picker/Picker.scss b/src/picker/components/Picker/Picker.scss
similarity index 100%
rename from src/svelte/components/Picker/Picker.scss
rename to src/picker/components/Picker/Picker.scss
diff --git a/src/svelte/components/Picker/Picker.svelte b/src/picker/components/Picker/Picker.svelte
similarity index 100%
rename from src/svelte/components/Picker/Picker.svelte
rename to src/picker/components/Picker/Picker.svelte
diff --git a/src/svelte/constants.js b/src/picker/constants.js
similarity index 100%
rename from src/svelte/constants.js
rename to src/picker/constants.js
diff --git a/src/svelte/i18n/en.json b/src/picker/i18n/en.json
similarity index 100%
rename from src/svelte/i18n/en.json
rename to src/picker/i18n/en.json
diff --git a/src/svelte/styles/global.scss b/src/picker/styles/global.scss
similarity index 100%
rename from src/svelte/styles/global.scss
rename to src/picker/styles/global.scss
diff --git a/src/svelte/styles/resets.scss b/src/picker/styles/resets.scss
similarity index 100%
rename from src/svelte/styles/resets.scss
rename to src/picker/styles/resets.scss
diff --git a/src/svelte/styles/variables.scss b/src/picker/styles/variables.scss
similarity index 100%
rename from src/svelte/styles/variables.scss
rename to src/picker/styles/variables.scss
diff --git a/src/svelte/utils/calculateTextWidth.js b/src/picker/utils/calculateTextWidth.js
similarity index 100%
rename from src/svelte/utils/calculateTextWidth.js
rename to src/picker/utils/calculateTextWidth.js
diff --git a/src/svelte/utils/determineEmojiSupportLevel.js b/src/picker/utils/determineEmojiSupportLevel.js
similarity index 100%
rename from src/svelte/utils/determineEmojiSupportLevel.js
rename to src/picker/utils/determineEmojiSupportLevel.js
diff --git a/src/svelte/utils/emojiSupport.js b/src/picker/utils/emojiSupport.js
similarity index 100%
rename from src/svelte/utils/emojiSupport.js
rename to src/picker/utils/emojiSupport.js
diff --git a/src/svelte/utils/hasZwj.js b/src/picker/utils/hasZwj.js
similarity index 100%
rename from src/svelte/utils/hasZwj.js
rename to src/picker/utils/hasZwj.js
diff --git a/src/svelte/utils/requestIdleCallback.js b/src/picker/utils/requestIdleCallback.js
similarity index 100%
rename from src/svelte/utils/requestIdleCallback.js
rename to src/picker/utils/requestIdleCallback.js
diff --git a/src/svelte/utils/thunk.js b/src/picker/utils/thunk.js
similarity index 100%
rename from src/svelte/utils/thunk.js
rename to src/picker/utils/thunk.js
diff --git a/test/index.html b/test/index.html
index 8f1588f..587dde6 100644
--- a/test/index.html
+++ b/test/index.html
@@ -16,7 +16,7 @@