Skip to content

Commit a9aea33

Browse files
authored
Merge pull request #2134 from ably/integration/objects-breaking-api
Introduce Path-based LiveObjects API - merge `integration/objects-breaking-api` into `main`
2 parents 194aed7 + fc9f7a3 commit a9aea33

60 files changed

Lines changed: 13535 additions & 7246 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ ably-js.iml
44
node_modules
55
npm-debug.log
66
.tool-versions
7+
liveobjects.d.mts
78
build/
89
react/
910
typedoc/generated/

Gruntfile.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ module.exports = function (grunt) {
7373
});
7474
});
7575

76-
grunt.registerTask('build', ['webpack:all', 'build:browser', 'build:node', 'build:push', 'build:objects']);
76+
grunt.registerTask('build', ['webpack:all', 'build:browser', 'build:node', 'build:push', 'build:liveobjects']);
7777

7878
grunt.registerTask('all', ['build', 'requirejs']);
7979

@@ -138,13 +138,14 @@ module.exports = function (grunt) {
138138
});
139139
});
140140

141-
grunt.registerTask('build:objects', function () {
141+
grunt.registerTask('build:liveobjects:bundle', function () {
142142
var done = this.async();
143143

144144
Promise.all([
145-
esbuild.build(esbuildConfig.objectsPluginConfig),
146-
esbuild.build(esbuildConfig.objectsPluginCdnConfig),
147-
esbuild.build(esbuildConfig.minifiedObjectsPluginCdnConfig),
145+
esbuild.build(esbuildConfig.liveObjectsPluginConfig),
146+
esbuild.build(esbuildConfig.liveObjectsPluginEsmConfig),
147+
esbuild.build(esbuildConfig.liveObjectsPluginCdnConfig),
148+
esbuild.build(esbuildConfig.minifiedLiveObjectsPluginCdnConfig),
148149
])
149150
.then(() => {
150151
done(true);
@@ -154,10 +155,23 @@ module.exports = function (grunt) {
154155
});
155156
});
156157

158+
grunt.registerTask(
159+
'build:liveobjects:types',
160+
'Generate liveobjects.d.mts from liveobjects.d.ts by adding .js extensions to relative imports',
161+
function () {
162+
const dtsContent = fs.readFileSync('liveobjects.d.ts', 'utf8');
163+
const mtsContent = dtsContent.replace(/from '(\.\/[^']+)'/g, "from '$1.js'");
164+
fs.writeFileSync('liveobjects.d.mts', mtsContent);
165+
grunt.log.ok('Generated liveobjects.d.mts from liveobjects.d.ts');
166+
},
167+
);
168+
169+
grunt.registerTask('build:liveobjects', ['build:liveobjects:bundle', 'build:liveobjects:types']);
170+
157171
grunt.registerTask('test:webserver', 'Launch the Mocha test web server on http://localhost:3000/', [
158172
'build:browser',
159173
'build:push',
160-
'build:objects',
174+
'build:liveobjects',
161175
'checkGitSubmodules',
162176
'mocha:webserver',
163177
]);

0 commit comments

Comments
 (0)