Skip to content

Commit 560b21f

Browse files
authored
Build @fluent/dom with TypeScript (#474)
1 parent cff95f6 commit 560b21f

13 files changed

+64
-36
lines changed

fluent-dom/.esdoc.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

fluent-dom/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
esm/
12
/index.js
23
/compat.js

fluent-dom/.npmignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
.nyc_output
22
coverage
3-
docs
3+
esm/.compiled
4+
src
45
test
56
makefile
7+
tsconfig.json

fluent-dom/makefile

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,21 @@ DEPS := cached-iterable:CachedIterable
44

55
include ../common.mk
66

7-
test:
7+
lint:
8+
@eslint --config $(ROOT)/eslint_src.json --max-warnings 0 src/
9+
@eslint --config $(ROOT)/eslint_test.json --max-warnings 0 test/
10+
@echo -e " $(OK) lint"
11+
12+
.PHONY: compile
13+
compile: esm/.compiled
14+
15+
esm/.compiled: $(SOURCES)
16+
@tsc
17+
@touch $@
18+
@echo -e " $(OK) esm/ compiled"
19+
20+
.PHONY: test
21+
test: esm/.compiled
822
@nyc --reporter=text --reporter=html mocha \
923
--recursive --ui tdd \
1024
--require esm \
@@ -14,8 +28,8 @@ test:
1428
.PHONY: build
1529
build: index.js compat.js
1630

17-
index.js: $(SOURCES)
18-
@rollup $(CURDIR)/src/index.js \
31+
index.js: esm/.compiled
32+
@rollup $(CURDIR)/esm/index.js \
1933
--config $(ROOT)/bundle_config.js \
2034
--banner "/* $(PACKAGE)@$(VERSION) */" \
2135
--amd.id $(PACKAGE) \
@@ -24,8 +38,8 @@ index.js: $(SOURCES)
2438
--output.file $@
2539
@echo -e " $(OK) $@ built"
2640

27-
compat.js: $(SOURCES)
28-
@rollup $(CURDIR)/src/index.js \
41+
compat.js: esm/.compiled
42+
@rollup $(CURDIR)/esm/index.js \
2943
--config $(ROOT)/compat_config.js \
3044
--banner "/* $(PACKAGE)@$(VERSION) */" \
3145
--amd.id $(PACKAGE) \
@@ -34,6 +48,18 @@ compat.js: $(SOURCES)
3448
--output.file $@
3549
@echo -e " $(OK) $@ built"
3650

37-
lint: _lint
38-
html: _html
39-
clean: _clean
51+
html:
52+
@typedoc src \
53+
--out ../html/dom \
54+
--mode file \
55+
--excludeNotExported \
56+
--excludePrivate \
57+
--logger none \
58+
--hideGenerator
59+
@echo -e " $(OK) html built"
60+
61+
clean:
62+
@rm -f esm/*.js esm/*.d.ts esm/.compiled
63+
@rm -f index.js compat.js
64+
@rm -rf .nyc_output coverage
65+
@echo -e " $(OK) clean"

fluent-dom/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@
1818
"email": "[email protected]"
1919
}
2020
],
21-
"directories": {
22-
"lib": "./src"
23-
},
21+
"type": "commonjs",
2422
"main": "./index.js",
25-
"module": "./src/index.js",
23+
"module": "./esm/index.js",
24+
"types": "./esm/index.d.ts",
2625
"keywords": [
2726
"localization",
2827
"l10n",

fluent-dom/test/dom_localization_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import assert from "assert";
22
import { FluentBundle, FluentResource } from "@fluent/bundle/index";
3-
import DOMLocalization from "../src/dom_localization";
3+
import DOMLocalization from "../esm/dom_localization";
44

55
async function* mockGenerateMessages(resourceIds) {
66
const bundle = new FluentBundle(["en-US"]);

fluent-dom/test/extra_text_markup_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'assert';
2-
import translateElement from '../src/overlay';
2+
import translateElement from '../esm/overlay';
33
import {elem} from './index';
44

55
suite('Localized text markup', function() {

fluent-dom/test/localization_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import assert from "assert";
22
import { FluentBundle, FluentResource } from "@fluent/bundle/index";
3-
import Localization from "../src/localization";
3+
import Localization from "../esm/localization";
44

55
async function* mockGenerateMessages(resourceIds) {
66
const bundle = new FluentBundle(["en-US"]);

fluent-dom/test/overlay_attributes_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'assert';
2-
import translateElement from '../src/overlay';
2+
import translateElement from '../esm/overlay';
33
import {elem} from './index';
44

55
suite('Top-level attributes', function() {

fluent-dom/test/overlay_functional_children_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'assert';
2-
import translateElement from '../src/overlay';
2+
import translateElement from '../esm/overlay';
33
import {elem} from './index';
44

55
suite('Child without name', function() {

fluent-dom/test/overlay_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'assert';
2-
import translateElement from '../src/overlay';
2+
import translateElement from '../esm/overlay';
33
import {elem} from './index';
44

55
suite('Applying translations', function() {

fluent-dom/test/overlay_text_children_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'assert';
2-
import translateElement from '../src/overlay';
2+
import translateElement from '../esm/overlay';
33
import {elem} from './index';
44

55
suite('Text-semantic argument elements', function() {

fluent-dom/tsconfig.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"compilerOptions": {
3+
"target": "es2019",
4+
"module": "es2015",
5+
"strict": true,
6+
"allowJs": true,
7+
"esModuleInterop": true,
8+
"moduleResolution": "node",
9+
"noEmitHelpers": true,
10+
"declaration": true,
11+
"outDir": "./esm"
12+
},
13+
"include": [
14+
"./src/**/*"
15+
]
16+
}

0 commit comments

Comments
 (0)